From: David J. <d_j...@us...> - 2001-05-25 19:58:20
|
Update of /cvsroot/firebird/client-java/src/org/firebirdsql/jca In directory usw-pr-cvs1:/tmp/cvs-serv5723 Modified Files: FBManagedConnection.java TestFBManagedConnectionFactory.java Log Message: First steps towards sql functionality Index: FBManagedConnection.java =================================================================== RCS file: /cvsroot/firebird/client-java/src/org/firebirdsql/jca/FBManagedConnection.java,v retrieving revision 1.2 retrieving revision 1.3 diff -U3 -r1.2 -r1.3 --- FBManagedConnection.java 2001/05/25 16:21:49 1.2 +++ FBManagedConnection.java 2001/05/25 19:58:17 1.3 @@ -44,6 +44,10 @@ import org.firebirdsql.gds.isc_db_handle; import org.firebirdsql.gds.isc_tr_handle; import org.firebirdsql.gds.GDS; +import org.firebirdsql.gds.GDSException; +import org.firebirdsql.gds.XSQLDA; +import org.firebirdsql.gds.XSQLVAR; +import org.firebirdsql.jdbc.FBConnection; /** * @@ -194,7 +198,12 @@ ResourceAdapterInternalException - Resource adapter internal error condition */ public void associateConnection(java.lang.Object connection) throws ResourceException { - throw new ResourceException("not yet implemented"); + try { + ((FBConnection)connection).setManagedConnection(this); + } + catch (ClassCastException cce) { + throw new ResourceException("invalid connection supplied to associateConnection: " + cce); + } } /** @@ -256,7 +265,10 @@ **/ public java.lang.Object getConnection(Subject subject, ConnectionRequestInfo cxRequestInfo) throws ResourceException { - throw new ResourceException("not yet implemented"); + //subject currently ignored + //cxRequestInfo currently ignored. + + return new FBConnection(this); } @@ -431,6 +443,16 @@ findIscTrHandle(id, flags); } + //FB public methods. Could be package if packages reorganized. + + public boolean executeSQL(String sql) throws GDSException { + //Should we test for dbhandle? + XSQLDA out = new XSQLDA(); + mcf.gds.isc_dsql_exec_inmed2(currentTr.getDbHandle(), currentTr, sql, + GDS.SQL_DIALECT_CURRENT, null, out); + + return false;//Hah! + } //-------------------------------------------------------------------- //package visibility Index: TestFBManagedConnectionFactory.java =================================================================== RCS file: /cvsroot/firebird/client-java/src/org/firebirdsql/jca/TestFBManagedConnectionFactory.java,v retrieving revision 1.1 retrieving revision 1.2 diff -U3 -r1.1 -r1.2 --- TestFBManagedConnectionFactory.java 2001/05/25 16:21:49 1.1 +++ TestFBManagedConnectionFactory.java 2001/05/25 19:58:17 1.2 @@ -10,6 +10,7 @@ import javax.resource.spi.*; import javax.transaction.xa.*; +import java.sql.Connection; //import org.firebirdsql.jca.*; import org.firebirdsql.gds.Clumplet; @@ -95,6 +96,58 @@ FBManagedConnectionFactory mcf = initMcf(); ManagedConnection mc = mcf.createManagedConnection(null, null); } + + public void testCreateC() throws Exception { + System.out.println(); + System.out.println("testCreateC"); + FBManagedConnectionFactory mcf = initMcf(); + ManagedConnection mc = mcf.createManagedConnection(null, null); + Connection c = (Connection)mc.getConnection(null, null); + } + + public void testAssociateC() throws Exception { + System.out.println(); + System.out.println("testAssociateC"); + FBManagedConnectionFactory mcf = initMcf(); + ManagedConnection mc1 = mcf.createManagedConnection(null, null); + Connection c1 = (Connection)mc1.getConnection(null, null); + ManagedConnection mc2 = mcf.createManagedConnection(null, null); + Connection c2 = (Connection)mc2.getConnection(null, null); + mc1.associateConnection(c2); + mc2.associateConnection(c1); + } + + public void testCreateStatement() throws Exception { + System.out.println(); + System.out.println("testCreateStatement"); + FBManagedConnectionFactory mcf = initMcf(); + ManagedConnection mc = mcf.createManagedConnection(null, null); + Connection c = (Connection)mc.getConnection(null, null); + Statement s = c.createStatement(); + } + + public void testUseStatement() throws Exception { + System.out.println(); + System.out.println("testCreateStatement"); + FBManagedConnectionFactory mcf = initMcf(); + ManagedConnection mc = mcf.createManagedConnection(null, null); + Connection c = (Connection)mc.getConnection(null, null); + Statement s = c.createStatement(); + XAResource xa = mc.getXAResource(); + Xid xid = new XidImpl(); + xa.start(xid, XAResource.TMNOFLAGS); + s.execute("CREATE TABLE T1 ( C1 SMALLINT, C2 SMALLINT)"); + xa.end(xid, XAResource.TMNOFLAGS); + xa.commit(xid, true); + + xid = new XidImpl(); + xa.start(xid, XAResource.TMNOFLAGS); + s.execute("DROP TABLE T1"); + xa.end(xid, XAResource.TMNOFLAGS); + xa.commit(xid, true); + + } + public void testGetXAResource() throws Exception { System.out.println(); |