Invoke setReadonly(boolean) on the db connection depending on the type of statement we're about to send.
This commit is contained in:
parent
eafca524bc
commit
bea4c3a5b7
1 changed files with 32 additions and 0 deletions
|
@ -470,6 +470,9 @@ public final class NodeManager {
|
|||
throw new NullPointerException("Error inserting relational node: Connection is null");
|
||||
}
|
||||
|
||||
// set connection to write mode
|
||||
if (con.isReadOnly()) con.setReadOnly(false);
|
||||
|
||||
String insertString = dbm.getInsert();
|
||||
PreparedStatement stmt = con.prepareStatement(insertString);
|
||||
|
||||
|
@ -619,6 +622,8 @@ public final class NodeManager {
|
|||
}
|
||||
|
||||
Connection con = dbm.getConnection();
|
||||
// set connection to write mode
|
||||
if (con.isReadOnly()) con.setReadOnly(false);
|
||||
PreparedStatement stmt = con.prepareStatement(b.toString());
|
||||
|
||||
int stmtNumber = 0;
|
||||
|
@ -691,6 +696,9 @@ public final class NodeManager {
|
|||
|
||||
try {
|
||||
Connection con = dbm.getConnection();
|
||||
// set connection to write mode
|
||||
if (con.isReadOnly()) con.setReadOnly(false);
|
||||
|
||||
String str = new StringBuffer("DELETE FROM ").append(dbm.getTableName())
|
||||
.append(" WHERE ")
|
||||
.append(dbm.getIDField())
|
||||
|
@ -777,6 +785,9 @@ public final class NodeManager {
|
|||
|
||||
try {
|
||||
Connection con = map.getConnection();
|
||||
// set connection to read-only mode
|
||||
if (!con.isReadOnly()) con.setReadOnly(true);
|
||||
|
||||
String q = new StringBuffer("SELECT MAX(").append(map.getIDField())
|
||||
.append(") FROM ")
|
||||
.append(map.getTableName())
|
||||
|
@ -826,6 +837,9 @@ public final class NodeManager {
|
|||
|
||||
try {
|
||||
Connection con = map.getConnection();
|
||||
// TODO is it necessary to set connection to write mode here?
|
||||
if (con.isReadOnly()) con.setReadOnly(false);
|
||||
|
||||
String q = new StringBuffer("SELECT ").append(map.getIDgen())
|
||||
.append(".nextval FROM dual").toString();
|
||||
|
||||
|
@ -879,6 +893,9 @@ public final class NodeManager {
|
|||
String idfield = (rel.groupby == null) ? rel.otherType.getIDField()
|
||||
: rel.groupby;
|
||||
Connection con = rel.otherType.getConnection();
|
||||
// set connection to read-only mode
|
||||
if (!con.isReadOnly()) con.setReadOnly(true);
|
||||
|
||||
String table = rel.otherType.getTableName();
|
||||
|
||||
Statement stmt = null;
|
||||
|
@ -992,6 +1009,9 @@ public final class NodeManager {
|
|||
DbMapping dbm = rel.otherType;
|
||||
|
||||
Connection con = dbm.getConnection();
|
||||
// set connection to read-only mode
|
||||
if (!con.isReadOnly()) con.setReadOnly(true);
|
||||
|
||||
Statement stmt = con.createStatement();
|
||||
DbColumn[] columns = dbm.getColumns();
|
||||
Relation[] joins = dbm.getJoins();
|
||||
|
@ -1074,6 +1094,9 @@ public final class NodeManager {
|
|||
|
||||
if (missing > 0) {
|
||||
Connection con = dbm.getConnection();
|
||||
// set connection to read-only mode
|
||||
if (!con.isReadOnly()) con.setReadOnly(true);
|
||||
|
||||
Statement stmt = con.createStatement();
|
||||
DbColumn[] columns = dbm.getColumns();
|
||||
Relation[] joins = dbm.getJoins();
|
||||
|
@ -1248,6 +1271,9 @@ public final class NodeManager {
|
|||
} else {
|
||||
int retval = 0;
|
||||
Connection con = rel.otherType.getConnection();
|
||||
// set connection to read-only mode
|
||||
if (!con.isReadOnly()) con.setReadOnly(true);
|
||||
|
||||
String table = rel.otherType.getTableName();
|
||||
|
||||
Statement stmt = null;
|
||||
|
@ -1326,6 +1352,8 @@ public final class NodeManager {
|
|||
// retrieve the value of that field instead of the primary key
|
||||
String namefield = (rel.groupby == null) ? rel.accessName : rel.groupby;
|
||||
Connection con = rel.otherType.getConnection();
|
||||
// set connection to read-only mode
|
||||
if (!con.isReadOnly()) con.setReadOnly(true);
|
||||
String table = rel.otherType.getTableName();
|
||||
|
||||
Statement stmt = null;
|
||||
|
@ -1411,6 +1439,8 @@ public final class NodeManager {
|
|||
|
||||
try {
|
||||
Connection con = dbm.getConnection();
|
||||
// set connection to read-only mode
|
||||
if (!con.isReadOnly()) con.setReadOnly(true);
|
||||
|
||||
stmt = con.createStatement();
|
||||
|
||||
|
@ -1504,6 +1534,8 @@ public final class NodeManager {
|
|||
DbMapping dbm = rel.otherType;
|
||||
|
||||
Connection con = dbm.getConnection();
|
||||
// set connection to read-only mode
|
||||
if (!con.isReadOnly()) con.setReadOnly(true);
|
||||
DbColumn[] columns = dbm.getColumns();
|
||||
Relation[] joins = dbm.getJoins();
|
||||
StringBuffer q = dbm.getSelect(rel);
|
||||
|
|
Loading…
Add table
Reference in a new issue