aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Mount <peter@retep.org.uk>2001-03-06 12:04:46 +0000
committerPeter Mount <peter@retep.org.uk>2001-03-06 12:04:46 +0000
commitb562c62b5d07ff2c1586bcbd4e6c1629ae6b23aa (patch)
tree656815d158f79cef3dfb5ac61a1a34cb70dbed1d /src
parent3df52c0c2ae6391076032e9e664844d39b0b7f17 (diff)
downloadpostgresql-b562c62b5d07ff2c1586bcbd4e6c1629ae6b23aa.tar.gz
postgresql-b562c62b5d07ff2c1586bcbd4e6c1629ae6b23aa.zip
Tue Mar 06 12:05:00 GMT 2001 peter@retep.org.uk
- Removed org.postgresql.xa.Test from the JDBC EE driver as it's an old test class and prevented it from compiling.
Diffstat (limited to 'src')
-rw-r--r--src/interfaces/jdbc/CHANGELOG4
-rw-r--r--src/interfaces/jdbc/org/postgresql/xa/Test.java377
2 files changed, 4 insertions, 377 deletions
diff --git a/src/interfaces/jdbc/CHANGELOG b/src/interfaces/jdbc/CHANGELOG
index 3614bd511b5..863f8360ba9 100644
--- a/src/interfaces/jdbc/CHANGELOG
+++ b/src/interfaces/jdbc/CHANGELOG
@@ -1,3 +1,7 @@
+Tue Mar 06 12:05:00 GMT 2001 peter@retep.org.uk
+ - Removed org.postgresql.xa.Test from the JDBC EE driver as it's an old
+ test class and prevented it from compiling.
+
Fri Mar 02 10:00:00 GMT 2001 peter@retep.org.uk
- Fixed build.xml so that PGclob is not built in the JDBC1.2 driver
diff --git a/src/interfaces/jdbc/org/postgresql/xa/Test.java b/src/interfaces/jdbc/org/postgresql/xa/Test.java
deleted file mode 100644
index 193f0b18ae5..00000000000
--- a/src/interfaces/jdbc/org/postgresql/xa/Test.java
+++ /dev/null
@@ -1,377 +0,0 @@
-package org.postgresql.xa;
-
-
-import java.sql.*;
-import javax.sql.*;
-import javax.transaction.xa.*;
-
-
-public class Test
-{
-
-
- public static void main( String args[] )
- {
- XADataSource xaDS;
- java.io.PrintWriter log;
-
- log = new java.io.PrintWriter( System.out );
- try {
-
- xaDS = new XADataSource();
- xaDS.setDatabaseName( "test" );
- xaDS.setUser( "arkin" );
- xaDS.setPassword( "natasha" );
- xaDS.setLogWriter( log );
-
- Thread1 thread1;
-
- thread1 = new Thread1();
- thread1.xaConn = xaDS.getXAConnection();
- thread1.xid1 = new XidImpl();
-
- Thread2 thread2;
-
- thread2 = new Thread2();
- thread1.thread2 = thread2;
- thread2.thread1 = thread1;
- thread2.xaConn = xaDS.getXAConnection();
- thread2.xid1 = thread1.xid1;
- thread2.xid2 = new XidImpl();
-
- thread1.start();
- thread2.start();
-
- } catch ( Exception except ) {
- System.out.println( except );
- except.printStackTrace();
- }
- log.flush();
- }
-
-
-}
-
-
-class Thread1
- extends Thread
-{
-
-
- public void run()
- {
- Connection conn;
- XAResource xaRes;
- Statement stmt;
- ResultSet rs;
-
- try {
- conn = xaConn.getConnection();
- xaRes = xaConn.getXAResource();
- } catch ( Exception except ) {
- System.out.println( except );
- return;
- }
- // Initially the table should have no value.
- try {
- stmt = conn.createStatement();
- stmt.executeUpdate( "update test set text='nothing' where id=1" );
- stmt.close();
- } catch ( SQLException except ) {
- System.out.println( except );
- }
-
-
- // Begin a transaction on this connection.
- // Perform an update on the table.
- System.out.println( "[Thread1] Starting transaction" );
- try {
- xaRes.start( xid1, XAResource.TMNOFLAGS );
- } catch ( XAException except ) {
- System.out.println( except );
- return;
- }
- System.out.println( "[Thread1] Updating table" );
- try {
- stmt = conn.createStatement();
- stmt.executeUpdate( "update test set text='first' where id=1" );
- stmt.close();
- } catch ( SQLException except ) {
- System.out.println( except );
- }
-
-
- // Thread2 will start a new transction and attempt
- // to perform an update on the table and will lock.
- System.out.println( "[Thread1] Waking up Thread2" );
- thread2.interrupt();
- try {
- sleep( Integer.MAX_VALUE );
- } catch ( InterruptedException except ) { }
-
-
- // Perform a select from the table just to prove
- // that Thread2 failed in its update.
- System.out.println( "[Thread1] Selecting from table" );
- try {
- stmt = conn.createStatement();
- rs = stmt.executeQuery( "select text from test where id=1" );
- rs.next();
- System.out.println( "First = " + rs.getString( 1 ) );
- rs.close();
- stmt.close();
- } catch ( SQLException except ) {
- System.out.println( except );
- }
-
-
- // Thread2 will now attempt to join our transaction
- // and perform an update on the table.
- System.out.println( "[Thread1] Waking up Thread2" );
- thread2.interrupt();
- try {
- sleep( Integer.MAX_VALUE );
- } catch ( InterruptedException except ) { }
-
-
- // Perform a select from the table to prove that
- // Thread2 managed to update it.
- System.out.println( "[Thread1] Selecting from table" );
- try {
- stmt = conn.createStatement();
- rs = stmt.executeQuery( "select text from test where id=1" );
- rs.next();
- System.out.println( "First = " + rs.getString( 1 ) );
- rs.close();
- stmt.close();
- } catch ( SQLException except ) {
- System.out.println( except );
- }
-
-
- // We now end the transaction for this thread.
- // We are no longer in the shared transaction.
- // Perform an update on the table and the update
- // will lock.
- System.out.println( "[Thread1] Ending transaction" );
- try {
- xaRes.end( xid1, XAResource.TMSUCCESS );
- } catch ( XAException except ) {
- System.out.println( except );
- return;
- }
- System.out.println( "[Thread1] Selecting from table" );
- try {
- stmt = conn.createStatement();
- stmt.executeUpdate( "update test set text='first' where id=1" );
- stmt.close();
- } catch ( SQLException except ) {
- System.out.println( except );
- }
-
-
- // Thread 2 will now end the transcation and commit it.
- System.out.println( "[Thread1] Waking up Thread2" );
- thread2.interrupt();
- try {
- sleep( Integer.MAX_VALUE );
- } catch ( InterruptedException except ) { }
-
-
- // Perform a select on the table to prove that it
- // was only updated inside the transaction.
- System.out.println( "[Thread1] Selecting from table" );
- try {
- stmt = conn.createStatement();
- rs = stmt.executeQuery( "select text from test where id=1" );
- rs.next();
- System.out.println( "First = " + rs.getString( 1 ) );
- rs.close();
- stmt.close();
- } catch ( SQLException except ) {
- System.out.println( except );
- }
- }
-
-
- javax.sql.XAConnection xaConn;
-
-
- Xid xid1;
-
-
- Thread thread2;
-
-
-}
-
-
-class Thread2
- extends Thread
-{
-
-
- public void run()
- {
- Connection conn;
- XAResource xaRes;
- Statement stmt;
- ResultSet rs;
-
-
- try {
- conn = xaConn.getConnection();
- xaRes = xaConn.getXAResource();
- } catch ( Exception except ) {
- System.out.println( except );
- return;
- }
- // Thread2 immediately goes to sleep, waits
- // for Thread1 to wake it up.
- try {
- sleep( Integer.MAX_VALUE );
- } catch ( InterruptedException except ) { }
-
-
- // Begin a transaction on this connection.
- // Perform an update on the table. This will
- // lock since Thread1 is in a different transaction
- // updating the same table.
- System.out.println( "[Thread2] Starting transaction" );
- try {
- xaRes.start( xid2, XAResource.TMNOFLAGS );
- } catch ( XAException except ) {
- System.out.println( except );
- return;
- }
- System.out.println( "[Thread2] Updating table" );
- try {
- stmt = conn.createStatement();
- stmt.executeUpdate( "update test set text='second' where id=1" );
- stmt.close();
- } catch ( SQLException except ) {
- System.out.println( except );
- }
-
-
- // Thread1 will now proof that it owns the
- // transaction.
- System.out.println( "[Thread2] Waking up Thread1" );
- thread1.interrupt();
- try {
- sleep( Integer.MAX_VALUE );
- } catch ( InterruptedException except ) { }
-
-
- // We will now join the transaction shared with
- // Thread1 and try to update the table again.
- System.out.println( "[Thread2] Dumping transaction" );
- try {
- xaRes.end( xid2, XAResource.TMFAIL );
- // xaRes.rollback( xid2 );
- xaRes.forget( xid2 );
- } catch ( XAException except ) {
- System.out.println( except );
- return;
- }
- System.out.println( "[Thread2] Joining transaction of Thread1" );
- try {
- xaRes.start( xid1, XAResource.TMJOIN );
- } catch ( XAException except ) {
- System.out.println( except );
- return;
- }
- System.out.println( "[Thread2] Updating table" );
- try {
- stmt = conn.createStatement();
- stmt.executeUpdate( "update test set text='second' where id=1" );
- stmt.close();
- } catch ( SQLException except ) {
- System.out.println( except );
- }
-
-
- // Thread1 will now proof that it could update
- // the table.
- System.out.println( "[Thread2] Waking up Thread1" );
- thread1.interrupt();
- try {
- sleep( Integer.MAX_VALUE );
- } catch ( InterruptedException except ) { }
-
-
- // We will now end the transaction and commit it.
- System.out.println( "[Thread2] Commiting transaction" );
- try {
- xaRes.end( xid1, XAResource.TMSUCCESS );
- xaRes.prepare( xid1 );
- xaRes.commit( xid1, false );
- xaRes.forget( xid1 );
- } catch ( XAException except ) {
- System.out.println( except );
- return;
- }
-
-
- // Perform a select on the table to prove that it
- // was only updated inside the transaction.
- System.out.println( "[Thread2] Selecting from table" );
- try {
- stmt = conn.createStatement();
- rs = stmt.executeQuery( "select text from test where id=1" );
- rs.next();
- System.out.println( "First = " + rs.getString( 1 ) );
- rs.close();
- stmt.close();
- } catch ( SQLException except ) {
- System.out.println( except );
- }
-
-
- // Thread1 will now proof that the table was only
- // updated inside the transaction. Thread 2 will die.
- System.out.println( "[Thread2] Waking up Thread1" );
- thread1.interrupt();
- }
-
-
- javax.sql.XAConnection xaConn;
-
-
- Xid xid1;
-
-
- Xid xid2;
-
-
- Thread thread1;
-
-
-}
-
-
-
-class XidImpl
- implements Xid
-{
-
-
- public byte[] getBranchQualifier()
- {
- return null;
- }
-
-
- public byte[] getGlobalTransactionId()
- {
- return null;
- }
-
-
- public int getFormatId()
- {
- return 0;
- }
-
-
-}