From cecd7c38e4c64c13da1c0900bda65f80ad7ad157 Mon Sep 17 00:00:00 2001 From: alurie Date: Fri, 27 May 2022 09:13:33 -0700 Subject: [PATCH] fix: return correct base type for domain 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 8ff7299b41..590670a9fe 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 ResultSet getUDTs(@Nullable String catalog, @Nullable String schemaPatter 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 5c91de5c77..36530ce92c 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 void testGetUDT1() throws Exception { 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 void testGetUDT2() throws Exception { 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 void testGetUDT3() throws Exception { 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);