tighten generic_option_name, or store more carefully in catalog?
Chapman Flack <jcflack@acm.org>
From: Chapman Flack <jcflack@acm.org>
To: PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2025-05-23T21:40:00Z
Lists: pgsql-hackers
Hi,
generic_option_name is a ColLabel, therefore a fully general SQL identifier.
But a command like CREATE FOREIGN DATA WRAPPER w ... OPTIONS ("a=b" 'c=d')
stores {a=b=c=d} in fdwoptions, from which the original intent can't be
recovered.
Should generic_option_name be restricted to be a regular identifier,
or allowed to be a delimited identifier but with = forbidden within it,
or should it be represented as delimited in the catalog when necessary
so it can be recovered faithfully?
SQL rules would also make its case-sensitivity dependent on faithfully
recovering whether it was delimited or not.
Regards,
-Chap
Commits
-
Disallow "=" in names of reloptions and foreign-data options.
- eb423464753f 14.19 landed
- cd31eaaebc40 13.22 landed
- e76097124f7d 15.14 landed
- d4046125dd7d 17.6 landed
- ab758ec4d307 16.10 landed
- aa87f69c009a 18.0 landed