Re: [PROPOSAL] : Disallow use of empty column name in (column_name '') in ALTER or CREATE of foreign table.
Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
From: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Nishant Sharma <nishant.sharma@enterprisedb.com>,
pgsql-hackers@postgresql.org
Date: 2024-08-19T10:57:17Z
Lists: pgsql-hackers
On Fri, Aug 16, 2024 at 8:26 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: > > Nishant Sharma <nishant.sharma@enterprisedb.com> writes: > > Actual column names used while creation of foreign table are not allowed to > > be an > > empty string, but when we use column_name as an empty string in OPTIONS > > during > > CREATE or ALTER of foreign tables, it is allowed. > > Is this really a bug? The valid remote names are determined by > whatever underlies the FDW, and I doubt we should assume that > SQL syntax restrictions apply to every FDW. Perhaps it would > be reasonable to apply such checks locally in SQL-based FDWs, > but I object to assuming such things at the level of > ATExecAlterColumnGenericOptions. I agree. > > More generally, I don't see any meaningful difference between > this mistake and the more common one of misspelling the remote > column name, which is something we're not going to be able > to check for (at least not in anything like this way). If > you wanted to move the ease-of-use goalposts materially, > you should be looking for a way to do that. I think this check should be delegated to an FDW validator. -- Best Wishes, Ashutosh Bapat