Support GENERATED ALWAYS identity columns
-----------------------------------------
Key: CORE-5463
URL: http://tracker.firebirdsql.org/browse/CORE-5463
Project: Firebird Core
Issue Type: New Feature
Components: Engine
Reporter: Adriano dos Santos Fernandes
Quoting SQL standard of INSERT command:
7) If the <insert column list> is omitted, then an <insert column list>
that identifies all columns of T in the
ascending sequence of their ordinal positions within T is implicit.
10) If <contextually typed table value constructor> CTTVC is specified, then
every <contextually typed row
value constructor element> simply contained in CTTVC whose positionally
corresponding <column name>
in <insert column list> references a column of which some underlying column is
a generated column shall
be a <default specification>.
11) Case:
b) If for some n, some underlying column of the column referenced by the
<column name> CN contained
in the n-th ordinal position in <insert column list> is an identity column,
system-time period start
column, or system-time period end column whose descriptor includes an
indication that values are
always generated, then
Case:
i) If <from subquery> is specified, then <override clause> shall be specified.
iii) If the n-th <contextually typed row value constructor element> simply
contained in any <contextually
typed row value constructor> simply contained in the <contextually typed table
value
constructor> is not a <default specification>, then <override clause> shall be
specified.
NOTE 516 — The preceding subrule does not cover all possibilities. The
remaining possibilities are where <default
specification> is specified for every identity column, or for a system-time
period start column or system-time period
end column, in which case it is immaterial whether <override clause> is
specified or not.
c) If for some n, some underlying column of the column referenced by the
<column name> CN contained
in the n-th ordinal position in <insert column list> is an identity column
whose descriptor includes an
indication that values are generated by default, then if <override clause> is
specified, then <override
clause> shall specify OVERRIDING USER VALUE.
e) Otherwise, <override clause> shall not be specified.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel