[libpostgresql-jdbc-java] 16/128: Allow driver to set read-only based on a connection parameter.
Emmanuel Bourg
ebourg-guest at moszumanska.debian.org
Mon Jan 9 10:18:26 UTC 2017
This is an automated email from the git hooks/post-receive script.
ebourg-guest pushed a commit to annotated tag REL9_3_1100
in repository libpostgresql-jdbc-java.
commit 7366eebe7d9fd1686d26851674476010b44cbaf4
Author: Steven Schlansker <steven at likeness.com>
Date: Sun Dec 30 11:06:43 2012 -0800
Allow driver to set read-only based on a connection parameter.
---
org/postgresql/Driver.java.in | 1 +
org/postgresql/jdbc2/AbstractJdbc2Connection.java | 6 ++++++
org/postgresql/test/jdbc2/DriverTest.java | 23 +++++++++++++++++++++++
3 files changed, 30 insertions(+)
diff --git a/org/postgresql/Driver.java.in b/org/postgresql/Driver.java.in
index f6c69c0..27d8115 100644
--- a/org/postgresql/Driver.java.in
+++ b/org/postgresql/Driver.java.in
@@ -182,6 +182,7 @@ public class Driver implements java.sql.Driver
* user - (required) The user to connect as
* password - (optional) The password for the user
* ssl - (optional) Use SSL when connecting to the server
+ * readOnly - (optional) Set connection to read-only by default
* charSet - (optional) The character set to be used for converting
* to/from the database to unicode. If multibyte is enabled on the
* server then the character set of the database is used as the default,
diff --git a/org/postgresql/jdbc2/AbstractJdbc2Connection.java b/org/postgresql/jdbc2/AbstractJdbc2Connection.java
index 2fb37f4..2dbc6aa 100644
--- a/org/postgresql/jdbc2/AbstractJdbc2Connection.java
+++ b/org/postgresql/jdbc2/AbstractJdbc2Connection.java
@@ -137,6 +137,12 @@ public abstract class AbstractJdbc2Connection implements BaseConnection
this.dbVersionNumber = protoConnection.getServerVersion();
this.compatible = info.getProperty("compatible", Driver.MAJORVERSION + "." + Driver.MINORVERSION);
+ // Set read-only early if requested
+ if (Boolean.valueOf(info.getProperty("readOnly", "false")))
+ {
+ setReadOnly(true);
+ }
+
// Formats that currently have binary protocol support
Set<Integer> binaryOids = new HashSet<Integer>();
if (binaryTransfer && protoConnection.getProtocolVersion() >= 3) {
diff --git a/org/postgresql/test/jdbc2/DriverTest.java b/org/postgresql/test/jdbc2/DriverTest.java
index 9df5751..50726ac 100644
--- a/org/postgresql/test/jdbc2/DriverTest.java
+++ b/org/postgresql/test/jdbc2/DriverTest.java
@@ -98,4 +98,27 @@ public class DriverTest extends TestCase
con.close();
}
+
+ /*
+ * Test that the readOnly property works.
+ */
+ public void testReadOnly() throws Exception
+ {
+ TestUtil.initDriver(); // Set up log levels, etc.
+
+ Connection con = DriverManager.getConnection(TestUtil.getURL() + "&readOnly=true", TestUtil.getUser(), TestUtil.getPassword());
+ assertNotNull(con);
+ assertTrue(con.isReadOnly());
+ con.close();
+
+ con = DriverManager.getConnection(TestUtil.getURL() + "&readOnly=false", TestUtil.getUser(), TestUtil.getPassword());
+ assertNotNull(con);
+ assertFalse(con.isReadOnly());
+ con.close();
+
+ con = DriverManager.getConnection(TestUtil.getURL(), TestUtil.getUser(), TestUtil.getPassword());
+ assertNotNull(con);
+ assertFalse(con.isReadOnly());
+ con.close();
+ }
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/libpostgresql-jdbc-java.git
More information about the pkg-java-commits
mailing list