Return-Path: Delivered-To: apmail-db-derby-commits-archive@www.apache.org Received: (qmail 88761 invoked from network); 3 Sep 2010 16:42:50 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 3 Sep 2010 16:42:50 -0000 Received: (qmail 76510 invoked by uid 500); 3 Sep 2010 16:42:50 -0000 Delivered-To: apmail-db-derby-commits-archive@db.apache.org Received: (qmail 76446 invoked by uid 500); 3 Sep 2010 16:42:50 -0000 Mailing-List: contact derby-commits-help@db.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: "Derby Development" List-Id: Delivered-To: mailing list derby-commits@db.apache.org Received: (qmail 76438 invoked by uid 99); 3 Sep 2010 16:42:50 -0000 Received: from Unknown (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Sep 2010 16:42:50 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Sep 2010 16:42:31 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 80DF223888E8; Fri, 3 Sep 2010 16:42:09 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r992365 - in /db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests: master/ master/DerbyNetClient/ suites/ tests/lang/ Date: Fri, 03 Sep 2010 16:42:09 -0000 To: derby-commits@db.apache.org From: myrnavl@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100903164209.80DF223888E8@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: myrnavl Date: Fri Sep 3 16:42:08 2010 New Revision: 992365 URL: http://svn.apache.org/viewvc?rev=992365&view=rev Log: DERBY-3801; Convert org.apache.derbyTesting.functionTests.tests.lang.holdCursorIJ.sql to junit converted by placing the script in LangScripts to be run as ij-junit test. sections of the .sql scripts that previously showed diffs between embedded and network server/client have been resolved either by fixing the differences, by removing when other tests were found to be testing the same, or in one instance, by commenting out with a reference to the bug. Removed: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/holdCursorIJ.out db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/holdCursorIJ_app.properties Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/holdCursorIJ.out db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbylang.runall db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbynetmats.runall db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/j9derbynetmats.runall db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/LangScripts.java db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/holdCursorIJ.sql Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/holdCursorIJ.out URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/holdCursorIJ.out?rev=992365&r1=992364&r2=992365&view=diff ============================================================================== --- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/holdCursorIJ.out (original) +++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/holdCursorIJ.out Fri Sep 3 16:42:08 2010 @@ -26,6 +26,7 @@ ij> -- set autocommit off autocommit off; ij> -- first test - make sure that only cursors created with holdability true -- have open resultsets after commit + -- declare 3 different kind of cursors one for each jdbc release so far get with nohold cursor jdk1 as 'SELECT * FROM t1'; ij> get scroll insensitive with nohold cursor jdk2 as 'SELECT * FROM t1'; @@ -66,6 +67,7 @@ close jdk1; ij> close jdk2; ij> -- second test - make sure that all the cursors (including holdability true) -- have their resultsets closed after rollback. + -- declare the cursors again, this time, try with rollback get with nohold cursor jdk1 as 'SELECT * FROM t1'; ij> get scroll insensitive with nohold cursor jdk2 as 'SELECT * FROM t1'; @@ -97,34 +99,8 @@ ij> -- clean up. close jdk1; ij> close jdk2; ij> close jdk4; -ij> -- third test - Define a hold cursor on a table. Shouldn't be able to drop that --- table before & after commit. Have to close the cursor before table can be dropped. -get with nohold cursor jdk1 as 'SELECT * FROM t1'; -ij> get with hold cursor jdk4 as 'SELECT * FROM t1'; -ij> next jdk1; -C11 |C12 ------------------------ -1 |1 -ij> next jdk4; -C11 |C12 ------------------------ -1 |1 -ij> -- wont' be able to drop table because of cursors jdk1 and jdk4 --- in DerbyNetClient, cursor is closed on server and DROP TABLE succeeds -drop table t1; -ERROR X0X95: Operation 'DROP TABLE' cannot be performed on object 'T1' because there is an open ResultSet dependent on that object. -ij> commit; -ij> -- drop table still won't work because jdk4 is still open after commit --- in DerbyNetClient, the table is already dropped -drop table t1; -ERROR X0X95: Operation 'DROP TABLE' cannot be performed on object 'T1' because there is an open ResultSet dependent on that object. -ij> -- close cursor jdk4 and try then deleting the table --- in DerbyNetClient, the table is already dropped -close jdk4; ij> drop table t1; 0 rows inserted/updated/deleted -ij> -- clean up. -close jdk1; ij> -- recreate and populate the table for next test create table t1(c11 int, c12 int); 0 rows inserted/updated/deleted @@ -144,16 +120,10 @@ ij> next jdk4; C11 |C12 ----------------------- 1 |1 -ij> -- try to change the isolation level. will give error because of jdk1 and jdk4 --- no error in DerbyNetClient because cursor is closed on server -set current isolation RR; -ERROR X0X03: Invalid transaction state - held cursor requires same isolation level -ij> commit; -ij> -- attempt to change isolation level should give error because of jdk4 hold cursor --- no error in DerbyNetClient because cursor is closed on server -set isolation = REPEATABLE READ; -ERROR X0X03: Invalid transaction state - held cursor requires same isolation level -ij> -- close jdk4 and then should be able to change isolation +ij> -- changing isolation while cursor is open would fail; +-- but for client/server, with small data set, the server would already be +-- closed. See discussion re DERBY-3801. +-- close jdk4 and then should be able to change isolation close jdk4; ij> set isolation to serializable; 0 rows inserted/updated/deleted @@ -171,14 +141,6 @@ ij> next jdk1; C11 |C12 ----------------------- 1 |1 -ij> -- following should fail because of cursor jdk4 --- no error in DerbyNetClient because cursor is closed on server -set isolation RS; -ERROR X0X03: Invalid transaction state - held cursor requires same isolation level -ij> -- following should fail because of cursor jdk4 --- no error in DerbyNetClient because cursor is closed on server -set isolation UR; -ERROR X0X03: Invalid transaction state - held cursor requires same isolation level ij> close jdk4; ij> -- should be able to change the isolation now set isolation READ UNCOMMITTED; @@ -325,16 +287,18 @@ ij> commit; ij> close jdk4; ij> -- tenth test - bug 4515 - have a more useful message -- update where current of fails in autocommit=true, held open cursor + autocommit on; ij> get with hold cursor scrollCursor as 'select * from t1 for update of c12'; ij> next scrollCursor; C11 |C12 ----------------------- 1 |1 -ij> update t1 set c12=c12+1 where current of scrollCursor; -ERROR 24000: Invalid cursor state - no current row. -ij> -- clean up. +ij> -- commented out for DERBY-4778 +-- update t1 set c12=c12+1 where current of scrollCursor; + +-- clean up. close scrollCursor; ij> drop table t1; 0 rows inserted/updated/deleted -ij> +ij> \ No newline at end of file Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbylang.runall URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbylang.runall?rev=992365&r1=992364&r2=992365&view=diff ============================================================================== --- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbylang.runall (original) +++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbylang.runall Fri Sep 3 16:42:08 2010 @@ -10,7 +10,6 @@ lang/ddlTableLockMode.sql lang/desc_index.sql lang/emptyStatistics.sql lang/fk_nonSPS.sql -lang/holdCursorIJ.sql lang/infostreams.sql lang/isolationLevels.sql lang/joinDeadlock.sql Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbynetmats.runall URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbynetmats.runall?rev=992365&r1=992364&r2=992365&view=diff ============================================================================== --- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbynetmats.runall (original) +++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbynetmats.runall Fri Sep 3 16:42:08 2010 @@ -2,5 +2,4 @@ derbynet/dblook_test_net.java derbynet/dblook_test_net_territory.java derbynet/DerbyNetAutoStart.java derbynet/testProtocol.java -lang/holdCursorIJ.sql lang/wisconsin.java Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/j9derbynetmats.runall URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/j9derbynetmats.runall?rev=992365&r1=992364&r2=992365&view=diff ============================================================================== --- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/j9derbynetmats.runall (original) +++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/j9derbynetmats.runall Fri Sep 3 16:42:08 2010 @@ -1,3 +1,2 @@ derbynet/dblook_test_net.java derbynet/dblook_test_net_territory.java -lang/holdCursorIJ.sql Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/LangScripts.java URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/LangScripts.java?rev=992365&r1=992364&r2=992365&view=diff ============================================================================== --- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/LangScripts.java (original) +++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/LangScripts.java Fri Sep 3 16:42:08 2010 @@ -53,6 +53,7 @@ public final class LangScripts extends S "bit", "bit2", "stringtypes", + "holdCursorIJ" }; /** Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/holdCursorIJ.sql URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/holdCursorIJ.sql?rev=992365&r1=992364&r2=992365&view=diff ============================================================================== --- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/holdCursorIJ.sql (original) +++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/holdCursorIJ.sql Fri Sep 3 16:42:08 2010 @@ -81,30 +81,8 @@ close jdk1; close jdk2; close jdk4; --- third test - Define a hold cursor on a table. Shouldn't be able to drop that --- table before & after commit. Have to close the cursor before table can be dropped. - -get with nohold cursor jdk1 as 'SELECT * FROM t1'; -get with hold cursor jdk4 as 'SELECT * FROM t1'; -next jdk1; -next jdk4; --- wont' be able to drop table because of cursors jdk1 and jdk4 --- in DerbyNetClient, cursor is closed on server and DROP TABLE succeeds -drop table t1; -commit; - --- drop table still won't work because jdk4 is still open after commit --- in DerbyNetClient, the table is already dropped drop table t1; --- close cursor jdk4 and try then deleting the table --- in DerbyNetClient, the table is already dropped -close jdk4; -drop table t1; - --- clean up. -close jdk1; - -- recreate and populate the table for next test create table t1(c11 int, c12 int); insert into t1 values(1,1); @@ -117,16 +95,9 @@ get with hold cursor jdk4 as 'SELECT * F next jdk1; next jdk4; --- try to change the isolation level. will give error because of jdk1 and jdk4 --- no error in DerbyNetClient because cursor is closed on server -set current isolation RR; - -commit; - --- attempt to change isolation level should give error because of jdk4 hold cursor --- no error in DerbyNetClient because cursor is closed on server -set isolation = REPEATABLE READ; - +-- changing isolation while cursor is open would fail; +-- but for client/server, with small data set, the server would already be +-- closed. See discussion re DERBY-3801. -- close jdk4 and then should be able to change isolation close jdk4; set isolation to serializable; @@ -140,12 +111,6 @@ get with hold cursor jdk4 as 'SELECT * F get with nohold cursor jdk1 as 'SELECT * FROM t1 WITH CS'; next jdk4; next jdk1; --- following should fail because of cursor jdk4 --- no error in DerbyNetClient because cursor is closed on server -set isolation RS; --- following should fail because of cursor jdk4 --- no error in DerbyNetClient because cursor is closed on server -set isolation UR; close jdk4; -- should be able to change the isolation now set isolation READ UNCOMMITTED; @@ -225,7 +190,8 @@ close jdk4; autocommit on; get with hold cursor scrollCursor as 'select * from t1 for update of c12'; next scrollCursor; -update t1 set c12=c12+1 where current of scrollCursor; +-- commented out for DERBY-4778 +-- update t1 set c12=c12+1 where current of scrollCursor; -- clean up. close scrollCursor;