From fe2dec75a9b428f2e4271af32c4f6a31717889f4 Mon Sep 17 00:00:00 2001 From: Barry Lind Date: Fri, 23 Aug 2002 20:45:49 +0000 Subject: Enhancements to how queries with bind values are stored internally and sent to the server. Previously we allocated a new String object for the entire final query we were sending to the database. If you had a big query, or especially if you had large bind values you ended up with essentially two copies in memory. This change will reuse the existing objects and therefore should take 1/2 the memory it does today for a given query. This restructuring will also allow in the future the ability to stream bytea data to the server instead of the current approach of pulling it all into memory. I also fixed a test that was failing on a 7.2 database. Also renamed some internal variables and some minor cleanup. Modified Files: jdbc/org/postgresql/core/QueryExecutor.java jdbc/org/postgresql/jdbc1/AbstractJdbc1Connection.java jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java jdbc/org/postgresql/jdbc2/AbstractJdbc2Statement.java jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java --- .../org/postgresql/test/jdbc2/DatabaseMetaDataTest.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'src/interfaces/jdbc/org/postgresql/test') diff --git a/src/interfaces/jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java b/src/interfaces/jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java index 85a6afe60bb..cb7d036a77f 100644 --- a/src/interfaces/jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java +++ b/src/interfaces/jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java @@ -9,7 +9,7 @@ import java.sql.*; * * PS: Do you know how difficult it is to type on a train? ;-) * - * $Id: DatabaseMetaDataTest.java,v 1.11 2002/08/14 20:35:40 barry Exp $ + * $Id: DatabaseMetaDataTest.java,v 1.12 2002/08/23 20:45:49 barry Exp $ */ public class DatabaseMetaDataTest extends TestCase @@ -102,7 +102,10 @@ public class DatabaseMetaDataTest extends TestCase assertTrue(dbmd.supportsMinimumSQLGrammar()); assertTrue(!dbmd.supportsCoreSQLGrammar()); assertTrue(!dbmd.supportsExtendedSQLGrammar()); - assertTrue(dbmd.supportsANSI92EntryLevelSQL()); + if (((org.postgresql.jdbc1.AbstractJdbc1Connection)con).haveMinimumServerVersion("7.3")) + assertTrue(dbmd.supportsANSI92EntryLevelSQL()); + else + assertTrue(!dbmd.supportsANSI92EntryLevelSQL()); assertTrue(!dbmd.supportsANSI92IntermediateSQL()); assertTrue(!dbmd.supportsANSI92FullSQL()); @@ -426,12 +429,12 @@ public class DatabaseMetaDataTest extends TestCase assertNotNull(dbmd); assertTrue(dbmd.getDatabaseProductName().equals("PostgreSQL")); - //The test below doesn't make sense to me, it tests that + //The test below doesn't make sense to me, it tests that //the version of the driver = the version of the database it is connected to - //since the driver should be backwardly compatible this test is commented out + //since the driver should be backwardly compatible this test is commented out //assertTrue(dbmd.getDatabaseProductVersion().startsWith( - // Integer.toString(pc.getDriver().getMajorVersion()) - // + "." + // Integer.toString(pc.getDriver().getMajorVersion()) + // + "." // + Integer.toString(pc.getDriver().getMinorVersion()))); assertTrue(dbmd.getDriverName().equals("PostgreSQL Native Driver")); -- cgit v1.2.3