This is an automated email from the git hooks/post-receive script. ebourg-guest pushed a commit to annotated tag REL9_3_1100 in repository libpostgresql-jdbc-java.
commit 0da850b49d343fb975dc7026944cf5e1b68e8c81 Author: Tom Dunstan <[email protected]> Date: Sun Jul 7 16:20:41 2013 +0930 Make PreparedStatement.getObject() for an enum type return a string rather than a PGObject --- org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java | 4 +++- org/postgresql/jdbc2/TypeInfoCache.java | 2 ++ org/postgresql/test/jdbc3/StringTypeParameterTest.java | 16 +++++++++++++--- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java b/org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java index 82c47f0..675eead 100644 --- a/org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java +++ b/org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java @@ -1847,7 +1847,7 @@ public abstract class AbstractJdbc2DatabaseMetaData } // decide if we are returning a single column result. - if (returnTypeType.equals("b") || returnTypeType.equals("d") || (returnTypeType.equals("p") && argModesArray == null)) + if (returnTypeType.equals("b") || returnTypeType.equals("d") || returnTypeType.equals("e") || (returnTypeType.equals("p") && argModesArray == null)) { byte[][] tuple = new byte[columns][]; tuple[0] = null; @@ -2464,6 +2464,8 @@ public abstract class AbstractJdbc2DatabaseMetaData sqlType = Types.STRUCT; } else if ("d".equals(typtype)) { sqlType = Types.DISTINCT; + } else if ("e".equals(typtype)) { + sqlType = Types.VARCHAR; } else { sqlType = connection.getTypeInfo().getSQLType(typeOid); } diff --git a/org/postgresql/jdbc2/TypeInfoCache.java b/org/postgresql/jdbc2/TypeInfoCache.java index b14b5c1..a68e0c0 100644 --- a/org/postgresql/jdbc2/TypeInfoCache.java +++ b/org/postgresql/jdbc2/TypeInfoCache.java @@ -231,6 +231,8 @@ public class TypeInfoCache implements TypeInfo { type = new Integer(Types.STRUCT); } else if ("d".equals(typtype)) { type = new Integer(Types.DISTINCT); + } else if ("e".equals(typtype)) { + type = new Integer(Types.VARCHAR); } } diff --git a/org/postgresql/test/jdbc3/StringTypeParameterTest.java b/org/postgresql/test/jdbc3/StringTypeParameterTest.java index 1b887d3..2653c86 100644 --- a/org/postgresql/test/jdbc3/StringTypeParameterTest.java +++ b/org/postgresql/test/jdbc3/StringTypeParameterTest.java @@ -98,8 +98,12 @@ public class StringTypeParameterTest extends TestCase { query.clearParameters(); query.setObject(1, "happy", Types.OTHER); - query.executeQuery().close(); + ResultSet rs = query.executeQuery(); + assertTrue(rs.next()); + assertEquals("happy", rs.getObject("m")); + // all good + rs.close(); query.close(); } @@ -120,13 +124,19 @@ public class StringTypeParameterTest extends TestCase { PreparedStatement query = _conn.prepareStatement("select * from stringtypetest where m = ?"); query.setString(1, "happy"); - query.executeQuery().close(); + ResultSet rs = query.executeQuery(); + assertTrue(rs.next()); + assertEquals("happy", rs.getObject("m")); + rs.close(); query.clearParameters(); query.setObject(1, "happy", Types.VARCHAR); - query.executeQuery().close(); + rs = query.executeQuery(); + assertTrue(rs.next()); + assertEquals("happy", rs.getObject("m")); // all good + rs.close(); query.close(); } -- 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

