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

Reply via email to