From b720fa96fb8e41ac077c1d710d8d3a26dcfd36c1 Mon Sep 17 00:00:00 2001 From: Dave Cramer Date: Mon, 3 Nov 2003 15:28:26 +0000 Subject: [PATCH] patch for rs.previous and test case as well as patch for allowing server and port to be specified in test cases --- src/interfaces/jdbc/build.xml | 8 ++++++-- .../postgresql/jdbc2/AbstractJdbc2ResultSet.java | 3 ++- .../org/postgresql/test/jdbc2/ResultSetTest.java | 10 ++++++++++ .../test/jdbc2/optional/ConnectionPoolTest.java | 15 ++++----------- .../jdbc2/optional/PoolingDataSourceTest.java | 15 ++++----------- .../test/jdbc2/optional/SimpleDataSourceTest.java | 15 ++++----------- .../test/jdbc3/Jdbc3ConnectionPoolTest.java | 15 ++++----------- .../test/jdbc3/Jdbc3PoolingDataSourceTest.java | 14 ++++---------- .../test/jdbc3/Jdbc3SimpleDataSourceTest.java | 15 ++++----------- 9 files changed, 42 insertions(+), 68 deletions(-) diff --git a/src/interfaces/jdbc/build.xml b/src/interfaces/jdbc/build.xml index 633daa72db..eccb81674d 100644 --- a/src/interfaces/jdbc/build.xml +++ b/src/interfaces/jdbc/build.xml @@ -6,7 +6,7 @@ This file now requires Ant 1.4.1. 2002-04-18 - $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/build.xml,v 1.36 2003/08/24 22:10:09 barry Exp $ + $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/build.xml,v 1.37 2003/11/03 15:28:26 davec Exp $ --> @@ -305,7 +305,9 @@ - + + + @@ -337,6 +339,8 @@ + + diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java b/src/interfaces/jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java index b8590dff84..87992f7e44 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java @@ -9,7 +9,7 @@ * Copyright (c) 2003, PostgreSQL Global Development Group * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/jdbc2/Attic/AbstractJdbc2ResultSet.java,v 1.25 2003/10/29 02:39:09 davec Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/jdbc2/Attic/AbstractJdbc2ResultSet.java,v 1.26 2003/11/03 15:28:26 davec Exp $ * *------------------------------------------------------------------------- */ @@ -493,6 +493,7 @@ public abstract class AbstractJdbc2ResultSet extends org.postgresql.jdbc1.Abstra if (--current_row < 0) return false; this_row = (byte[][]) rows.elementAt(current_row); + rowBuffer = new byte[this_row.length][]; System.arraycopy(this_row, 0, rowBuffer, 0, this_row.length); return true; } diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/ResultSetTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/ResultSetTest.java index d7e621e20c..c09ac49a98 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/ResultSetTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/ResultSetTest.java @@ -83,6 +83,16 @@ public class ResultSetTest extends TestCase TestUtil.closeDB(con); } + public void testBackward() throws Exception + { + Statement stmt = con.createStatement(); + ResultSet rs = stmt.executeQuery("SELECT * FROM testrs"); + rs.afterLast(); + assertTrue(rs.previous()); + rs.close(); + stmt.close(); + } + public void testAbsolute() throws Exception { Statement stmt = con.createStatement(); diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java index 8f84193990..caac23d18b 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/ConnectionPoolTest.java @@ -11,7 +11,7 @@ import java.sql.*; * interface to the PooledConnection is through the CPDS. * * @author Aaron Mulder (ammulder@chariotsolutions.com) - * @version $Revision: 1.6 $ + * @version $Revision: 1.7 $ */ public class ConnectionPoolTest extends BaseDataSourceTest { @@ -31,16 +31,9 @@ public class ConnectionPoolTest extends BaseDataSourceTest if (bds == null) { bds = new ConnectionPool(); - String db = TestUtil.getURL(); - if (db.indexOf('/') > -1) - { - db = db.substring(db.lastIndexOf('/') + 1); - } - else if (db.indexOf(':') > -1) - { - db = db.substring(db.lastIndexOf(':') + 1); - } - bds.setDatabaseName(db); + bds.setServerName(TestUtil.getServer()); + bds.setPortNumber(TestUtil.getPort()); + bds.setDatabaseName(TestUtil.getDatabase()); bds.setUser(TestUtil.getUser()); bds.setPassword(TestUtil.getPassword()); } diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/PoolingDataSourceTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/PoolingDataSourceTest.java index 9b08eca7d0..6f4a6eaf37 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/PoolingDataSourceTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/PoolingDataSourceTest.java @@ -9,7 +9,7 @@ import org.postgresql.jdbc2.optional.BaseDataSource; * Minimal tests for pooling DataSource. Needs many more. * * @author Aaron Mulder (ammulder@chariotsolutions.com) - * @version $Revision: 1.1 $ + * @version $Revision: 1.2 $ */ public class PoolingDataSourceTest extends BaseDataSourceTest { @@ -40,16 +40,9 @@ public class PoolingDataSourceTest extends BaseDataSourceTest if (bds == null) { bds = new PoolingDataSource(); - String db = TestUtil.getURL(); - if (db.indexOf('/') > -1) - { - db = db.substring(db.lastIndexOf('/') + 1); - } - else if (db.indexOf(':') > -1) - { - db = db.substring(db.lastIndexOf(':') + 1); - } - bds.setDatabaseName(db); + bds.setServerName(TestUtil.getServer()); + bds.setPortNumber(TestUtil.getPort()); + bds.setDatabaseName(TestUtil.getDatabase()); bds.setUser(TestUtil.getUser()); bds.setPassword(TestUtil.getPassword()); ((PoolingDataSource) bds).setDataSourceName(DS_NAME); diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/SimpleDataSourceTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/SimpleDataSourceTest.java index b5c3e100ec..4051122235 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/SimpleDataSourceTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/optional/SimpleDataSourceTest.java @@ -8,7 +8,7 @@ import org.postgresql.jdbc2.optional.SimpleDataSource; * configuration logic. * * @author Aaron Mulder (ammulder@chariotsolutions.com) - * @version $Revision: 1.3 $ + * @version $Revision: 1.4 $ */ public class SimpleDataSourceTest extends BaseDataSourceTest { @@ -28,16 +28,9 @@ public class SimpleDataSourceTest extends BaseDataSourceTest if (bds == null) { bds = new SimpleDataSource(); - String db = TestUtil.getURL(); - if (db.indexOf('/') > -1) - { - db = db.substring(db.lastIndexOf('/') + 1); - } - else if (db.indexOf(':') > -1) - { - db = db.substring(db.lastIndexOf(':') + 1); - } - bds.setDatabaseName(db); + bds.setServerName(TestUtil.getServer()); + bds.setPortNumber(TestUtil.getPort()); + bds.setDatabaseName(TestUtil.getDatabase()); bds.setUser(TestUtil.getUser()); bds.setPassword(TestUtil.getPassword()); } diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3ConnectionPoolTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3ConnectionPoolTest.java index f679c48f77..013a18a8f9 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3ConnectionPoolTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3ConnectionPoolTest.java @@ -12,7 +12,7 @@ import javax.sql.PooledConnection; * Tests JDBC3 implementation of ConnectionPoolDataSource. * * @author Aaron Mulder (ammulder@chariotsolutions.com) - * @version $Revision: 1.2 $ + * @version $Revision: 1.3 $ */ public class Jdbc3ConnectionPoolTest extends ConnectionPoolTest { @@ -29,16 +29,9 @@ public class Jdbc3ConnectionPoolTest extends ConnectionPoolTest if (bds == null) { bds = new Jdbc3ConnectionPool(); - String db = TestUtil.getURL(); - if (db.indexOf('/') > -1) - { - db = db.substring(db.lastIndexOf('/') + 1); - } - else if (db.indexOf(':') > -1) - { - db = db.substring(db.lastIndexOf(':') + 1); - } - bds.setDatabaseName(db); + bds.setServerName(TestUtil.getServer()); + bds.setPortNumber(TestUtil.getPort()); + bds.setDatabaseName(TestUtil.getDatabase()); bds.setUser(TestUtil.getUser()); bds.setPassword(TestUtil.getPassword()); } diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3PoolingDataSourceTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3PoolingDataSourceTest.java index 55374cb1b8..c6c603b7f0 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3PoolingDataSourceTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3PoolingDataSourceTest.java @@ -13,7 +13,7 @@ import org.postgresql.jdbc2.optional.PoolingDataSource; * Minimal tests for JDBC3 pooling DataSource. Needs many more. * * @author Aaron Mulder (ammulder@chariotsolutions.com) - * @version $Revision: 1.1 $ + * @version $Revision: 1.2 $ */ public class Jdbc3PoolingDataSourceTest extends PoolingDataSourceTest { @@ -42,15 +42,9 @@ public class Jdbc3PoolingDataSourceTest extends PoolingDataSourceTest private void configureDataSource(PoolingDataSource source) { String db = TestUtil.getURL(); - if (db.indexOf('/') > -1) - { - db = db.substring(db.lastIndexOf('/') + 1); - } - else if (db.indexOf(':') > -1) - { - db = db.substring(db.lastIndexOf(':') + 1); - } - source.setDatabaseName(db); + source.setServerName(TestUtil.getServer()); + source.setPortNumber(TestUtil.getPort()); + source.setDatabaseName(TestUtil.getDatabase()); source.setUser(TestUtil.getUser()); source.setPassword(TestUtil.getPassword()); source.setDataSourceName(DS_NAME); diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3SimpleDataSourceTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3SimpleDataSourceTest.java index cef4c83f65..7c1157deb3 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3SimpleDataSourceTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc3/Jdbc3SimpleDataSourceTest.java @@ -10,7 +10,7 @@ import org.postgresql.jdbc3.*; * Tests JDBC3 non-pooling DataSource. * * @author Aaron Mulder (ammulder@chariotsolutions.com) - * @version $Revision: 1.1 $ + * @version $Revision: 1.2 $ */ public class Jdbc3SimpleDataSourceTest extends SimpleDataSourceTest { /** @@ -29,16 +29,9 @@ public class Jdbc3SimpleDataSourceTest extends SimpleDataSourceTest { if (bds == null) { bds = new Jdbc3SimpleDataSource(); - String db = TestUtil.getURL(); - if (db.indexOf('/') > -1) - { - db = db.substring(db.lastIndexOf('/') + 1); - } - else if (db.indexOf(':') > -1) - { - db = db.substring(db.lastIndexOf(':') + 1); - } - bds.setDatabaseName(db); + bds.setServerName(TestUtil.getServer()); + bds.setPortNumber(TestUtil.getPort()); + bds.setDatabaseName(TestUtil.getDatabase()); bds.setUser(TestUtil.getUser()); bds.setPassword(TestUtil.getPassword()); }