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 rh...@apache.org on 2014/05/19 19:52:31 UTC

svn commit: r1595977 - /db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/SequenceGeneratorTest.java

Author: rhillegas
Date: Mon May 19 17:52:31 2014
New Revision: 1595977

URL: http://svn.apache.org/r1595977
Log:
DERBY-6553: Adding test cases to verify that we can create trigger-invoking sequences: commit derby-6553-01-aa-verifyFix.diff.

Modified:
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/SequenceGeneratorTest.java

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/SequenceGeneratorTest.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/SequenceGeneratorTest.java?rev=1595977&r1=1595976&r2=1595977&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/SequenceGeneratorTest.java (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/SequenceGeneratorTest.java Mon May 19 17:52:31 2014
@@ -70,6 +70,7 @@ public class SequenceGeneratorTest  exte
     private static  final   String[]    LEGAL_USERS = { TEST_DBO, ALICE, RUTH  };
 
     private static  final   String      MISSING_ALLOCATOR = "X0Y85";
+    private static  final   String      DUPLICATE_SEQUENCE = "X0Y68";
 
     ///////////////////////////////////////////////////////////////////////////////////
     //
@@ -822,6 +823,38 @@ public class SequenceGeneratorTest  exte
         assertEquals( expectedValue, getScalarInteger( ps ) );
     }
     
+    /**
+     * <p>
+     * Verify that we don't get an internal error when creating a sequence-invoking trigger.
+     * See DERBY-6553.
+     * </p>
+     */
+    public void test_14_6553() throws Exception
+    {
+        Connection  dboConn = openUserConnection( TEST_DBO );
+
+        //
+        // The original DERBY-6553 test case.
+        //
+        goodStatement( dboConn, "create table t1_6553_1(x int, y int, z int)" );
+        goodStatement( dboConn, "create table t2_6553_1(x int, y int, z int)" );
+        goodStatement( dboConn, "create sequence seq_6553_1" );
+        goodStatement( dboConn, "values next value for seq_6553_1" );
+        goodStatement
+            ( dboConn, "create trigger tr1 after insert on t1_6553_1 insert into t2_6553_1(x) values (next value for seq_6553_1)" );
+
+        //
+        // The abbreviated test case.
+        //
+        dboConn.setAutoCommit( false );
+        goodStatement( dboConn, "create sequence seq_6553" );
+        dboConn.commit();
+        goodStatement( dboConn, "values next value for seq_6553" );
+        expectExecutionError( dboConn, DUPLICATE_SEQUENCE, "create sequence seq_6553" );
+        dboConn.rollback();
+        dboConn.setAutoCommit( true );
+    }
+    
     ///////////////////////////////////////////////////////////////////////////////////
     //
     // MINIONS