You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by mi...@apache.org on 2010/10/12 17:45:50 UTC
svn commit: r1021804 - in
/openjpa/branches/1.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc:
meta/strats/LobFieldStrategy.java sql/DB2Dictionary.java
Author: mikedd
Date: Tue Oct 12 15:45:48 2010
New Revision: 1021804
URL: http://svn.apache.org/viewvc?rev=1021804&view=rev
Log:
OPENJPA-1699: Streaming LOB support for DB2.
Submitted By: Heath Thomann, original work done by Fay Wang in trunk
Modified:
openjpa/branches/1.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/LobFieldStrategy.java
openjpa/branches/1.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java
Modified: openjpa/branches/1.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/LobFieldStrategy.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/LobFieldStrategy.java?rev=1021804&r1=1021803&r2=1021804&view=diff
==============================================================================
--- openjpa/branches/1.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/LobFieldStrategy.java (original)
+++ openjpa/branches/1.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/LobFieldStrategy.java Tue Oct 12 15:45:48 2010
@@ -135,7 +135,7 @@ public class LobFieldStrategy extends Ab
(row, field.getColumns()[0], store, ob, sel);
} else {
store.getDBDictionary().insertClobForStreamingLoad
- (row, field.getColumns()[0], sel);
+ (row, field.getColumns()[0], ob);
}
}
}
Modified: openjpa/branches/1.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java?rev=1021804&r1=1021803&r2=1021804&view=diff
==============================================================================
--- openjpa/branches/1.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java (original)
+++ openjpa/branches/1.2.x/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DB2Dictionary.java Tue Oct 12 15:45:48 2010
@@ -18,6 +18,8 @@
*/
package org.apache.openjpa.jdbc.sql;
+import java.io.InputStream;
+import java.io.Reader;
import java.lang.reflect.Method;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
@@ -27,6 +29,7 @@ import java.util.Arrays;
import java.util.StringTokenizer;
import org.apache.openjpa.jdbc.kernel.JDBCFetchConfiguration;
+import org.apache.openjpa.jdbc.kernel.JDBCStore;
import org.apache.openjpa.jdbc.kernel.exps.FilterValue;
import org.apache.openjpa.jdbc.kernel.exps.Lit;
import org.apache.openjpa.jdbc.kernel.exps.Param;
@@ -870,4 +873,32 @@ public class DB2Dictionary
String nullSafe(String s) {
return s == null ? "" : s;
}
+
+ public void insertBlobForStreamingLoad(Row row, Column col,
+ JDBCStore store, Object ob, Select sel) throws SQLException {
+ if (ob != null) {
+ row.setBinaryStream(col, (InputStream)ob, -1);
+ } else {
+ row.setNull(col);
+ }
+ }
+
+ public void insertClobForStreamingLoad(Row row, Column col, Object ob)
+ throws SQLException {
+ if (ob != null) {
+ row.setCharacterStream(col, (Reader)ob, -1);
+ } else {
+ row.setNull(col);
+ }
+ }
+
+ public void updateBlob(Select sel, JDBCStore store, InputStream is)
+ throws SQLException {
+ //NO-OP
+ }
+
+ public void updateClob(Select sel, JDBCStore store, Reader reader)
+ throws SQLException {
+ //NO-OP
+ }
}