db-derby-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kmars...@apache.org
Subject svn commit: r154339 - in incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests: master/DerbyNetClient/netxaPositive.out suites/derbynetclientmats.runall tests/derbynet/copyfiles.ant tests/derbynet/netxaPositive.sql tests/derbynet/netxaPositive_app.properties tests/derbynet/netxaPositive_sed.properties
Date Fri, 18 Feb 2005 20:08:09 GMT
Author: kmarsden
Date: Fri Feb 18 12:08:07 2005
New Revision: 154339

URL: http://svn.apache.org/viewcvs?view=rev&rev=154339
Log:
Add test for derby network client


Added:
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/netxaPositive.out
  (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbynetclientmats.runall
  (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/netxaPositive.sql
  (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/netxaPositive_app.properties
  (with props)
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/netxaPositive_sed.properties
  (with props)
Modified:
    incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/copyfiles.ant

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/netxaPositive.out
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/netxaPositive.out?view=auto&rev=154339
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/netxaPositive.out
(added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/netxaPositive.out
Fri Feb 18 12:08:07 2005
@@ -0,0 +1,114 @@
+ij> xa_datasource 'wombat';
+ij> ---------------------------------------------
+----- a single connection and 1 phase commit
+-----
+xa_connect ;
+ij> xa_start xa_noflags 0;
+ij> xa_getconnection;
+ij(XA)> -- Global transactions can not have hold cursor over commit. And hence we need
to make sure the holdability is false for all jdks
+----- In jdk13 and lower, this Brokered Connection has its holdability false over commit
so we are fine. 
+----- In jdk14 and higher, this Brokered Connection has its holdability true over commit.
In order to set it to false, we have NoHoldForConnection 
+----- NoHoldForConnection uses setHoldability api on Connection to set the holdability to
false. But this api exists only for jdk14 and higher
+----- And that is why, in jkd13 master, we see an exception nosuchmethod 
+NoHoldForConnection;
+ij(XA)> drop table foo;
+ERROR 42Y55: 'DROP TABLE' cannot be performed on 'FOO' because it does not exist.
+ij(XA)> create table foo (a int);
+0 rows inserted/updated/deleted
+ij(XA)> insert into foo values (0);
+1 row inserted/updated/deleted
+ij(XA)> select * from foo;
+A          
+-----
+0          
+ij(XA)> run resource '/org/apache/derbyTesting/functionTests/tests/store/global_xactTable.view';
+ij(XA)> create view global_xactTable as
+select 
+    cast(global_xid as char(2)) as gxid,
+    status,
+    case when first_instant is NULL then 'NULL' else 'false' end as readOnly,
+    cast (username as char(10)) as username,
+    type 
+from new org.apache.derby.diag.TransactionTable() t;
+0 rows inserted/updated/deleted
+ij(XA)> select * from global_xactTable where gxid is not null order by gxid;
+GXID |STATUS |READ& |USERNAME |TYPE                          
+-----
+(0 |ACTIVE |false |APP |UserTransaction               
+ij(XA)> xa_end xa_success 0;
+ij(XA)> xa_commit xa_1phase 0;
+ij(XA)> xa_datasource 'wombat' shutdown;
+ERROR 08006: wombat08006.DDatabase 'wombat' shutdown.((server log XXX)
+ij(XA)> ---------------------------------------------
+----- two interleaving connections and prepare/commit prepare/rollback
+-----
+xa_datasource 'wombat';
+ij(XA)> xa_connect user 'sku' password 'testxa' ;
+ij(XA)> xa_start xa_noflags 1;
+ij(XA)> xa_getconnection;
+ij(XA)> -- Global transactions can not have hold cursor over commit. And hence we need
to make sure the holdability is false for all jdks
+----- In jdk13 and lower, this Brokered Connection has its holdability false over commit
so we are fine. 
+----- In jdk14 and higher, this Brokered Connection has its holdability true over commit.
In order to set it to false, we have NoHoldForConnection 
+----- NoHoldForConnection uses setHoldability api on Connection to set the holdability to
false. But this api exists only for jdk14 and higher
+----- And that is why, in jkd13 master, we see an exception nosuchmethod 
+NoHoldForConnection;
+ij(XA)> insert into APP.foo values (1);
+1 row inserted/updated/deleted
+ij(XA)> xa_end xa_suspend 1;
+ij(XA)> xa_start xa_noflags 2;
+ij(XA)> insert into APP.foo values (2);
+1 row inserted/updated/deleted
+ij(XA)> xa_end xa_suspend 2;
+ij(XA)> xa_start xa_resume 1;
+ij(XA)> insert into APP.foo values (3);
+1 row inserted/updated/deleted
+ij(XA)> xa_end xa_suspend 1;
+ij(XA)> xa_start xa_resume 2;
+ij(XA)> insert into APP.foo values (4);
+1 row inserted/updated/deleted
+ij(XA)> select * from APP.global_xactTable where gxid is not null order by gxid;
+GXID |STATUS |READ& |USERNAME |TYPE                          
+-----
+(1 |ACTIVE |false |SKU |UserTransaction               
+(2 |ACTIVE |false |SKU |UserTransaction               
+ij(XA)> xa_end xa_success 2;
+ij(XA)> xa_start xa_resume 1;
+ij(XA)> insert into APP.foo values(5);
+1 row inserted/updated/deleted
+ij(XA)> xa_end xa_success 1;
+ij(XA)> xa_prepare 1;
+ij(XA)> xa_prepare 2;
+ij(XA)> -- both transactions should be prepared
+select * from APP.global_xactTable where gxid is not null order by gxid;
+GXID |STATUS |READ& |USERNAME |TYPE                          
+-----
+(1 |PREPARED |false |SKU |UserTransaction               
+(2 |PREPARED |false |SKU |UserTransaction               
+ij(XA)> xa_recover xa_startrscan;
+Recovered 2 in doubt transactions
+Transaction 1 : {ClientXid: formatID(2), gtrid_length(6), bqual_length(6), data(776F6D62
6174776F 6D626174)}
+Transaction 2 : {ClientXid: formatID(1), gtrid_length(6), bqual_length(6), data(776F6D62
6174776F 6D626174)}
+ij(XA)> xa_recover xa_noflags;
+Recovered 0 in doubt transactions
+ij(XA)> xa_commit xa_2Phase 1;
+ij(XA)> xa_rollback 2;
+ij(XA)> -- check results
+xa_start xa_noflags 3;
+ij(XA)> select * from APP.global_xactTable where gxid is not null order by gxid;
+GXID |STATUS |READ& |USERNAME |TYPE                          
+-----
+(3 |IDLE |NULL |SKU |UserTransaction               
+ij(XA)> select * from APP.foo;
+A          
+-----
+0          
+1          
+3          
+5          
+ij(XA)> xa_end xa_success 3;
+ij(XA)> xa_prepare 3;
+ij(XA)> -- should fail with XA_NOTA because we prepared a read only transaction 
+xa_commit xa_1Phase 3;
+IJ ERROR: XAER_PROTO 
+ij(XA)> disconnect;
+ij> 

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/netxaPositive.out
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbynetclientmats.runall
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbynetclientmats.runall?view=auto&rev=154339
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbynetclientmats.runall
(added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbynetclientmats.runall
Fri Feb 18 12:08:07 2005
@@ -0,0 +1 @@
+derbynet/netxaPositive.sql

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/derbynetclientmats.runall
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/copyfiles.ant
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/copyfiles.ant?view=diff&r1=154338&r2=154339
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/copyfiles.ant
(original)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/copyfiles.ant
Fri Feb 18 12:08:07 2005
@@ -5,6 +5,9 @@
 dataSourcePermissions_net_sed.properties
 default_app.properties
 default_derby.properties
+netxaPositive.sql
+netxaPositive_app.properties
+netxaPositive_sed.properties
 runtimeinfo_sed.properties
 sysinfo_sed.properties
 testij.sql

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/netxaPositive.sql
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/netxaPositive.sql?view=auto&rev=154339
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/netxaPositive.sql
(added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/netxaPositive.sql
Fri Feb 18 12:08:07 2005
@@ -0,0 +1,84 @@
+
+xa_datasource 'wombat';
+
+---------------------------------------------
+-- a single connection and 1 phase commit
+---------------------------------------------
+xa_connect ;
+xa_start xa_noflags 0;
+xa_getconnection;
+-- Global transactions can not have hold cursor over commit. And hence we need to make sure
the holdability is false for all jdks
+-- In jdk13 and lower, this Brokered Connection has its holdability false over commit so
we are fine. 
+-- In jdk14 and higher, this Brokered Connection has its holdability true over commit. In
order to set it to false, we have NoHoldForConnection 
+-- NoHoldForConnection uses setHoldability api on Connection to set the holdability to false.
But this api exists only for jdk14 and higher
+-- And that is why, in jkd13 master, we see an exception nosuchmethod 
+NoHoldForConnection;
+drop table foo;
+create table foo (a int);
+insert into foo values (0);
+select * from foo;
+run resource '/org/apache/derbyTesting/functionTests/tests/store/global_xactTable.view';
+select * from global_xactTable where gxid is not null order by gxid;
+xa_end xa_success 0;
+xa_commit xa_1phase 0;
+
+xa_datasource 'wombat' shutdown;
+
+---------------------------------------------
+-- two interleaving connections and prepare/commit prepare/rollback
+---------------------------------------------
+xa_datasource 'wombat';
+xa_connect user 'sku' password 'testxa' ;
+
+xa_start xa_noflags 1;
+xa_getconnection;
+-- Global transactions can not have hold cursor over commit. And hence we need to make sure
the holdability is false for all jdks
+-- In jdk13 and lower, this Brokered Connection has its holdability false over commit so
we are fine. 
+-- In jdk14 and higher, this Brokered Connection has its holdability true over commit. In
order to set it to false, we have NoHoldForConnection 
+-- NoHoldForConnection uses setHoldability api on Connection to set the holdability to false.
But this api exists only for jdk14 and higher
+-- And that is why, in jkd13 master, we see an exception nosuchmethod 
+NoHoldForConnection;
+insert into APP.foo values (1);
+xa_end xa_suspend 1;
+
+xa_start xa_noflags 2;
+insert into APP.foo values (2);
+xa_end xa_suspend 2;
+
+xa_start xa_resume 1;
+insert into APP.foo values (3);
+xa_end xa_suspend 1;
+
+xa_start xa_resume 2;
+insert into APP.foo values (4);
+select * from APP.global_xactTable where gxid is not null order by gxid;
+xa_end xa_success 2;
+
+
+xa_start xa_resume 1;
+insert into APP.foo values(5);
+xa_end xa_success 1;
+xa_prepare 1;
+xa_prepare 2;
+
+-- both transactions should be prepared
+select * from APP.global_xactTable where gxid is not null order by gxid;
+
+xa_recover xa_startrscan;
+xa_recover xa_noflags;
+
+xa_commit xa_2Phase 1;
+xa_rollback 2;
+
+-- check results
+xa_start xa_noflags 3;
+select * from APP.global_xactTable where gxid is not null order by gxid;
+select * from APP.foo;
+xa_end xa_success 3;
+
+xa_prepare 3;
+
+-- should fail with XA_NOTA because we prepared a read only transaction 
+xa_commit xa_1Phase 3;
+disconnect;
+

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/netxaPositive.sql
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/netxaPositive_app.properties
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/netxaPositive_app.properties?view=auto&rev=154339
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/netxaPositive_app.properties
(added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/netxaPositive_app.properties
Fri Feb 18 12:08:07 2005
@@ -0,0 +1,6 @@
+ij.protocol=jdbc:derby:
+ij.database=jdbc:derby:wombat;create=true
+ij.showNoConnectionsAtStart=true
+ij.showNoCountForSelect=true
+#ij.exceptionTrace=true
+

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/netxaPositive_app.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/netxaPositive_sed.properties
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/netxaPositive_sed.properties?view=auto&rev=154339
==============================================================================
--- incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/netxaPositive_sed.properties
(added)
+++ incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/netxaPositive_sed.properties
Fri Feb 18 12:08:07 2005
@@ -0,0 +1,10 @@
+# Filters and substitutes for SED
+# Multiple patterns for DELETE: comma separated
+#   delete=pattern1,pattern2,...,patternn
+# No commas can be allowed in the patterns.
+#
+# Multiple patterns for SUBSTITUTE: comma separated <pattern;substitute> pair
+#   substitute=pattern1;substitute1,pattern2;substitute2,...,patternn;substituten
+# No commas or semicolons can be allowed in the patterns/subsitutes.
+delete=ERROR XJ001: Java exception: 'java.lang.NoSuchMethodException: '.,ERROR XJ001: Java
exception: 'java.lang.NoSuchMethodException: setHoldability'.
+substitute=(server log.*);(server log XXX)

Propchange: incubator/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/netxaPositive_sed.properties
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message