You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by bp...@apache.org on 2006/09/06 03:00:35 UTC
svn commit: r440550 - in
/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests:
master/altertable.out tests/lang/altertable.sql
Author: bpendleton
Date: Tue Sep 5 18:00:35 2006
New Revision: 440550
URL: http://svn.apache.org/viewvc?view=rev&rev=440550
Log:
DERBY-1491: Provide ALTER TABLE functionality to change a column's default value
This change contains new test cases in the altertable.sql test which explore
the behavior of the ALTER TABLE ALTER COLUMN statement to alter a column's
defaults. Note that this patch only includes new tests; the current product
already supports the functionality to change a column's default value. The
code to support this was a side effect of the DERBY-119 changes, which wired up
the already-existing parser routines to the new ALTER TABLE t ALTER COLUMN c
statement.
Modified:
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/altertable.out
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/altertable.sql
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/altertable.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/altertable.out?view=diff&rev=440550&r1=440549&r2=440550
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/altertable.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/altertable.out Tue Sep 5 18:00:35 2006
@@ -927,4 +927,35 @@
0 rows inserted/updated/deleted
ij> alter table atmcn_5 alter column b null;
ERROR 42Z20: Column 'B' cannot be made nullable. It is part of a primary key or unique constraint, which cannot have any nullable columns.
+ij> -- tests for ALTER TABLE ALTER COLUMN DEFAULT
+create table atmod_1 (a integer, b varchar(10));
+0 rows inserted/updated/deleted
+ij> insert into atmod_1 values (1, 'one');
+1 row inserted/updated/deleted
+ij> alter table atmod_1 alter column a default -1;
+0 rows inserted/updated/deleted
+ij> insert into atmod_1 values (default, 'minus one');
+1 row inserted/updated/deleted
+ij> insert into atmod_1 (b) values ('b');
+1 row inserted/updated/deleted
+ij> select * from atmod_1;
+A |B
+----------------------
+1 |one
+-1 |minus one
+-1 |b
+ij> alter table atmod_1 alter a default 42;
+0 rows inserted/updated/deleted
+ij> insert into atmod_1 values(3, 'three');
+1 row inserted/updated/deleted
+ij> insert into atmod_1 values (default, 'forty two');
+1 row inserted/updated/deleted
+ij> select * from atmod_1;
+A |B
+----------------------
+1 |one
+-1 |minus one
+-1 |b
+3 |three
+42 |forty two
ij>
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/altertable.sql
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/altertable.sql?view=diff&rev=440550&r1=440549&r2=440550
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/altertable.sql (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/altertable.sql Tue Sep 5 18:00:35 2006
@@ -581,3 +581,16 @@
-- show that a column which has a UNIQUE constraint cannot be modified NULL:
create table atmcn_5 (a integer not null, b integer not null unique);
alter table atmcn_5 alter column b null;
+
+-- tests for ALTER TABLE ALTER COLUMN DEFAULT
+create table atmod_1 (a integer, b varchar(10));
+insert into atmod_1 values (1, 'one');
+alter table atmod_1 alter column a default -1;
+insert into atmod_1 values (default, 'minus one');
+insert into atmod_1 (b) values ('b');
+select * from atmod_1;
+alter table atmod_1 alter a default 42;
+insert into atmod_1 values(3, 'three');
+insert into atmod_1 values (default, 'forty two');
+select * from atmod_1;
+