Allow a multi-row INSERT to specify DEFAULTs for a generated column.
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 22 Nov 2020 20:48:32 +0000 (15:48 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 22 Nov 2020 20:48:32 +0000 (15:48 -0500)
commit17958972fe3bb03454a4b53756b29d65dc285efa
tree07421734b1b170cc6229bac01cc3daf79792209c
parent9fe649ea295f00baf6d0f0c1f9b0cb1298f64fb9
Allow a multi-row INSERT to specify DEFAULTs for a generated column.

One can say "INSERT INTO tab(generated_col) VALUES (DEFAULT)" and not
draw an error.  But the equivalent case for a multi-row VALUES list
always threw an error, even if one properly said DEFAULT in each row.
Fix that.  While here, improve the test cases for nearby logic about
OVERRIDING SYSTEM/USER values.

Dean Rasheed

Discussion: https://postgr.es/m/9q0sgcr416t.fsf@gmx.us
src/backend/rewrite/rewriteHandler.c
src/test/regress/expected/generated.out
src/test/regress/expected/identity.out
src/test/regress/sql/generated.sql
src/test/regress/sql/identity.sql