Sorry for the sequential mails. In the bleeding-edge version of pg_dump, when a conditionspecifying an index, for example, is described in an object filter file, the following message is output. However, there is a period at the end of the line. Shouldn't this be removed?
$ pg_dump --filter=/tmp/hoge.filter pg_dump: error: invalid format in filter read from "/tmp/hoge.filter" on line 1: include filter for "index" is not allowed. The attached patch includes modifications related to the calls to pg_log_filter_error(). regards. -- Kyotaro Horiguchi NTT Open Source Software Center
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 57c6836b88..ce50566c3a 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -18812,7 +18812,7 @@ read_dump_filters(const char *filename, DumpOptions *dopt) case FILTER_OBJECT_TYPE_TABLE_DATA: case FILTER_OBJECT_TYPE_TABLE_DATA_AND_CHILDREN: case FILTER_OBJECT_TYPE_TRIGGER: - pg_log_filter_error(&fstate, _("%s filter for \"%s\" is not allowed."), + pg_log_filter_error(&fstate, _("%s filter for \"%s\" is not allowed"), "include", filter_object_type_name(objtype)); exit_nicely(1); @@ -18851,7 +18851,7 @@ read_dump_filters(const char *filename, DumpOptions *dopt) case FILTER_OBJECT_TYPE_TRIGGER: case FILTER_OBJECT_TYPE_EXTENSION: case FILTER_OBJECT_TYPE_FOREIGN_DATA: - pg_log_filter_error(&fstate, _("%s filter for \"%s\" is not allowed."), + pg_log_filter_error(&fstate, _("%s filter for \"%s\" is not allowed"), "exclude", filter_object_type_name(objtype)); exit_nicely(1); diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c index 1b974cf7e8..92389353a4 100644 --- a/src/bin/pg_dump/pg_dumpall.c +++ b/src/bin/pg_dump/pg_dumpall.c @@ -1969,7 +1969,7 @@ read_dumpall_filters(const char *filename, SimpleStringList *pattern) { if (comtype == FILTER_COMMAND_TYPE_INCLUDE) { - pg_log_filter_error(&fstate, _("%s filter for \"%s\" is not allowed."), + pg_log_filter_error(&fstate, _("%s filter for \"%s\" is not allowed"), "include", filter_object_type_name(objtype)); exit_nicely(1); @@ -1989,7 +1989,7 @@ read_dumpall_filters(const char *filename, SimpleStringList *pattern) case FILTER_OBJECT_TYPE_SCHEMA: case FILTER_OBJECT_TYPE_TABLE: case FILTER_OBJECT_TYPE_TABLE_AND_CHILDREN: - pg_log_filter_error(&fstate, _("unsupported filter object.")); + pg_log_filter_error(&fstate, _("unsupported filter object")); exit_nicely(1); break; diff --git a/src/bin/pg_dump/pg_restore.c b/src/bin/pg_dump/pg_restore.c index 1459e02263..c3beacdec1 100644 --- a/src/bin/pg_dump/pg_restore.c +++ b/src/bin/pg_dump/pg_restore.c @@ -535,7 +535,7 @@ read_restore_filters(const char *filename, RestoreOptions *opts) case FILTER_OBJECT_TYPE_DATABASE: case FILTER_OBJECT_TYPE_EXTENSION: case FILTER_OBJECT_TYPE_FOREIGN_DATA: - pg_log_filter_error(&fstate, _("%s filter for \"%s\" is not allowed."), + pg_log_filter_error(&fstate, _("%s filter for \"%s\" is not allowed"), "include", filter_object_type_name(objtype)); exit_nicely(1); @@ -581,7 +581,7 @@ read_restore_filters(const char *filename, RestoreOptions *opts) case FILTER_OBJECT_TYPE_TABLE: case FILTER_OBJECT_TYPE_TABLE_AND_CHILDREN: case FILTER_OBJECT_TYPE_TRIGGER: - pg_log_filter_error(&fstate, _("%s filter for \"%s\" is not allowed."), + pg_log_filter_error(&fstate, _("%s filter for \"%s\" is not allowed"), "exclude", filter_object_type_name(objtype)); exit_nicely(1);