[libpostgresql-jdbc-java] 10/12: DatabaseMetaData.getTypeInfo was reporting whether the type was signed or not, but the output column is really supposed to indicate whether the the type is unsigned or not.

Emmanuel Bourg ebourg-guest at moszumanska.debian.org
Mon Jan 9 10:20:44 UTC 2017


This is an automated email from the git hooks/post-receive script.

ebourg-guest pushed a commit to tag REL8_3_604
in repository libpostgresql-jdbc-java.

commit 33e795c2c60dbff9d9e9a96e352b55356c9a1fda
Author: Kris Jurka <books at ejurka.com>
Date:   Fri Nov 7 09:11:49 2008 +0000

    DatabaseMetaData.getTypeInfo was reporting whether the type was signed
    or not, but the output column is really supposed to indicate whether
    the the type is unsigned or not.
    
    Reported by Mythili Gopalakrishnan.
---
 org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java |  4 ++--
 org/postgresql/test/jdbc2/DatabaseMetaDataTest.java     | 17 ++++++++++++++++-
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java b/org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java
index 2cf8c68..aa7d111 100644
--- a/org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java
+++ b/org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java
@@ -3,7 +3,7 @@
 * Copyright (c) 2004-2008, PostgreSQL Global Development Group
 *
 * IDENTIFICATION
-*   $PostgreSQL: pgjdbc/org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java,v 1.43 2008/01/08 06:47:57 jurka Exp $
+*   $PostgreSQL: pgjdbc/org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java,v 1.44 2008/01/08 06:56:28 jurka Exp $
 *
 *-------------------------------------------------------------------------
 */
@@ -3685,7 +3685,7 @@ public abstract class AbstractJdbc2DatabaseMetaData
             tuple[6] = bNullable; // all types can be null
             tuple[7] = TypeInfoCache.isCaseSensitive(typeOid) ? bt : bf;
             tuple[8] = bSearchable; // any thing can be used in the WHERE clause
-            tuple[9] = TypeInfoCache.isSigned(typeOid) ? bt : bf;
+            tuple[9] = TypeInfoCache.isSigned(typeOid) ? bf : bt;
             tuple[10] = bf; // false for now - must handle money
             tuple[11] = bf; // false - it isn't autoincrement
             tuple[13] = bZero; // min scale is zero
diff --git a/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java b/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java
index 636007f..09acea7 100644
--- a/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java
+++ b/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java
@@ -3,7 +3,7 @@
 * Copyright (c) 2004-2008, PostgreSQL Global Development Group
 *
 * IDENTIFICATION
-*   $PostgreSQL: pgjdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java,v 1.40 2008/01/08 06:56:31 jurka Exp $
+*   $PostgreSQL: pgjdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java,v 1.41 2008/01/20 15:13:29 jurka Exp $
 *
 *-------------------------------------------------------------------------
 */
@@ -648,6 +648,21 @@ public class DatabaseMetaDataTest extends TestCase
         }
     }
 
+    public void testTypeInfoSigned() throws SQLException
+    {
+        DatabaseMetaData dbmd = con.getMetaData();
+        ResultSet rs = dbmd.getTypeInfo();
+        while (rs.next()) {
+            if ("int4".equals(rs.getString("TYPE_NAME"))) {
+                assertEquals(false, rs.getBoolean("UNSIGNED_ATTRIBUTE"));
+            } else if ("float8".equals(rs.getString("TYPE_NAME"))) {
+                assertEquals(false, rs.getBoolean("UNSIGNED_ATTRIBUTE"));
+            } else if ("text".equals(rs.getString("TYPE_NAME"))) {
+                assertEquals(true, rs.getBoolean("UNSIGNED_ATTRIBUTE"));
+            }
+        }
+    } 
+
     public void testEscaping() throws SQLException {
         DatabaseMetaData dbmd = con.getMetaData();
         ResultSet rs = dbmd.getTables( null, null, "a'", new String[] {"TABLE"});

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/libpostgresql-jdbc-java.git



More information about the pkg-java-commits mailing list