IMHO, from a developers/users prospective I want to get atleast a NOTICE when they mismatch, and really preferably I want the query to fail because if I'm naming a column list then forget a value for it something is wrong...
Bruce Momjian wrote:
Tom Lane wrote:
Bruce Momjian <pgman@candle.pha.pa.us> writes:
In general I'm suspicious of rejecting cases we used to accept for
no good reason other than that it's not in the spec. There is a LOT
of Postgres behavior that's not in the spec.
TODO has:
o Disallow missing columns in INSERT ... VALUES, per ANSI
Where's the discussion that's the basis of that entry? I don't recall
any existing consensus on this (though maybe I forgot).
I assume someone (Peter?) looked it up and reported that our current
behavior was incorrect and not compliant. I didn't do the research in
whether it was compliant.
There are a fair number of things in the TODO list that you put there
because you liked 'em, but that doesn't mean everyone else agrees.
I certainly will not accept "once it's on the TODO list it cannot be
questioned"...
I put it there because I didn't think there was any question. If I was
wrong, I can add a question mark to it.
Do you want to argue we should continue allowing it? Also, what about
missing trailling columns in COPY?
If we continue allowing missing INSERT columns, I am not sure we can
claim it is an extension or whether the standard requires the query to
fail.