Re: Why forbid "INSERT INTO t () VALUES ();" - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Why forbid "INSERT INTO t () VALUES ();"
Date
Msg-id 2230044.1593028441@sss.pgh.pa.us
Whole thread Raw
In response to Re: Why forbid "INSERT INTO t () VALUES ();"  (Fabien COELHO <coelho@cri.ensmp.fr>)
Responses Re: Why forbid "INSERT INTO t () VALUES ();"
Re: Why forbid "INSERT INTO t () VALUES ();"
List pgsql-hackers
Fabien COELHO <coelho@cri.ensmp.fr> writes:
>>>   INSERT INTO t() VALUES ();

> I'm still unclear why it would be forbidden though, it seems logical to 
> try that, whereas the working one is quite away from the usual syntax.

It's forbidden because the SQL standard forbids it.

We allow zero-column syntaxes in some other places where SQL forbids
them, but that's only because there is no reasonable alternative.
In this case, there's a perfectly good, standards-compliant alternative.
So why encourage people to write unportable code?

            regards, tom lane



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: SIGSEGV from START_REPLICATION 0/XXXXXXX in XLogSendPhysical ()at walsender.c:2762
Next
From: Peter Geoghegan
Date:
Subject: Re: xid wraparound danger due to INDEX_CLEANUP false