pg_dump: Fix incorrect parsing of object types in pg_dump --filter. Previously, pg_dump --filter could misinterpret invalid object types in the filter file as valid ones. For example, the invalid object type "table-data" (likely a typo for the valid "table_data") could be mistakenly recognized as "table", causing pg_dump to succeed when it should have failed.
This happened because pg_dump identified keywords as sequences of ASCII alphabetic characters, treating non-alphabetic characters (like hyphens) as keyword boundaries. As a result, "table-data" was parsed as "table". To fix this, pg_dump --filter now treats keywords as strings of non-whitespace characters, ensuring invalid types like "table-data" are correctly rejected. Back-patch to v17, where the --filter option was introduced. Author: Fujii Masao <masao.fu...@gmail.com> Reviewed-by: Xuneng Zhou <xunengz...@gmail.com> Reviewed-by: Srinath Reddy <srinath2...@gmail.com> Reviewed-by: Daniel Gustafsson <dan...@yesql.se> Discussion: https://postgr.es/m/cahgqgwfzpkuwiv5c-nlbqz1ok1+z9k8cgrf+lcxfem-p3_f...@mail.gmail.com Backpatch-through: 17 Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/85ccd7e30a6dd378e025a918916f7b1d72004001 Modified Files -------------- src/bin/pg_dump/filter.c | 13 ++++++++----- src/bin/pg_dump/t/005_pg_dump_filterfile.pl | 14 ++++++++++---- 2 files changed, 18 insertions(+), 9 deletions(-)