Hi Suran,
Thanks for tackling this work. Some comments inline...
Suran Jayathilaka wrote:
Hi Rick,
I've added the changes for the bind part of the optional clauses in
Sequence creation. The argument values now get saved in the catalog
table.
In CreateSequenceNode's bindStatement() method, what kind of
constraints should be enforced on the optional arguments, datatype in
particular?
I think there is a fairly complete set of constraints in the functional
spec attached to DERBY-712. Look for the section titled "New CREATE
SEQUENCE Syntax". Let me know if that doesn't seem complete enough and I
will dive into the SQL Standard for more guidance. Concerning the
datatype, the parser should have limited the datatype to just the
integer types supported by Derby, so you shouldn't have to verify the
datatype--of course, this deserves a regression test!
And for the start value option, if neither that nor min value is
specified, would the default be "1" or the min value of the sequence's
data type?
According to the constraints in the functional spec, the default initial
value is MINVALUE if INCREMENT is positive and MAXVALUE if INCREMENT is
negative. If MINVALUE is not specified, it defaults to the smallest
(most negative) integer which fits in the data type of the sequence
generator. Similarly, if MAXVALUE is not specified, it defaults to the
largest positive integer which fits in the data type.
Also, in DBMSNodes.properties, I noticed that there are 2 values for
the property key "derby.module.cloudscapenodes.ci
<http://derby.module.cloudscapenodes.ci>".
I see that CastNode and CoalesceFunctionNode share this key. This looks
like a mistake to me.
Thanks,
-Rick
Thanks!
Suran