pgsql: Access pg_dump's options structs through Archive struct, not dir
От | Tom Lane |
---|---|
Тема | pgsql: Access pg_dump's options structs through Archive struct, not dir |
Дата | |
Msg-id | E1aJUE7-0005Ar-TU@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Access pg_dump's options structs through Archive struct, not directly. Rather than passing around DumpOptions and RestoreOptions as separate arguments, add fields to struct Archive to carry pointers to these objects, and access them through those fields when needed. There already was a RestoreOptions pointer in Archive, though for no obvious reason it was part of the "private" struct rather than out where pg_dump.c could see it. Doing this allows reversion of quite a lot of parameter-addition changes made in commit 0eea8047bf, which is a good thing IMO because this will reduce the code delta between 9.4 and 9.5, probably easing a few future back-patch efforts. Moreover, the previous commit only added a DumpOptions argument to functions that had to have it at the time, which means we could anticipate still more code churn (and more back-patch hazard) as the requirement spread further. I'd hit exactly that problem in my upcoming patch to fix extension membership marking, which is what motivated me to do this. Branch ------ REL9_5_STABLE Details ------- http://git.postgresql.org/pg/commitdiff/6adba13e42a34750ef2f88ec0780db8416d8bf2e Modified Files -------------- src/bin/pg_dump/common.c | 20 +- src/bin/pg_dump/parallel.c | 30 +- src/bin/pg_dump/parallel.h | 4 +- src/bin/pg_dump/pg_backup.h | 75 ++--- src/bin/pg_dump/pg_backup_archiver.c | 125 ++++---- src/bin/pg_dump/pg_backup_archiver.h | 13 +- src/bin/pg_dump/pg_backup_custom.c | 12 +- src/bin/pg_dump/pg_backup_directory.c | 32 +-- src/bin/pg_dump/pg_backup_null.c | 16 +- src/bin/pg_dump/pg_backup_tar.c | 34 ++- src/bin/pg_dump/pg_dump.c | 502 ++++++++++++++++++--------------- src/bin/pg_dump/pg_dump.h | 18 +- src/bin/pg_dump/pg_restore.c | 10 +- 13 files changed, 486 insertions(+), 405 deletions(-)
В списке pgsql-committers по дате отправления: