Author: struberg
Date: Wed Jun 6 19:23:34 2018
New Revision: 1833076
URL: http://svn.apache.org/viewvc?rev=1833076&view=rev
Log:
OPENJPA-2690 OPENJPA-2691 modern Oracle LOB handling
ported over the fix from cschneider from trunk.
Thanks to Matt Pavlovich (apacheId mattrpav) for the report!
apparently I picked up the wrong file in my previous commit
Modified:
openjpa/branches/2.4.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/OracleDictionary.java
Modified:
openjpa/branches/2.4.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/OracleDictionary.java
URL:
http://svn.apache.org/viewvc/openjpa/branches/2.4.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/OracleDictionary.java?rev=1833076&r1=1833075&r2=1833076&view=diff
==============================================================================
---
openjpa/branches/2.4.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/OracleDictionary.java
(original)
+++
openjpa/branches/2.4.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/OracleDictionary.java
Wed Jun 6 19:23:34 2018
@@ -241,8 +241,8 @@ public class OracleDictionary
// all fine
}
- oracleClob_empty_lob_Method = getMethodByReflection("oracle.sql.CLOB",
"empty_lob");
- oracleBlob_empty_lob_Method = getMethodByReflection("oracle.sql.BLOB",
"empty_lob");
+ oracleClob_empty_lob_Method = getMethodByReflection("oracle.sql.CLOB",
"getEmptyCLOB");
+ oracleBlob_empty_lob_Method = getMethodByReflection("oracle.sql.BLOB",
"getEmptyBLOB");
oracleClob_isEmptyLob_Method =
getMethodByReflection("oracle.sql.CLOB", "isEmptyLob");
}
@@ -1267,6 +1267,10 @@ public class OracleDictionary
throws SQLException {
if (EMPTY_CLOB != null)
return EMPTY_CLOB;
+
+ if (oracleClob_empty_lob_Method == null)
+ return null;
+
try {
return EMPTY_CLOB = (Clob)
oracleClob_empty_lob_Method.invoke(null, new Object[0]);
} catch (Exception e) {
@@ -1278,6 +1282,10 @@ public class OracleDictionary
throws SQLException {
if (EMPTY_BLOB != null)
return EMPTY_BLOB;
+
+ if (oracleBlob_empty_lob_Method == null)
+ return null;
+
try {
return EMPTY_BLOB = (Blob)
oracleBlob_empty_lob_Method.invoke(null, new Object[0]);
} catch (Exception e) {