From: Bruce Momjian <bruce@momjian.us>
Date: Sat, 21 Jul 2001 18:56:17 +0000 (+0000)
Subject: Great, here is a context diff of CVS for implementing the get/setCatalog methods
X-Git-Tag: REL7_2_BETA1~817
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=eec08cddb457a7f9c14a9d52a50fc6ff7f8f5e58;p=postgresql

Great, here is a context diff of CVS for implementing the get/setCatalog methods
 in Connection - note: I've updated setCatalog(String catalog) from my previous
diff so it checks whether it is already connected to the specified catalog.

Jason Davies
---

diff --git a/src/interfaces/jdbc/org/postgresql/Connection.java b/src/interfaces/jdbc/org/postgresql/Connection.java
index d62127e7c3..7d80f4c4ba 100644
--- a/src/interfaces/jdbc/org/postgresql/Connection.java
+++ b/src/interfaces/jdbc/org/postgresql/Connection.java
@@ -11,7 +11,7 @@ import org.postgresql.util.*;
 import org.postgresql.core.Encoding;
 
 /**
- * $Id: Connection.java,v 1.19 2001/07/21 18:52:10 momjian Exp $
+ * $Id: Connection.java,v 1.20 2001/07/21 18:56:17 momjian Exp $
  *
  * This abstract class is used by org.postgresql.Driver to open either the JDBC1 or
  * JDBC2 versions of the Connection class.
@@ -790,6 +790,36 @@ public abstract class Connection
 
     public abstract void close() throws SQLException;
 
+    /**
+     * A sub-space of this Connection's database may be selected by
+     * setting a catalog name.  If the driver does not support catalogs,
+     * it will silently ignore this request
+     *
+     * @exception SQLException if a database access error occurs
+     */
+    public void setCatalog(String catalog) throws SQLException
+    {
+	if(catalog!=null && !catalog.equals(PG_DATABASE)) {
+	    close();
+	    Properties info=new Properties();
+	    info.setProperty("user", PG_USER);
+	    info.setProperty("password", PG_PASSWORD);
+	    openConnection(PG_HOST, PG_PORT, info, catalog, this_url, this_driver);
+	}
+    }
+
+    /**
+     * Return the connections current catalog name, or null if no
+     * catalog name is set, or we dont support catalogs.
+     *
+     * @return the current catalog name or null
+     * @exception SQLException if a database access error occurs
+     */
+    public String getCatalog() throws SQLException
+    {
+	return PG_DATABASE;
+    }
+
     /**
      * Overides finalize(). If called, it closes the connection.
      *
diff --git a/src/interfaces/jdbc/org/postgresql/jdbc1/Connection.java b/src/interfaces/jdbc/org/postgresql/jdbc1/Connection.java
index 188448925e..91d38a8de1 100644
--- a/src/interfaces/jdbc/org/postgresql/jdbc1/Connection.java
+++ b/src/interfaces/jdbc/org/postgresql/jdbc1/Connection.java
@@ -17,7 +17,7 @@ import org.postgresql.largeobject.*;
 import org.postgresql.util.*;
 
 /**
- * $Id: Connection.java,v 1.5 2001/01/18 17:37:13 peter Exp $
+ * $Id: Connection.java,v 1.6 2001/07/21 18:56:17 momjian Exp $
  *
  * A Connection represents a session with a specific database.  Within the
  * context of a Connection, SQL statements are executed and results are
@@ -272,30 +272,6 @@ public class Connection extends org.postgresql.Connection implements java.sql.Co
     return readOnly;
   }
 
-  /**
-   * A sub-space of this Connection's database may be selected by
-   * setting a catalog name.  If the driver does not support catalogs,
-   * it will silently ignore this request
-   *
-   * @exception SQLException if a database access error occurs
-   */
-  public void setCatalog(String catalog) throws SQLException
-  {
-    // No-op
-  }
-
-  /**
-   * Return the connections current catalog name, or null if no
-   * catalog name is set, or we dont support catalogs.
-   *
-   * @return the current catalog name or null
-   * @exception SQLException if a database access error occurs
-   */
-  public String getCatalog() throws SQLException
-  {
-    return null;
-  }
-
   /**
    * You can call this method to try to change the transaction
    * isolation level using one of the TRANSACTION_* values.
diff --git a/src/interfaces/jdbc/org/postgresql/jdbc2/Connection.java b/src/interfaces/jdbc/org/postgresql/jdbc2/Connection.java
index 7e01943da4..cef4cbf001 100644
--- a/src/interfaces/jdbc/org/postgresql/jdbc2/Connection.java
+++ b/src/interfaces/jdbc/org/postgresql/jdbc2/Connection.java
@@ -17,7 +17,7 @@ import org.postgresql.largeobject.*;
 import org.postgresql.util.*;
 
 /**
- * $Id: Connection.java,v 1.7 2001/02/13 16:39:02 peter Exp $
+ * $Id: Connection.java,v 1.8 2001/07/21 18:56:17 momjian Exp $
  *
  * A Connection represents a session with a specific database.  Within the
  * context of a Connection, SQL statements are executed and results are
@@ -355,30 +355,6 @@ public class Connection extends org.postgresql.Connection implements java.sql.Co
     return readOnly;
   }
 
-  /**
-   * A sub-space of this Connection's database may be selected by
-   * setting a catalog name.  If the driver does not support catalogs,
-   * it will silently ignore this request
-   *
-   * @exception SQLException if a database access error occurs
-   */
-  public void setCatalog(String catalog) throws SQLException
-  {
-    // No-op
-  }
-
-  /**
-   * Return the connections current catalog name, or null if no
-   * catalog name is set, or we dont support catalogs.
-   *
-   * @return the current catalog name or null
-   * @exception SQLException if a database access error occurs
-   */
-  public String getCatalog() throws SQLException
-  {
-    return null;
-  }
-
   /**
    * You can call this method to try to change the transaction
    * isolation level using one of the TRANSACTION_* values.