CVSROOT: /cvsroot
Module name: pgsql-server
Changes by: barry@postgresql.org 02/08/23 16:45:49
Modified files:
src/interfaces/jdbc/org/postgresql/core: QueryExecutor.java
src/interfaces/jdbc/org/postgresql/jdbc1:
AbstractJdbc1Connection.java
AbstractJdbc1Statement.java
src/interfaces/jdbc/org/postgresql/jdbc2:
AbstractJdbc2ResultSet.java
AbstractJdbc2Statement.java
src/interfaces/jdbc/org/postgresql/test/jdbc2:
DatabaseMetaDataTest.java
Log message:
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