This is an automated email from the git hooks/post-receive script. ebourg-guest pushed a commit to annotated tag REL9_3_1102 in repository libpostgresql-jdbc-java.
commit 39423885a5036a058e1146c693191028b00b9e71 Author: Dave Cramer <[email protected]> Date: Tue Jul 8 12:47:39 2014 -0400 Added caching for ResultSetMetaData from Christophe Canovas complete commit --- org/postgresql/jdbc2/AbstractJdbc2ResultSetMetaData.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/org/postgresql/jdbc2/AbstractJdbc2ResultSetMetaData.java b/org/postgresql/jdbc2/AbstractJdbc2ResultSetMetaData.java index c4adf02..8c802b9 100644 --- a/org/postgresql/jdbc2/AbstractJdbc2ResultSetMetaData.java +++ b/org/postgresql/jdbc2/AbstractJdbc2ResultSetMetaData.java @@ -20,6 +20,7 @@ public abstract class AbstractJdbc2ResultSetMetaData implements PGResultSetMetaD protected final Field[] fields; private boolean fieldInfoFetched; + private CacheMetadata _cache; /* * Initialise for a result with a tuple set and @@ -32,6 +33,7 @@ public abstract class AbstractJdbc2ResultSetMetaData implements PGResultSetMetaD this.connection = connection; this.fields = fields; fieldInfoFetched = false; + _cache = new CacheMetadata(); } /* @@ -192,6 +194,15 @@ public abstract class AbstractJdbc2ResultSetMetaData implements PGResultSetMetaD if (fieldInfoFetched) return; + // see if cached + String idFields = _cache.getIdFields(fields); + if (_cache.isCached(idFields)) { + // get metadata from cache + _cache.getCache(idFields, fields); + fieldInfoFetched = true; + return; + } + fieldInfoFetched = true; StringBuffer sql = new StringBuffer(); @@ -254,6 +265,8 @@ public abstract class AbstractJdbc2ResultSetMetaData implements PGResultSetMetaD } } stmt.close(); + // put in cache + _cache.setCache(idFields, fields); } public String getBaseSchemaName(int column) throws SQLException -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/libpostgresql-jdbc-java.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

