Re: [PROPOSAL] : Disallow use of empty column name in (column_name '') in ALTER or CREATE of foreign table.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Nishant Sharma <nishant(dot)sharma(at)enterprisedb(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: [PROPOSAL] : Disallow use of empty column name in (column_name '') in ALTER or CREATE of foreign table.
Date: 2024-08-16 14:55:51
Message-ID: 743595.1723820151@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Nishant Sharma <nishant(dot)sharma(at)enterprisedb(dot)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.

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.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2024-08-16 15:26:58 Re: BUG #18348: Inconsistency with EXTRACT([field] from INTERVAL);
Previous Message Jelte Fennema-Nio 2024-08-16 14:54:44 Re: Add new protocol message to change GUCs for usage with future protocol-only GUCs