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

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

commit 54ab7717846e2f4a11e24e75e0d98db35f40b776
Author: Kris Jurka <[email protected]>
Date:   Wed Dec 22 16:54:05 2010 +0000

    In DatabaseMetaData.getSchemas, return the user's own temp schemas,
    but no others.  Previously it wasn't returning the users own temp
    schema, but was showing all toast temp schemas.
    
    Per report from Thomas Kellerer.
---
 org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java | 6 ++++--
 org/postgresql/test/jdbc2/DatabaseMetaDataTest.java     | 5 +----
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java 
b/org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java
index 58e7a63..1e1139c 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.51.2.6 
2010/10/16 00:39:14 jurka Exp $
+*   $PostgreSQL: 
pgjdbc/org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java,v 1.51.2.7 
2010/10/23 07:31:00 jurka Exp $
 *
 *-------------------------------------------------------------------------
 */
@@ -2145,9 +2145,11 @@ public abstract class AbstractJdbc2DatabaseMetaData
     public java.sql.ResultSet getSchemas() throws SQLException
     {
         String sql;
+        // Show only the users temp schemas, but not other peoples
+        // because they can't access any objects in them.
         if (connection.haveMinimumServerVersion("7.3"))
         {
-            sql = "SELECT nspname AS TABLE_SCHEM FROM pg_catalog.pg_namespace 
WHERE nspname <> 'pg_toast' AND nspname !~ '^pg_temp_' ORDER BY TABLE_SCHEM";
+            sql = "SELECT nspname AS TABLE_SCHEM FROM pg_catalog.pg_namespace 
WHERE nspname <> 'pg_toast' AND (nspname !~ '^pg_temp_' OR nspname = 
(pg_catalog.current_schemas(true))[1]) AND (nspname !~ '^pg_toast_temp_' OR 
nspname = replace((pg_catalog.current_schemas(true))[1], 'pg_temp_', 
'pg_toast_temp_')) ORDER BY TABLE_SCHEM";
         }
         else
         {
diff --git a/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java 
b/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java
index 07c5369..f2d9da9 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.44.2.3 2010/10/16 00:39:14 jurka Exp $
+*   $PostgreSQL: pgjdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java,v 
1.44.2.4 2010/10/23 07:31:00 jurka Exp $
 *
 *-------------------------------------------------------------------------
 */
@@ -678,9 +678,6 @@ public class DatabaseMetaDataTest extends TestCase
 
     public void testSchemas() throws Exception
     {
-        if (!TestUtil.haveMinimumServerVersion(con, "7.3"))
-            return ;
-
         DatabaseMetaData dbmd = con.getMetaData();
         assertNotNull(dbmd);
 

-- 
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

Reply via email to