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

Knut Anders Hatlen commented on DERBY-4013:
-------------------------------------------

I'm fine with the suggested approach. If someone thinks it's important that we 
distinguish between the no default case and the NULL default case, that could 
be fixed later, but for now this looks like a fine incremental improvement to 
me.

Two tiny nits:
  - there's a pure whitespace diff right above dropTableConstraintDefinition() 
in sqlgrammar.jj
  - the javadoc comment for wrapAlterColumnDefaultValue() just says "Minion", 
which is not very descriptive (but it's great that this common code was 
factored out!)

> Allow standard SQL syntax: ALTER TABLE ALTER [COLUMN] <col> SET DEFAULT 
> <default>
> ---------------------------------------------------------------------------------
>
>                 Key: DERBY-4013
>                 URL: https://issues.apache.org/jira/browse/DERBY-4013
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL
>    Affects Versions: 10.0.2.0, 10.0.2.1, 10.1.1.0, 10.1.2.1, 10.1.3.1, 
> 10.2.1.6, 10.2.2.0, 10.3.1.4, 10.3.2.1, 10.3.3.0, 10.4.1.3, 10.4.2.0
>            Reporter: Dag H. Wanvik
>            Assignee: Dag H. Wanvik
>            Priority: Minor
>             Fix For: 10.5.0.0
>
>         Attachments: derby-4013.diff, derby-4013.stat, derby-4013b.diff, 
> derby-4013b.stat, derby-4013c.diff, derby-4013c.stat
>
>
> Presently, the Derby syntax is ALTER TABLE ALTER [COLUMN] <col> [WITH] 
> DEFAULT <default>.
> The "SET" keyword is not accepted, only an optional "WITH". It would be good 
> to accept the standard syntax here as well.
> Cf. SQL 2003, section 11.12 <alter column definition> and section 11.13 <set 
> column default clause>.
> Also, DROP DEFAULT is standard syntax not supported, so we should add that, 
> too.
> Repro on trunk:
> $ java org.apache.derby.tools.ij
> ij version 10.5
> ij> connect 'jdbc:derby:wombat;create=true';
> ij> create table t(i int default 0, j int);
> 0 rows inserted/updated/deleted
> ij> alter table t alter column j with default 1;
> 0 rows inserted/updated/deleted
> ij> insert into t values (default, default);
> 1 row inserted/updated/deleted
> ij> select * from t;
> I          |J          
> -----------------------
> 0          |1          
> 1 row selected
> ij> alter table t alter column j default 2;
> 0 rows inserted/updated/deleted
> ij> insert into t values (default, default);
> 1 row inserted/updated/deleted
> ij> select * from t;
> I          |J          
> -----------------------
> 0          |1          
> 0          |2          
> 2 rows selected
> ij> alter table t alter column j set default 3;
> ERROR 42X01: Syntax error: Encountered "set" at line 1, column 30.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to