[ 
https://issues.apache.org/jira/browse/DERBY-6962?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16169126#comment-16169126
 ] 

Bryan Pendleton commented on DERBY-6962:
----------------------------------------

Thanks Rick!

The only tiny, tiny nit I see is that the title of this JIRA issue says 
"pre-10.12 databases", but it seems like the actual behavior is such that the 
JIRA issue should be edited to read "pre-10.11 databases".

The actual patch itself looks great.

> Forbid ALTER TABLE ... SET CYCLE on identity columns in pre-10.12 databases
> ---------------------------------------------------------------------------
>
>                 Key: DERBY-6962
>                 URL: https://issues.apache.org/jira/browse/DERBY-6962
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.14.0.0
>            Reporter: Rick Hillegas
>            Assignee: Rick Hillegas
>             Fix For: 10.14.0.0
>
>         Attachments: derby-6962-01-aa-forbidSetCycleOn10_10.diff
>
>
> The
>   ALTER TABLE ALTER COLUMN $columnName SET CYCLE
> command does not raise an error even on identity columns in pre-10.12 
> databases. Those identity columns are not backed by sequence generators. 
> Afterwards, the columns do not cycle, even though the ALTER TABLE command 
> appeared to run successfully. This should be easy to fix. The parser just 
> needs to forbid the ALTER TABLE...SET CYCLE command in pre-10.12 databases. 
> The following scripts show this behavior:
> {noformat}
> -- run the following script with version 10.10.1.1:
> connect 'jdbc:derby:db;create=true';
> create table t1(a int generated always as identity (start with 2147483646), b 
> int);
> insert into t1(b) values (1);
> insert into t1(b) values (2);
> -- fails as expected
> insert into t1(b) values (3);
> select * from t1 order by b;
> create table t2(a int generated always as identity (start with 2147483646), b 
> int);
> -- now run the following script with 10.14
> connect 'jdbc:derby:db';
> -- succeeds but should not
> alter table t2 alter column a set cycle;
> insert into t2(b) values (1);
> insert into t2(b) values (2);
> -- fails because the cycling behavior did not change
> insert into t2(b) values (3);
> select * from t2 order by b;
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to