From 9c0fa48dded9d8d6bc42862ac15486ff1f2a1cfd Mon Sep 17 00:00:00 2001 From: Andrei Lurie Date: Thu, 26 May 2022 19:51:26 -0700 Subject: [PATCH] fix: return correct base type from getUDTs (#2520) --- .../main/java/org/postgresql/jdbc/PgDatabaseMetaData.java | 2 +- .../org/postgresql/test/jdbc2/DatabaseMetaDataTest.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java index 8ff7299b..590670a9 100644 --- a/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java +++ b/pgjdbc/src/main/java/org/postgresql/jdbc/PgDatabaseMetaData.java @@ -2696,7 +2696,7 @@ public class PgDatabaseMetaData implements DatabaseMetaData { long longTypOid = typeInfo.intOidToLong(typOid); int sqlType = typeInfo.getSQLType(typOid); - sqlwhen.append(" when t.oid = ").append(longTypOid).append(" then ").append(sqlType); + sqlwhen.append(" when oid = ").append(longTypOid).append(" then ").append(sqlType); } sql += sqlwhen.toString(); diff --git a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java index 5c91de5c..36530ce9 100644 --- a/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java +++ b/pgjdbc/src/test/java/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java @@ -1188,7 +1188,7 @@ public class DatabaseMetaDataTest { String remarks = rs.getString("remarks"); int baseType = rs.getInt("base_type"); - assertTrue("base type", !rs.wasNull()); + assertEquals("base type", java.sql.Types.BIGINT, baseType); assertEquals("data type", Types.DISTINCT, dataType); assertEquals("type name ", "testint8", typeName); assertEquals("remarks", "jdbc123", remarks); @@ -1220,7 +1220,7 @@ public class DatabaseMetaDataTest { String remarks = rs.getString("remarks"); int baseType = rs.getInt("base_type"); - assertTrue("base type", !rs.wasNull()); + assertEquals("base type", java.sql.Types.BIGINT, baseType); assertEquals("data type", Types.DISTINCT, dataType); assertEquals("type name ", "testint8", typeName); assertEquals("remarks", "jdbc123", remarks); @@ -1251,7 +1251,7 @@ public class DatabaseMetaDataTest { String remarks = rs.getString("remarks"); int baseType = rs.getInt("base_type"); - assertTrue("base type", !rs.wasNull()); + assertEquals("base type", java.sql.Types.BIGINT, baseType); assertEquals("data type", Types.DISTINCT, dataType); assertEquals("type name ", "testint8", typeName); assertEquals("remarks", "jdbc123", remarks); -- 2.32.0