From 863c9d11f13cf8afff70242660d39bd70b5743c8 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 16 May 2001 16:42:31 +0000 Subject: [PATCH] I was trying to get a very nice FREE graphical db tool called DbVisualizer (http://www.ideit.com/products/dbvis/) to work with Postgresql and I found out the following bug: if database has views then getTables() gets the null pointer exception ('order by relname' makes the listing tree in DbVisualizer a lot useful !!) This patch should propably be applied to the the jdbc1's DatabaseMetaData.java, too. Panu Outinen --- .../jdbc/org/postgresql/jdbc1/DatabaseMetaData.java | 5 ++++- .../jdbc/org/postgresql/jdbc2/DatabaseMetaData.java | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/interfaces/jdbc/org/postgresql/jdbc1/DatabaseMetaData.java b/src/interfaces/jdbc/org/postgresql/jdbc1/DatabaseMetaData.java index cd6cf4808f..1bddb87cec 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc1/DatabaseMetaData.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc1/DatabaseMetaData.java @@ -1697,6 +1697,9 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData case 'S': relKind = "SEQUENCE"; break; + case 'v': + relKind = "VIEW"; + break; default: relKind = null; } @@ -1704,7 +1707,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData tuple[0] = null; // Catalog name tuple[1] = null; // Schema name tuple[2] = r.getBytes(1); // Table name - tuple[3] = relKind.getBytes(); // Table type + tuple[3] = (relKind==null) ? null : relKind.getBytes(); // Table type tuple[4] = remarks; // Remarks v.addElement(tuple); } diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/DatabaseMetaData.java b/src/interfaces/jdbc/org/postgresql/jdbc2/DatabaseMetaData.java index 1d1cd11a4b..6babe49faf 100644 --- a/src/interfaces/jdbc/org/postgresql/jdbc2/DatabaseMetaData.java +++ b/src/interfaces/jdbc/org/postgresql/jdbc2/DatabaseMetaData.java @@ -1697,6 +1697,9 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData case 'S': relKind = "SEQUENCE"; break; + case 'v': + relKind = "VIEW"; + break; default: relKind = null; } @@ -1704,7 +1707,7 @@ public class DatabaseMetaData implements java.sql.DatabaseMetaData tuple[0] = null; // Catalog name tuple[1] = null; // Schema name tuple[2] = r.getBytes(1); // Table name - tuple[3] = relKind.getBytes(); // Table type + tuple[3] = (relKind==null) ? null : relKind.getBytes(); // Table type tuple[4] = remarks; // Remarks v.addElement(tuple); }