You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by sa...@apache.org on 2017/09/25 04:33:14 UTC
[1/6] incubator-trafodion git commit: [TRAFODION-2704]close unused
statment in JDBC regression
Repository: incubator-trafodion
Updated Branches:
refs/heads/release2.2 42b2b0b4a -> e26ec04a7
[TRAFODION-2704]close unused statment in JDBC regression
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/808c8745
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/808c8745
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/808c8745
Branch: refs/heads/release2.2
Commit: 808c87450f343e6df3dcc82e0799919581958513
Parents: 42b2b0b
Author: Weiqing Xu <we...@esgyn.cn>
Authored: Wed Sep 20 05:49:28 2017 +0000
Committer: Weiqing Xu <we...@esgyn.cn>
Committed: Wed Sep 20 05:49:28 2017 +0000
----------------------------------------------------------------------
.../org/trafodion/jdbc_test/JdbcCommon.java | 27 ++++++---
.../org/trafodion/jdbc_test/TestForeignKey.java | 62 +++++++++++++-------
2 files changed, 59 insertions(+), 30 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/808c8745/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/JdbcCommon.java
----------------------------------------------------------------------
diff --git a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/JdbcCommon.java b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/JdbcCommon.java
index 6ab5fca..ec68443 100644
--- a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/JdbcCommon.java
+++ b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/JdbcCommon.java
@@ -117,8 +117,11 @@ public class JdbcCommon {
StringBuilder buf = new StringBuilder(ddl);
ddl = buf.toString();
- try {
- _conn.createStatement().execute(ddl);
+ try (
+ Statement stmt = _conn.createStatement();
+ )
+ {
+ stmt.execute(ddl);
} catch (Exception e) {
System.out.println(e.getMessage());
fail("Failed to create table");
@@ -154,8 +157,11 @@ public class JdbcCommon {
if (commConn == null)
commConn = getConnection();
- try {
- commConn.createStatement().execute("create schema " + _catalog + "." + _schema);
+ try (
+ Statement stmt = commConn.createStatement();
+ )
+ {
+ stmt.execute("create schema " + _catalog + "." + _schema);
} catch (Exception e) {
// Do nothing, the schema may already exist.
}
@@ -165,8 +171,11 @@ public class JdbcCommon {
if (commConn == null)
commConn = getConnection();
- try {
- commConn.createStatement().execute("drop schema " + _catalog + "." + _schema + " cascade");
+ try (
+ Statement stmt = commConn.createStatement();
+ )
+ {
+ stmt.execute("drop schema " + _catalog + "." + _schema + " cascade");
} catch (Exception e) {
// Do nothing, the schema may not exist.
}
@@ -184,8 +193,10 @@ public class JdbcCommon {
for (String objname : objDropList) {
for (int i = 0; i < 3; i++) {
- try {
- commConn.createStatement().executeUpdate("drop " + objname + " cascade");
+ try (
+ Statement stmt = commConn.createStatement();
+ ){
+ stmt.executeUpdate("drop " + objname + " cascade");
break; // no execption, break out here
} catch (Exception e) {
String msg = e.getMessage();
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/808c8745/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestForeignKey.java
----------------------------------------------------------------------
diff --git a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestForeignKey.java b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestForeignKey.java
index d6c2175..9c87e9e 100644
--- a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestForeignKey.java
+++ b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestForeignKey.java
@@ -74,12 +74,15 @@ public class TestForeignKey {
public static void doTestSuiteSetup() throws Exception {
try{
_conn = DriverManager.getConnection(Utils.url, Utils.usr, Utils.pwd);
- Statement stmt = _conn.createStatement();
-
- stmt.execute(strCreatePKTABLE1Query);
- stmt.execute(strCreatePKTABLE2Query);
- stmt.execute(strCreateFKTABLE1Query);
- stmt.execute(strCreateFKTABLE2Query);
+ try (
+ Statement stmt = _conn.createStatement();
+ )
+ {
+ stmt.execute(strCreatePKTABLE1Query);
+ stmt.execute(strCreatePKTABLE2Query);
+ stmt.execute(strCreateFKTABLE1Query);
+ stmt.execute(strCreateFKTABLE2Query);
+ }
}
catch (Exception e) {
System.out.println(e.getMessage());
@@ -96,12 +99,19 @@ public class TestForeignKey {
try {
DatabaseMetaData metaData = _conn.getMetaData();
- ResultSet rs = metaData.getImportedKeys("TRAFODION", Utils.schema, FKTABLE1);
int rowNum = 0;
- while(rs.next()) {
- compareForeignkeyWithExp("testGetImportedKeys", rowNum + 1, rs, expFkInfo[rowNum]);
- rowNum += 1;
- }
+ try (
+ ResultSet rs = metaData.getImportedKeys("TRAFODION", Utils.schema, FKTABLE1);
+ )
+ {
+ while(rs.next()) {
+ compareForeignkeyWithExp("testGetImportedKeys", rowNum + 1, rs, expFkInfo[rowNum]);
+ rowNum += 1;
+ }
+ }
+ catch (Exception e) {
+ fail(e.getMessage());
+ }
assertEquals(rowNum, 2);
} catch (Exception e) {
e.printStackTrace();
@@ -117,12 +127,16 @@ public class TestForeignKey {
try {
DatabaseMetaData metaData = _conn.getMetaData();
- ResultSet rs = metaData.getExportedKeys("TRAFODION", Utils.schema, PKTABLE1);
- int rowNum = 0;
- while(rs.next()) {
- compareForeignkeyWithExp("testGetExportedKeys", rowNum + 1, rs, expFkInfo[rowNum]);
- rowNum += 1;
- }
+ int rowNum = 0;
+ try (
+ ResultSet rs = metaData.getExportedKeys("TRAFODION", Utils.schema, PKTABLE1);
+ )
+ {
+ while(rs.next()) {
+ compareForeignkeyWithExp("testGetExportedKeys", rowNum + 1, rs, expFkInfo[rowNum]);
+ rowNum += 1;
+ }
+ }
assertEquals(rowNum, 2);
} catch (Exception e) {
e.printStackTrace();
@@ -137,12 +151,16 @@ public class TestForeignKey {
try {
DatabaseMetaData metaData = _conn.getMetaData();
- ResultSet rs = metaData.getCrossReference("TRAFODION", Utils.schema, PKTABLE1, "TRAFODION", Utils.schema, FKTABLE1);
int rowNum = 0;
- while(rs.next()) {
- compareForeignkeyWithExp("testGetCrossReference", rowNum + 1, rs, expFkInfo[rowNum]);
- rowNum += 1;
- }
+ try (
+ ResultSet rs = metaData.getCrossReference("TRAFODION", Utils.schema, PKTABLE1, "TRAFODION", Utils.schema, FKTABLE1);
+ )
+ {
+ while(rs.next()) {
+ compareForeignkeyWithExp("testGetCrossReference", rowNum + 1, rs, expFkInfo[rowNum]);
+ rowNum += 1;
+ }
+ }
assertEquals(rowNum, 1);
} catch (Exception e) {
e.printStackTrace();
[5/6] incubator-trafodion git commit: [TRAFODION-2704]reslove the
random schema not exist issue
Posted by sa...@apache.org.
[TRAFODION-2704]reslove the random schema not exist issue
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/1ade4208
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/1ade4208
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/1ade4208
Branch: refs/heads/release2.2
Commit: 1ade4208f1e3551fa4ce2c7cbfda29a4c8c68b15
Parents: 835a489
Author: Weiqing Xu <we...@esgyn.cn>
Authored: Sat Sep 23 17:48:39 2017 +0000
Committer: Weiqing Xu <we...@esgyn.cn>
Committed: Sun Sep 24 03:43:10 2017 +0000
----------------------------------------------------------------------
.../org/trafodion/jdbc/t4/T4DriverTest.java | 28 -------------
.../java/org/trafodion/jdbc_test/PropTest.java | 9 +++-
.../java/org/trafodion/jdbc_test/TestBlob.java | 16 +++++---
.../org/trafodion/jdbc_test/TestBlobBatch.java | 12 ++++--
.../java/org/trafodion/jdbc_test/TestClob.java | 17 ++++++--
.../org/trafodion/jdbc_test/TestClobBatch.java | 15 ++++---
.../org/trafodion/jdbc_test/TestForeignKey.java | 43 ++++++++++----------
.../trafodion/jdbc_test/TestGetIndexInfo.java | 24 +++++++----
8 files changed, 88 insertions(+), 76 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/1ade4208/core/conn/jdbcT4/src/test/java/org/trafodion/jdbc/t4/T4DriverTest.java
----------------------------------------------------------------------
diff --git a/core/conn/jdbcT4/src/test/java/org/trafodion/jdbc/t4/T4DriverTest.java b/core/conn/jdbcT4/src/test/java/org/trafodion/jdbc/t4/T4DriverTest.java
index e158e7b..e44c97a 100644
--- a/core/conn/jdbcT4/src/test/java/org/trafodion/jdbc/t4/T4DriverTest.java
+++ b/core/conn/jdbcT4/src/test/java/org/trafodion/jdbc/t4/T4DriverTest.java
@@ -23,12 +23,7 @@
package org.trafodion.jdbc.t4;
-import java.sql.Blob;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.ResultSet;
import java.sql.SQLException;
-import java.sql.Statement;
import org.junit.Assert;
import org.junit.BeforeClass;
@@ -44,29 +39,6 @@ public class T4DriverTest {
@Test
- public void readLob() throws SQLException {
- Connection conn = null;
- try {
- conn = DriverManager.getConnection("jdbc:t4jdbc://192.168.0.36:23400/:", "zz", "zz");
- Statement stmt = conn.createStatement();
- ResultSet rs = stmt.executeQuery("select c2 from tlob");
- while (rs.next()) {
- Blob blob = rs.getBlob(1);
- System.out.println("LOB length " + blob.length());
- System.out.println(new String(blob.getBytes(1, (int)blob.length())));
- }
- conn.close();
- conn = null;
- }
- catch (SQLException se) {
- System.out.println(se.getMessage());
- }
- finally {
- if (conn != null)
- conn.close();
- }
- }
- @Test
public void acceptsURL() throws SQLException {
String url = "jdbc:t4jdbc://localhost:23400/:";
Assert.assertTrue(driver.acceptsURL(url));
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/1ade4208/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/PropTest.java
----------------------------------------------------------------------
diff --git a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/PropTest.java b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/PropTest.java
index a4a269e..47bd5ca 100644
--- a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/PropTest.java
+++ b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/PropTest.java
@@ -41,6 +41,7 @@ import java.io.*;
import org.junit.Test;
import static org.junit.Assert.*;
+import static org.junit.Assert.fail;
/* The test case is added for bug #1452993;
* T2 don't read the property file from System Properties but T4 do it.
@@ -54,10 +55,14 @@ public class PropTest
public void testDefaultPropertiesConnection() throws SQLException {
Connection conn = null;
try {
+ conn = Utils.getUserConnection();
+ }
+ catch (Exception e) {
+ fail("failed to create connection" + e.getMessage());
+ }
+ try {
// The option -Dproperties=propFile can be used to instead of System.setProperty()
System.setProperty("properties", System.getProperty("trafjdbc.properties"));
-
- conn = DriverManager.getConnection(Utils.url, Utils.usr, Utils.pwd);
System.out.println("Catalog : " + conn.getCatalog());
assertEquals("Catalog should be the same as the properties file defined",Utils.catalog, conn.getCatalog());
System.out.println("testDefaultPropertiesConnection : PASS");
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/1ade4208/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestBlob.java
----------------------------------------------------------------------
diff --git a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestBlob.java b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestBlob.java
index ff7c398..283555c 100644
--- a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestBlob.java
+++ b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestBlob.java
@@ -22,6 +22,7 @@
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import java.io.InputStream;
import java.io.OutputStream;
@@ -38,7 +39,8 @@ import org.junit.Test;
public class TestBlob {
private static final String tableName = "BLOBTEST";
- private static final String strCreateTable = "CREATE TABLE " + Utils.schema + "." + tableName + "(C1 int, c2 BLOB);";
+ private static final String strCreateTable = "CREATE TABLE if not exists " + Utils.schema + "." + tableName
+ + "(C1 int, c2 BLOB);";
private static final String strDropTable = "DROP TABLE " + Utils.schema + "." + tableName;
private static Connection _conn = null;
@@ -46,15 +48,19 @@ public class TestBlob {
@BeforeClass
public static void doTestSuiteSetup() throws Exception {
try {
- _conn = DriverManager.getConnection(Utils.url, Utils.usr, Utils.pwd);
+ _conn = Utils.getUserConnection();
+ }
+ catch (Exception e) {
+ fail("failed to create connection" + e.getMessage());
+ }
+ try (
Statement stmt = _conn.createStatement();
-
+ ) {
// use CQD to enable BLOB support
stmt.execute("CQD TRAF_BLOB_AS_VARCHAR 'OFF'");
stmt.execute(strCreateTable);
} catch (Exception e) {
- System.out.println(e.getMessage());
- e.printStackTrace();
+ fail("failed to set CQDs for Blob : " + e.getMessage());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/1ade4208/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestBlobBatch.java
----------------------------------------------------------------------
diff --git a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestBlobBatch.java b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestBlobBatch.java
index b3acb5e..ee7f44c 100644
--- a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestBlobBatch.java
+++ b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestBlobBatch.java
@@ -23,6 +23,7 @@ import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
@@ -165,15 +166,18 @@ public class TestBlobBatch {
@BeforeClass
public static void doTestSuiteSetup() throws Exception {
try {
- _conn = DriverManager.getConnection(Utils.url, Utils.usr, Utils.pwd);
+ _conn = Utils.getUserConnection();
+ } catch (Exception e) {
+ fail("failed to create connection" + e.getMessage());
+ }
+ try (
Statement stmt = _conn.createStatement();
-
+ ) {
// use CQD to enable BLOB support
stmt.execute("CQD TRAF_BLOB_AS_VARCHAR 'OFF'");
stmt.execute(strCreateTable);
} catch (Exception e) {
- System.out.println(e.getMessage());
- e.printStackTrace();
+ fail("failed to set CQD : " + e.getMessage());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/1ade4208/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestClob.java
----------------------------------------------------------------------
diff --git a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestClob.java b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestClob.java
index 51a7cf5..1919c53 100644
--- a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestClob.java
+++ b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestClob.java
@@ -23,6 +23,7 @@ import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import java.io.IOException;
import java.io.InputStream;
@@ -51,10 +52,17 @@ public class TestClob {
@BeforeClass
public static void doTestSuiteSetup() throws Exception {
- try {
- _conn = DriverManager.getConnection(Utils.url, Utils.usr, Utils.pwd);
- Statement stmt = _conn.createStatement();
-
+ try {
+ _conn = Utils.getUserConnection();
+ }
+ catch (SQLException se) {
+ se.printStackTrace();
+ fail("failed to create connection : " + se.getMessage());
+ }
+ try (
+ Statement stmt = _conn.createStatement();
+ )
+ {
// use CQD to enable CLOB support
stmt.execute("CQD TRAF_CLOB_AS_VARCHAR 'OFF'");
// stmt.execute(strDropTable);
@@ -62,6 +70,7 @@ public class TestClob {
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
+ fail("failed to set CQD for CLOB");
}
}
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/1ade4208/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestClobBatch.java
----------------------------------------------------------------------
diff --git a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestClobBatch.java b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestClobBatch.java
index d729dbe..b5ea1d0 100644
--- a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestClobBatch.java
+++ b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestClobBatch.java
@@ -22,6 +22,7 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import java.io.Reader;
import java.io.StringReader;
@@ -200,16 +201,20 @@ public class TestClobBatch {
@BeforeClass
public static void doTestSuiteSetup() throws Exception {
- try {
- _conn = DriverManager.getConnection(Utils.url, Utils.usr, Utils.pwd);
- Statement stmt = _conn.createStatement();
+ try {
+ _conn = Utils.getUserConnection();
+ } catch (Exception e) {
+ fail("failed to create connection" + e.getMessage());
+ }
+ try (
+ Statement stmt = _conn.createStatement();
+ ) {
// use CQD to enable BLOB support
stmt.execute("CQD TRAF_CLOB_AS_VARCHAR 'OFF'");
stmt.execute(strCreateTable);
} catch (Exception e) {
- System.out.println(e.getMessage());
- e.printStackTrace();
+ fail("failed to set CQD : " + e.getMessage());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/1ade4208/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestForeignKey.java
----------------------------------------------------------------------
diff --git a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestForeignKey.java b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestForeignKey.java
index 9c87e9e..90c19c4 100644
--- a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestForeignKey.java
+++ b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestForeignKey.java
@@ -26,8 +26,6 @@ import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
-import javax.swing.text.Utilities;
-
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -46,22 +44,26 @@ public class TestForeignKey {
private static final String FK21 = "FK21";
private static final String FK22 = "FK22";
- private static final String strCreatePKTABLE1Query = "CREATE TABLE " + Utils.schema + "." + PKTABLE1 + "( "
+ private static final String strCreatePKTABLE1Query = "CREATE TABLE IF NOT EXISTS " + Utils.schema + "." + PKTABLE1
+ + "( "
+ PK1 + " INT NOT NULL PRIMARY KEY)";
private static final String strDropPKTABLE1Query = "DROP TABLE " + Utils.schema + "." + PKTABLE1;
- private static final String strCreatePKTABLE2Query = "CREATE TABLE " + Utils.schema + "." + PKTABLE2 + "( "
+ private static final String strCreatePKTABLE2Query = "CREATE TABLE IF NOT EXISTS " + Utils.schema + "." + PKTABLE2
+ + "( "
+ PK2 + " INT NOT NULL PRIMARY KEY)";
private static final String strDropPKTABLE2Query = "DROP TABLE " + Utils.schema + "." + PKTABLE2;
- private static final String strCreateFKTABLE1Query = "CREATE TABLE " + Utils.schema + "." + FKTABLE1 + "( "
+ private static final String strCreateFKTABLE1Query = "CREATE TABLE IF NOT EXISTS " + Utils.schema + "." + FKTABLE1
+ + "( "
+ FK1 + " INT NOT NULL, "
+ FK2 + " INT NOT NULL, "
+ "FOREIGN KEY (" + FK1 + ") REFERENCES " + Utils.schema + "." + PKTABLE1 + "(" + PK1 + "), "
+ "FOREIGN KEY (" + FK2 + ") REFERENCES " + Utils.schema + "." + PKTABLE2 + "(" + PK2 + "))";
private static final String strDropFKTABLE1Query = "DROP TABLE " + Utils.schema + "." + FKTABLE1;
- private static final String strCreateFKTABLE2Query = "CREATE TABLE " + Utils.schema + "." + FKTABLE2 + "( "
+ private static final String strCreateFKTABLE2Query = "CREATE TABLE IF NOT EXISTS " + Utils.schema + "." + FKTABLE2
+ + "( "
+ FK21 + " INT NOT NULL, "
+ FK22 + " INT NOT NULL, "
+ "FOREIGN KEY (" + FK21 + ") REFERENCES " + Utils.schema + "." + PKTABLE1 + "(" + PK1 + "), "
@@ -69,24 +71,23 @@ public class TestForeignKey {
private static final String strDropFKTABLE2Query = "DROP TABLE " + Utils.schema + "." + FKTABLE2;
private static Connection _conn;
-
+
@BeforeClass
public static void doTestSuiteSetup() throws Exception {
- try{
- _conn = DriverManager.getConnection(Utils.url, Utils.usr, Utils.pwd);
- try (
- Statement stmt = _conn.createStatement();
- )
- {
- stmt.execute(strCreatePKTABLE1Query);
- stmt.execute(strCreatePKTABLE2Query);
- stmt.execute(strCreateFKTABLE1Query);
- stmt.execute(strCreateFKTABLE2Query);
- }
- }
+ try {
+ _conn = Utils.getUserConnection();
+ } catch (Exception e) {
+ fail("failed to create connection" + e.getMessage());
+ }
+
+ try (Statement stmt = _conn.createStatement();) {
+ stmt.execute(strCreatePKTABLE1Query);
+ stmt.execute(strCreatePKTABLE2Query);
+ stmt.execute(strCreateFKTABLE1Query);
+ stmt.execute(strCreateFKTABLE2Query);
+ }
catch (Exception e) {
- System.out.println(e.getMessage());
- e.printStackTrace();
+ fail("failed to create table: " + e.getMessage());
}
}
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/1ade4208/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestGetIndexInfo.java
----------------------------------------------------------------------
diff --git a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestGetIndexInfo.java b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestGetIndexInfo.java
index 1cab0b0..9789ced 100644
--- a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestGetIndexInfo.java
+++ b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestGetIndexInfo.java
@@ -47,12 +47,23 @@ public class TestGetIndexInfo {
@BeforeClass
public static void doTestSuiteSetup() throws Exception {
- try {
- _conn = DriverManager.getConnection(Utils.url, Utils.usr, Utils.pwd);
+ try {
+ _conn = Utils.getUserConnection();
+ } catch (Exception e) {
+ fail("failed to create connection" + e.getMessage());
+ }
+
+ try (Statement stmt = _conn.createStatement()
+ ) {
+ stmt.execute(strCreateTableQuery);
+ }
+ catch (Exception e) {
+ fail("failed to create the table : " + e.getMessage());
+ }
+ try (
Statement stmt = _conn.createStatement();
- stmt.execute(strCreateTableQuery);
-
- PreparedStatement pstmt = _conn.prepareStatement(strInsertQuery);
+ PreparedStatement pstmt = _conn.prepareStatement(strInsertQuery);
+ ) {
int[][] testValues = {
{1, 2},
{10, 3},
@@ -65,8 +76,7 @@ public class TestGetIndexInfo {
pstmt.addBatch();
}
pstmt.executeBatch();
- pstmt.close();
-
+
// create index
stmt.execute(strCreateIndexQuery);
[4/6] incubator-trafodion git commit: [TRAFODION-2740]add property to
set the LOB chunk size
Posted by sa...@apache.org.
[TRAFODION-2740]add property to set the LOB chunk size
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/835a4894
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/835a4894
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/835a4894
Branch: refs/heads/release2.2
Commit: 835a48945afe3cc19ec58ac94e22b323db69d5cf
Parents: ea80ab3
Author: Weiqing Xu <we...@esgyn.cn>
Authored: Sat Sep 23 17:47:33 2017 +0000
Committer: Weiqing Xu <we...@esgyn.cn>
Committed: Sat Sep 23 17:47:33 2017 +0000
----------------------------------------------------------------------
.../org/trafodion/jdbc/t4/T4Properties.java | 28 +++++++++++++++++++-
.../java/org/trafodion/jdbc/t4/TrafT4Lob.java | 4 +--
.../org/trafodion/jdbc/t4/T4DriverTest.java | 28 ++++++++++++++++++++
3 files changed, 57 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/835a4894/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4Properties.java
----------------------------------------------------------------------
diff --git a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4Properties.java b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4Properties.java
index 917cf45..202bc27 100644
--- a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4Properties.java
+++ b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4Properties.java
@@ -119,7 +119,9 @@ public class T4Properties {
String clobTableName_;
String blobTableName_;
- // private short transportBufferSize_;
+ private int lobChunkSize_ = 10; // default 10M
+
+ // private short transportBufferSize_;
private boolean useArrayBinding_;
private boolean batchRecovery_;
private final String propPrefix_ = "t4jdbc.";
@@ -425,6 +427,8 @@ public class T4Properties {
setKeepAlive(getProperty("keepAlive"));
setTokenAuth(getProperty("tokenAuth"));
setTcpNoDelay(getProperty("tcpNoDelay"));
+
+ setLobChunkSize(getProperty("lobChunkSize"));
}
T4Properties getT4Properties() {
@@ -518,6 +522,8 @@ public class T4Properties {
props.setProperty("tokenAuth", String.valueOf(_tokenAuth));
props.setProperty("tcpNoDelay", String.valueOf(_tcpNoDelay));
+ props.setProperty("lobChunkSize", String.valueOf(lobChunkSize_));
+
return props;
}
@@ -1884,6 +1890,26 @@ public class T4Properties {
return reserveDataLocator_;
}
+ public int getLobChunkSize() {
+ return lobChunkSize_;
+ }
+
+ public void setLobChunkSize(int lobChunkSize_) {
+ this.lobChunkSize_ = lobChunkSize_;
+ }
+
+ public void setLobChunkSize(String val) {
+ this.lobChunkSize_ = 10;
+ if (val != null) {
+ try {
+ this.lobChunkSize_ = Integer.parseInt(val);
+ } catch (NumberFormatException ex) {
+ sqlExceptionMessage_ = "Incorrect value for setLobChunkSize set: " + val + ex.getMessage();
+ this.lobChunkSize_ = 10;
+ }
+ }
+ }
+
/**
* Returns the rounding mode set for the driver as an Integer value with one
* of the following values. static int ROUND_CEILING Rounding mode to round
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/835a4894/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Lob.java
----------------------------------------------------------------------
diff --git a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Lob.java b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Lob.java
index f18377b..0643173 100644
--- a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Lob.java
+++ b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Lob.java
@@ -103,7 +103,7 @@ public abstract class TrafT4Lob {
try {
int pos = 0;
- int chunkSize = 100 * 1024 * 1024;
+ int chunkSize = connection_.props_.getLobChunkSize() * 1024 * 1024;
while (pos < length) {
int remainSize = (int) (length - pos);
int fecthSize = remainSize < chunkSize ? remainSize : chunkSize;
@@ -153,7 +153,7 @@ public abstract class TrafT4Lob {
return ;
T4Connection t4connection = this.connection_.getServerHandle().getT4Connection();
- final long chunkSize = 100 * 1024 * 1024;
+ final long chunkSize = connection_.props_.getLobChunkSize() * 1024 * 1024;
LogicalByteArray wbuffer = null;
byte[] valueBuffer = null;
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/835a4894/core/conn/jdbcT4/src/test/java/org/trafodion/jdbc/t4/T4DriverTest.java
----------------------------------------------------------------------
diff --git a/core/conn/jdbcT4/src/test/java/org/trafodion/jdbc/t4/T4DriverTest.java b/core/conn/jdbcT4/src/test/java/org/trafodion/jdbc/t4/T4DriverTest.java
index e44c97a..e158e7b 100644
--- a/core/conn/jdbcT4/src/test/java/org/trafodion/jdbc/t4/T4DriverTest.java
+++ b/core/conn/jdbcT4/src/test/java/org/trafodion/jdbc/t4/T4DriverTest.java
@@ -23,7 +23,12 @@
package org.trafodion.jdbc.t4;
+import java.sql.Blob;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.ResultSet;
import java.sql.SQLException;
+import java.sql.Statement;
import org.junit.Assert;
import org.junit.BeforeClass;
@@ -39,6 +44,29 @@ public class T4DriverTest {
@Test
+ public void readLob() throws SQLException {
+ Connection conn = null;
+ try {
+ conn = DriverManager.getConnection("jdbc:t4jdbc://192.168.0.36:23400/:", "zz", "zz");
+ Statement stmt = conn.createStatement();
+ ResultSet rs = stmt.executeQuery("select c2 from tlob");
+ while (rs.next()) {
+ Blob blob = rs.getBlob(1);
+ System.out.println("LOB length " + blob.length());
+ System.out.println(new String(blob.getBytes(1, (int)blob.length())));
+ }
+ conn.close();
+ conn = null;
+ }
+ catch (SQLException se) {
+ System.out.println(se.getMessage());
+ }
+ finally {
+ if (conn != null)
+ conn.close();
+ }
+ }
+ @Test
public void acceptsURL() throws SQLException {
String url = "jdbc:t4jdbc://localhost:23400/:";
Assert.assertTrue(driver.acceptsURL(url));
[3/6] incubator-trafodion git commit: [TRAFODION-2740]remove unused
code
Posted by sa...@apache.org.
[TRAFODION-2740]remove unused code
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/ea80ab38
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/ea80ab38
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/ea80ab38
Branch: refs/heads/release2.2
Commit: ea80ab383da807fe4fd61d9a9193c08ad2c79283
Parents: bd792ff
Author: Weiqing Xu <we...@esgyn.cn>
Authored: Fri Sep 22 16:44:40 2017 +0000
Committer: Weiqing Xu <we...@esgyn.cn>
Committed: Fri Sep 22 16:44:40 2017 +0000
----------------------------------------------------------------------
core/conn/odbc/src/odbc/nsksrvrcore/srvrothers.cpp | 5 -----
1 file changed, 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/ea80ab38/core/conn/odbc/src/odbc/nsksrvrcore/srvrothers.cpp
----------------------------------------------------------------------
diff --git a/core/conn/odbc/src/odbc/nsksrvrcore/srvrothers.cpp b/core/conn/odbc/src/odbc/nsksrvrcore/srvrothers.cpp
index af63ca3..a6e3c2b 100644
--- a/core/conn/odbc/src/odbc/nsksrvrcore/srvrothers.cpp
+++ b/core/conn/odbc/src/odbc/nsksrvrcore/srvrothers.cpp
@@ -6412,11 +6412,8 @@ odbc_SQLSrvr_ExtractLob_sme_(
exception_->exception_nr = odbc_SQLsrvr_ExtractLob_ParamError_exn_;
exception_->u.ParamError.ParamDesc = SQLSVC_EXCEPTION_UNABLE_TO_ALLOCATE_SQL_STMT;
}
-FILE * fp= NULL;
- fp = fopen("/tmp/closeLOB", "a+");
switch (extractLobAPI) {
case 0:
- fprintf(fp, "new LOB API\n");
extractData = NULL;
snprintf(LobExtractQuery, sizeof(LobExtractQuery), "EXTRACT LOBLENGTH(LOB'%s') LOCATION %Ld", lobHandle, (Int64)&lobLength);
break;
@@ -6434,8 +6431,6 @@ FILE * fp= NULL;
extractLen = 0;
extractData = NULL;
snprintf(LobExtractQuery, sizeof(LobExtractQuery), "EXTRACT LOBTOBUFFER(LOB'%s', LOCATION %Ld, SIZE %Ld)", lobHandle, (Int64)extractData, &extractLen);
- fprintf(fp, "close\n");
- fclose(fp);
break;
default:
return ;
[2/6] incubator-trafodion git commit: [TRAFODION-2740]JDBC extract
LOB context in chunks
Posted by sa...@apache.org.
[TRAFODION-2740]JDBC extract LOB context in chunks
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/bd792ff7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/bd792ff7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/bd792ff7
Branch: refs/heads/release2.2
Commit: bd792ff7ef0a81c6b0106ce1d2aaeb3ff34d9701
Parents: 808c874
Author: Weiqing Xu <we...@esgyn.cn>
Authored: Wed Sep 20 05:57:26 2017 +0000
Committer: Weiqing Xu <we...@esgyn.cn>
Committed: Wed Sep 20 05:57:26 2017 +0000
----------------------------------------------------------------------
.../trafodion/jdbc/t4/ExtractLobMessage.java | 13 ++-
.../org/trafodion/jdbc/t4/ExtractLobReply.java | 23 ++++-
.../java/org/trafodion/jdbc/t4/TrafT4Blob.java | 11 ---
.../java/org/trafodion/jdbc/t4/TrafT4Clob.java | 13 ---
.../java/org/trafodion/jdbc/t4/TrafT4Lob.java | 37 +++++++-
.../nsksrvr/Interface/marshalingsrvr_srvr.cpp | 48 +++++++---
.../nsksrvr/Interface/marshalingsrvr_srvr.h | 6 +-
.../src/odbc/nsksrvr/Interface/odbcs_srvr.cpp | 11 ++-
.../odbc/nsksrvr/Interface/odbcs_srvr_res.cpp | 18 ++--
.../src/odbc/nsksrvr/Interface/odbcs_srvr_res.h | 6 +-
core/conn/odbc/src/odbc/nsksrvr/SrvrConnect.cpp | 20 ++--
core/conn/odbc/src/odbc/nsksrvr/SrvrConnect.h | 3 +-
.../conn/odbc/src/odbc/nsksrvrcore/srvrcommon.h | 5 +-
.../odbc/src/odbc/nsksrvrcore/srvrothers.cpp | 99 +++++++-------------
14 files changed, 174 insertions(+), 139 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/bd792ff7/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/ExtractLobMessage.java
----------------------------------------------------------------------
diff --git a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/ExtractLobMessage.java b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/ExtractLobMessage.java
index 6c54ff6..8a6c15c 100644
--- a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/ExtractLobMessage.java
+++ b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/ExtractLobMessage.java
@@ -27,9 +27,9 @@ class ExtractLobMessage {
static final short LOB_EXTRACT_LEN = 0;
static final short LOB_EXTRACT_BUFFER = LOB_EXTRACT_LEN + 1;
- static final short LOB_EXTRACT_BOTH_LEN_AND_BUFFER = LOB_EXTRACT_BUFFER + 1;
+ static final short LOB_CLOSE_CURSOR = LOB_EXTRACT_BUFFER + 1;
- static LogicalByteArray marshal(short extractType, String lobHandle, int lobHandleCharset, long lobLength, InterfaceConnection ic) throws SQLException{
+ static LogicalByteArray marshal(short extractType, String lobHandle, int lobHandleCharset, long extractLen, InterfaceConnection ic) throws SQLException{
int wlength = Header.sizeOf();
LogicalByteArray buf;
@@ -37,20 +37,23 @@ class ExtractLobMessage {
byte[] lobHandleBytes = ic.encodeString(lobHandle, InterfaceUtilities.SQLCHARSETCODE_UTF8);
wlength += TRANSPORT.size_int;
- // wlength += TRANSPORT.size_long; // length of lobHandle
if (lobHandle.length() > 0) {
wlength += TRANSPORT.size_bytesWithCharset(lobHandleBytes);
}
- if (lobLength > 0) {
+ if (extractLen > 0) {
wlength += TRANSPORT.size_long;
}
buf = new LogicalByteArray(wlength, Header.sizeOf(), ic.getByteSwap());
- buf.insertInt(extractType);
+ buf.insertShort(extractType);
buf.insertStringWithCharset(lobHandleBytes, lobHandleCharset);
+
+ if (extractType == LOB_EXTRACT_BUFFER) {
+ buf.insertLong(extractLen);
+ }
return buf;
} catch (Exception e) {
throw TrafT4Messages.createSQLException(ic.t4props_, ic.getLocale(), "unsupported_encoding", "UTF-8");
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/bd792ff7/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/ExtractLobReply.java
----------------------------------------------------------------------
diff --git a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/ExtractLobReply.java b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/ExtractLobReply.java
index ca2c7f2..c54d854 100644
--- a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/ExtractLobReply.java
+++ b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/ExtractLobReply.java
@@ -30,9 +30,11 @@ class ExtractLobReply {
odbc_SQLSvc_ExtractLob_exc_ m_p1;
String proxySyntax = "";
- int lobDataLen = 0;
+ long lobLength = 0;
+ long extractLen = 0;
+ byte[] extractData = null;
- byte[] lobDataValue = null;
+ public short extractAPIType = 0;
ExtractLobReply(LogicalByteArray buf, InterfaceConnection ic) throws SQLException {
buf.setLocation(Header.sizeOf());
@@ -42,9 +44,20 @@ class ExtractLobReply {
m_p1.extractFromByteArray(buf, ic);
if (m_p1.exception_nr == TRANSPORT.CEE_SUCCESS) {
- lobDataLen = (int) buf.extractInt();
- if (lobDataLen > 0) {
- lobDataValue = buf.extractByteArray(lobDataLen);
+
+ extractAPIType = buf.extractShort();
+ switch (extractAPIType) {
+ case 0:
+ lobLength = buf.extractLong();
+ break;
+ case 1:
+ extractLen = buf.extractLong();
+ extractData = buf.extractByteArray(extractLen);
+ break;
+ case 2:
+ break;
+ default:
+ break;
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/bd792ff7/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Blob.java
----------------------------------------------------------------------
diff --git a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Blob.java b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Blob.java
index 499dd82..fb76ea5 100644
--- a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Blob.java
+++ b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Blob.java
@@ -35,13 +35,11 @@ public class TrafT4Blob extends TrafT4Lob implements Blob
super(connection, lobHandle, data, Types.BLOB);
}
- @Override
public InputStream getBinaryStream() throws SQLException {
testAvailability();
return new ByteArrayInputStream((byte[]) data_);
}
- @Override
public InputStream getBinaryStream(long pos, long length) throws SQLException {
testAvailability();
return new ByteArrayInputStream((byte[]) data_);
@@ -53,7 +51,6 @@ public class TrafT4Blob extends TrafT4Lob implements Blob
* bytes starting at position pos.
* */
- @Override
public byte[] getBytes(long pos, int length) throws SQLException {
testAvailability();
@@ -75,14 +72,12 @@ public class TrafT4Blob extends TrafT4Lob implements Blob
return buf;
}
- @Override
public int setBytes(long pos, byte[] bytes) throws SQLException {
testAvailability();
return setBytes(pos, bytes, 0, bytes.length);
}
- @Override
public int setBytes(long pos, byte[] bytes, int offset, int len) throws SQLException {
testAvailability();
OutputStream out = setBinaryStream(pos);
@@ -102,24 +97,20 @@ public class TrafT4Blob extends TrafT4Lob implements Blob
return len;
}
- @Override
public long position(Blob pattern, long start) throws SQLException {
return position(pattern.getBytes(0, (int) pattern.length()), start);
}
- @Override
public long position(byte[] pattern, long start) throws SQLException {
TrafT4Messages.throwUnsupportedFeatureException(connection_.props_, connection_.getLocale(), "position()");
return 0;
}
- @Override
public OutputStream setBinaryStream(long pos) throws SQLException {
testAvailability();
return setOutputStream(pos);
}
- @Override
public void truncate(long len) throws SQLException {
testAvailability();
@@ -145,13 +136,11 @@ public class TrafT4Blob extends TrafT4Lob implements Blob
}
- @Override
public long length() throws SQLException {
testAvailability();
return data_ == null ? 0 : ((byte[]) data_).length;
}
- @Override
public void free() throws SQLException {
data_ = null;
isFreed_ = true;
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/bd792ff7/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Clob.java
----------------------------------------------------------------------
diff --git a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Clob.java b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Clob.java
index f7280fe..5877089 100644
--- a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Clob.java
+++ b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Clob.java
@@ -42,13 +42,11 @@ public class TrafT4Clob extends TrafT4Lob implements Clob {
this.data_ = "";
}
- @Override
public void free() throws SQLException {
data_ = null;
isFreed_ = true;
}
- @Override
public InputStream getAsciiStream() throws SQLException {
testAvailability();
if (data_ != null) {
@@ -58,7 +56,6 @@ public class TrafT4Clob extends TrafT4Lob implements Clob {
return null;
}
- @Override
public Reader getCharacterStream() throws SQLException {
testAvailability();
@@ -69,14 +66,12 @@ public class TrafT4Clob extends TrafT4Lob implements Clob {
return null;
}
- @Override
public Reader getCharacterStream(long pos, long length) throws SQLException {
testAvailability();
return new StringReader(getSubString(pos, (int) length));
}
- @Override
public String getSubString(long pos, int length) throws SQLException {
testAvailability();
@@ -94,7 +89,6 @@ public class TrafT4Clob extends TrafT4Lob implements Clob {
return ((String) data_).substring(beginIndex, endIndex);
}
- @Override
public long length() throws SQLException {
testAvailability();
if (data_ != null) {
@@ -104,7 +98,6 @@ public class TrafT4Clob extends TrafT4Lob implements Clob {
return 0;
}
- @Override
public long position(String searchstr, long start) throws SQLException {
testAvailability();
//start--;
@@ -123,12 +116,10 @@ public class TrafT4Clob extends TrafT4Lob implements Clob {
return pos;
}
- @Override
public long position(Clob searchstr, long start) throws SQLException {
return position(searchstr.getSubString(1L, (int) searchstr.length()), start);
}
- @Override
public OutputStream setAsciiStream(long pos) throws SQLException {
testAvailability();
if (pos < 1) {
@@ -139,14 +130,12 @@ public class TrafT4Clob extends TrafT4Lob implements Clob {
return setOutputStream(pos);
}
- @Override
public Writer setCharacterStream(long pos) throws SQLException {
testAvailability();
TrafT4Writer writer = new TrafT4Writer(this, pos);
return writer;
}
- @Override
public int setString(long pos, String str) throws SQLException {
testAvailability();
int startIndex = (int) pos - 1;
@@ -168,7 +157,6 @@ public class TrafT4Clob extends TrafT4Lob implements Clob {
return len;
}
- @Override
public int setString(long pos, String str, int offset, int len) throws SQLException {
testAvailability();
int start = (int) pos - 1;
@@ -183,7 +171,6 @@ public class TrafT4Clob extends TrafT4Lob implements Clob {
return len;
}
- @Override
public void truncate(long len) throws SQLException {
testAvailability();
if (len > ((String) data_).length()) {
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/bd792ff7/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Lob.java
----------------------------------------------------------------------
diff --git a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Lob.java b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Lob.java
index 054da20..f18377b 100644
--- a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Lob.java
+++ b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Lob.java
@@ -34,6 +34,7 @@ public abstract class TrafT4Lob {
protected TrafT4Connection connection_ = null;
protected boolean isFreed_ = true;
protected int lobType = Types.BLOB;
+ protected long length = 0;
protected Object data_ = null;
@@ -91,23 +92,49 @@ public abstract class TrafT4Lob {
}
T4Connection t4connection = this.connection_.getServerHandle().getT4Connection();
- LogicalByteArray wbuffer = ExtractLobMessage.marshal(ExtractLobMessage.LOB_EXTRACT_BUFFER, lobHandle_, 1, 0,
+ LogicalByteArray wbuffer = ExtractLobMessage.marshal(ExtractLobMessage.LOB_EXTRACT_LEN, lobHandle_, 1, 0,
connection_.ic_);
LogicalByteArray rbuffer = t4connection.getReadBuffer(TRANSPORT.SRVR_API_EXTRACTLOB, wbuffer);
ExtractLobReply reply = new ExtractLobReply(rbuffer, connection_.ic_);
- data_ = reply.lobDataValue;
+ length = reply.lobLength;
+
+ byte[] fetchData_ = new byte[(int) length];
+
+ try {
+ int pos = 0;
+ int chunkSize = 100 * 1024 * 1024;
+ while (pos < length) {
+ int remainSize = (int) (length - pos);
+ int fecthSize = remainSize < chunkSize ? remainSize : chunkSize;
+ wbuffer = ExtractLobMessage.marshal(ExtractLobMessage.LOB_EXTRACT_BUFFER, lobHandle_, 1, fecthSize, connection_.ic_);
+ rbuffer = t4connection.getReadBuffer(TRANSPORT.SRVR_API_EXTRACTLOB, wbuffer);
+ reply = new ExtractLobReply(rbuffer, connection_.ic_);
+ System.arraycopy(reply.extractData, 0, fetchData_, pos, (int) reply.extractLen);
+ pos += reply.extractLen;
+ }
+
+ }
+ catch(SQLException se) {
+ throw se;
+ }
+ finally {
+ // close the LOB cursor
+ wbuffer = ExtractLobMessage.marshal(ExtractLobMessage.LOB_CLOSE_CURSOR, lobHandle_, 1, 0, connection_.ic_);
+ rbuffer = t4connection.getReadBuffer(TRANSPORT.SRVR_API_EXTRACTLOB, wbuffer);
+ reply = new ExtractLobReply(rbuffer, connection_.ic_);
+ }
switch (lobType) {
case Types.BLOB:
- data_ = reply.lobDataValue;
+ data_ = fetchData_;
break;
case Types.CLOB:
try {
- if (reply.lobDataLen == 0) {
+ if (length == 0) {
data_ = "";
}
else {
- data_ = new String(reply.lobDataValue, "UTF-8");
+ data_ = new String(fetchData_, "UTF-8");
}
} catch (UnsupportedEncodingException e) {
throw TrafT4Messages.createSQLException(this.connection_.ic_.t4props_, this.connection_.ic_.getLocale(),
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/bd792ff7/core/conn/odbc/src/odbc/nsksrvr/Interface/marshalingsrvr_srvr.cpp
----------------------------------------------------------------------
diff --git a/core/conn/odbc/src/odbc/nsksrvr/Interface/marshalingsrvr_srvr.cpp b/core/conn/odbc/src/odbc/nsksrvr/Interface/marshalingsrvr_srvr.cpp
index 63dfbb7..30b70ba 100644
--- a/core/conn/odbc/src/odbc/nsksrvr/Interface/marshalingsrvr_srvr.cpp
+++ b/core/conn/odbc/src/odbc/nsksrvr/Interface/marshalingsrvr_srvr.cpp
@@ -2307,8 +2307,10 @@ odbc_SQLsrvr_ExtractLob_param_res_(
, char* &buffer
, UInt32& message_length
, const struct odbc_SQLsrvr_ExtractLob_exc_ *exception_
- , IDL_long_long lobDataLen
- , BYTE * lobDataValue
+ , IDL_short extractLobAPI
+ , IDL_long_long lobLength
+ , IDL_long_long extractLen
+ , BYTE * extractData
)
{
CEE_status sts = CEE_SUCCESS;
@@ -2352,13 +2354,20 @@ odbc_SQLsrvr_ExtractLob_param_res_(
break;
}
- // length of IDL_long LOB len
- wlength += sizeof(IDL_long);
- if (lobDataValue != NULL)
- {
- wlength += lobDataLen;
+ wlength += sizeof(IDL_short);
+ switch (extractLobAPI) {
+ case 0:
+ wlength += sizeof(IDL_long_long);
+ break;
+ case 1:
+ wlength += sizeof(IDL_long_long);
+ wlength += extractLen;
+ break;
+ case 2:
+ break;
+ default:
+ break;
}
- wlength += lobDataLen;
// update the length of message
message_length = wlength;
@@ -2394,10 +2403,25 @@ odbc_SQLsrvr_ExtractLob_param_res_(
default:
break;
}
- IDL_long_copy((IDL_long *)&lobDataLen, curptr);
- if (lobDataValue != NULL)
- {
- IDL_byteArray_copy(lobDataValue, lobDataLen, curptr);
+
+ //IDL_long_copy((IDL_long *)&extractLobAPI, curptr);
+ IDL_short_copy((IDL_short *)&extractLobAPI, curptr);
+
+ switch (extractLobAPI) {
+ case 0:
+ IDL_long_long_copy((IDL_long_long *)&lobLength, curptr);
+ break;
+ case 1:
+ IDL_long_long_copy((IDL_long_long *)&extractLen, curptr);
+ if (extractLen != 0)
+ {
+ IDL_byteArray_copy(extractData, extractLen, curptr);
+ }
+ break;
+ case 2:
+ break;
+ default:
+ break;
}
return sts;
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/bd792ff7/core/conn/odbc/src/odbc/nsksrvr/Interface/marshalingsrvr_srvr.h
----------------------------------------------------------------------
diff --git a/core/conn/odbc/src/odbc/nsksrvr/Interface/marshalingsrvr_srvr.h b/core/conn/odbc/src/odbc/nsksrvr/Interface/marshalingsrvr_srvr.h
index 8d21291..af3e6ae 100644
--- a/core/conn/odbc/src/odbc/nsksrvr/Interface/marshalingsrvr_srvr.h
+++ b/core/conn/odbc/src/odbc/nsksrvr/Interface/marshalingsrvr_srvr.h
@@ -388,8 +388,10 @@ odbc_SQLsrvr_ExtractLob_param_res_(
, char *&buffer
, UInt32 & message_length
, const struct odbc_SQLsrvr_ExtractLob_exc_ *exception_
- , IDL_long_long lobDataLen
- , BYTE * lobDataValue
+ , IDL_short extractLobAPI
+ , IDL_long_long lobLength
+ , IDL_long_long extractLen
+ , BYTE * extractData
);
CEE_status
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/bd792ff7/core/conn/odbc/src/odbc/nsksrvr/Interface/odbcs_srvr.cpp
----------------------------------------------------------------------
diff --git a/core/conn/odbc/src/odbc/nsksrvr/Interface/odbcs_srvr.cpp b/core/conn/odbc/src/odbc/nsksrvr/Interface/odbcs_srvr.cpp
index 5fba9e1..a6f6639 100644
--- a/core/conn/odbc/src/odbc/nsksrvr/Interface/odbcs_srvr.cpp
+++ b/core/conn/odbc/src/odbc/nsksrvr/Interface/odbcs_srvr.cpp
@@ -1526,14 +1526,15 @@ EXTRACTLOB_IOMessage(
IDL_char *curptr;
IDL_long inputPosition = 0;
- IDL_long extractLobAPI = 0;
+ IDL_short extractLobAPI = 0;
+ IDL_long extractLen = 0;
IDL_long lobHandleLen = 0;
IDL_string lobHandle = NULL;
IDL_long lobHandleCharset = 0;
curptr = pnode->r_buffer();
- extractLobAPI = *(IDL_long *)(curptr + inputPosition);
+ extractLobAPI = *(IDL_short *)(curptr + inputPosition);
inputPosition += sizeof(extractLobAPI);
lobHandleLen = *(IDL_long*)(curptr + inputPosition);
@@ -1547,11 +1548,15 @@ EXTRACTLOB_IOMessage(
inputPosition += sizeof(lobHandleCharset);
}
+ extractLen = *(IDL_long *)(curptr + inputPosition);
+ inputPosition += sizeof(extractLen);
+
odbc_SQLSrvr_ExtractLob_ame_(
objtag_,
call_id_,
extractLobAPI,
- lobHandle
+ lobHandle,
+ extractLen
);
}
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/bd792ff7/core/conn/odbc/src/odbc/nsksrvr/Interface/odbcs_srvr_res.cpp
----------------------------------------------------------------------
diff --git a/core/conn/odbc/src/odbc/nsksrvr/Interface/odbcs_srvr_res.cpp b/core/conn/odbc/src/odbc/nsksrvr/Interface/odbcs_srvr_res.cpp
index 48602b7..5a34c2c 100644
--- a/core/conn/odbc/src/odbc/nsksrvr/Interface/odbcs_srvr_res.cpp
+++ b/core/conn/odbc/src/odbc/nsksrvr/Interface/odbcs_srvr_res.cpp
@@ -647,8 +647,10 @@ odbc_SQLSrvr_ExtractLob_ts_res_(
/* In */ CEE_tag_def objtag_
, /* In */ const CEE_handle_def *call_id_
, /* In */ const struct odbc_SQLsrvr_ExtractLob_exc_ *exception_
- , /* In */ IDL_long_long lobDataLen
- , /* In */ BYTE *lobDataValue
+ , /* In */ IDL_short extractLobAPI
+ , /* In */ IDL_long_long lobLength
+ , /* In */ IDL_long_long extractLen
+ , /* In */ BYTE * extractData
)
{
CInterface* pnode = (CInterface *)objtag_;
@@ -666,17 +668,19 @@ odbc_SQLSrvr_ExtractLob_ts_res_(
, buffer
, message_length
, exception_
- , lobDataLen
- , lobDataValue
+ , extractLobAPI
+ , lobLength
+ , extractLen
+ , extractData
);
if (sts == CEE_SUCCESS)
sts = pnode->send_response(buffer, message_length, call_id_);
- if (lobDataValue != NULL)
+ if (extractData != NULL)
{
- delete [] lobDataValue;
- lobDataValue = NULL;
+ delete [] extractData;
+ extractData = NULL;
}
return sts;
}
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/bd792ff7/core/conn/odbc/src/odbc/nsksrvr/Interface/odbcs_srvr_res.h
----------------------------------------------------------------------
diff --git a/core/conn/odbc/src/odbc/nsksrvr/Interface/odbcs_srvr_res.h b/core/conn/odbc/src/odbc/nsksrvr/Interface/odbcs_srvr_res.h
index fba2e39..7e5f51d 100644
--- a/core/conn/odbc/src/odbc/nsksrvr/Interface/odbcs_srvr_res.h
+++ b/core/conn/odbc/src/odbc/nsksrvr/Interface/odbcs_srvr_res.h
@@ -346,8 +346,10 @@ odbc_SQLSrvr_ExtractLob_ts_res_(
/* In */ CEE_tag_def objtag_
, /* In */ const CEE_handle_def *call_id_
, /* In */ const struct odbc_SQLsrvr_ExtractLob_exc_ *exception_
- , /* In */ IDL_long_long lobDataLen
- , /* In */ BYTE * lobDataValue
+ , /* In */ IDL_short extractLobAPI
+ , /* In */ IDL_long_long lobLength
+ , /* In */ IDL_long_long extractLen
+ , /* In */ BYTE * extractData
);
void
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/bd792ff7/core/conn/odbc/src/odbc/nsksrvr/SrvrConnect.cpp
----------------------------------------------------------------------
diff --git a/core/conn/odbc/src/odbc/nsksrvr/SrvrConnect.cpp b/core/conn/odbc/src/odbc/nsksrvr/SrvrConnect.cpp
index 39f363e..fb623e2 100644
--- a/core/conn/odbc/src/odbc/nsksrvr/SrvrConnect.cpp
+++ b/core/conn/odbc/src/odbc/nsksrvr/SrvrConnect.cpp
@@ -8534,12 +8534,13 @@ void
odbc_SQLSrvr_ExtractLob_ame_(
/* In */ CEE_tag_def objtag_
, /* In */ const CEE_handle_def *call_id_
- , /* In */ IDL_long extractLobAPI
- , /* In */ IDL_string lobHandle)
+ , /* In */ IDL_short extractLobAPI
+ , /* In */ IDL_string lobHandle
+ , /* In */ IDL_long_long extractLen)
{
ERROR_DESC_LIST_def sqlWarning = {0, 0};
- IDL_long_long lobDataLen = 0;
- BYTE * lobDataValue = NULL;
+ IDL_long_long lobLength = 0;
+ BYTE * extractData = NULL;
odbc_SQLsrvr_ExtractLob_exc_ exception_ = {0, 0};
@@ -8548,14 +8549,17 @@ odbc_SQLSrvr_ExtractLob_ame_(
&exception_,
extractLobAPI,
lobHandle,
- lobDataLen,
- lobDataValue);
+ lobLength,
+ extractLen,
+ extractData);
odbc_SQLSrvr_ExtractLob_ts_res_(objtag_,
call_id_,
&exception_,
- lobDataLen,
- lobDataValue);
+ extractLobAPI,
+ lobLength,
+ extractLen,
+ extractData);
}
void
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/bd792ff7/core/conn/odbc/src/odbc/nsksrvr/SrvrConnect.h
----------------------------------------------------------------------
diff --git a/core/conn/odbc/src/odbc/nsksrvr/SrvrConnect.h b/core/conn/odbc/src/odbc/nsksrvr/SrvrConnect.h
index 66556e8..d429fc8 100644
--- a/core/conn/odbc/src/odbc/nsksrvr/SrvrConnect.h
+++ b/core/conn/odbc/src/odbc/nsksrvr/SrvrConnect.h
@@ -336,8 +336,9 @@ extern "C" void
odbc_SQLSrvr_ExtractLob_ame_(
/* In */ CEE_tag_def objtag_
, /* In */ const CEE_handle_def *call_id_
- , /* In */ IDL_long extractLobAPI
+ , /* In */ IDL_short extractLobAPI
, /* In */ IDL_string lobHandle
+ , /* In */ IDL_long_long extractLen
);
void
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/bd792ff7/core/conn/odbc/src/odbc/nsksrvrcore/srvrcommon.h
----------------------------------------------------------------------
diff --git a/core/conn/odbc/src/odbc/nsksrvrcore/srvrcommon.h b/core/conn/odbc/src/odbc/nsksrvrcore/srvrcommon.h
index 6ed6692..ec5315c 100644
--- a/core/conn/odbc/src/odbc/nsksrvrcore/srvrcommon.h
+++ b/core/conn/odbc/src/odbc/nsksrvrcore/srvrcommon.h
@@ -387,8 +387,9 @@ odbc_SQLSrvr_ExtractLob_sme_(
, /* In */ odbc_SQLsrvr_ExtractLob_exc_ *exception_
, /* In */ IDL_long extractLobAPI
, /* In */ IDL_string lobHandle
- , /* In */ IDL_long_long &lobDataLen
- , /* In */ BYTE* &lobDataValue);
+ , /* In */ IDL_long_long &lobLength
+ , /* Out */ IDL_long_long &extractLen
+ , /* Out */ BYTE *& extractData);
extern "C" void
odbc_SQLSrvr_UpdateLob_sme_(
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/bd792ff7/core/conn/odbc/src/odbc/nsksrvrcore/srvrothers.cpp
----------------------------------------------------------------------
diff --git a/core/conn/odbc/src/odbc/nsksrvrcore/srvrothers.cpp b/core/conn/odbc/src/odbc/nsksrvrcore/srvrothers.cpp
index ccbb689..af63ca3 100644
--- a/core/conn/odbc/src/odbc/nsksrvrcore/srvrothers.cpp
+++ b/core/conn/odbc/src/odbc/nsksrvrcore/srvrothers.cpp
@@ -6388,13 +6388,14 @@ odbc_SQLSrvr_ExtractLob_sme_(
/* In */ CEE_tag_def objtag_
, /* In */ const CEE_handle_def *call_id_
, /* Out */ odbc_SQLsrvr_ExtractLob_exc_ *exception_
- , /* In */ IDL_long extractLobAPI
+ , /* In */ IDL_short extractLobAPI
, /* In */ IDL_string lobHandle
- , /* Out */ IDL_long_long &lobDataLen
- , /* Out */ BYTE *& lobDataValue
+ , /* In */ IDL_long_long &lobLength
+ , /* Out */ IDL_long_long &extractLen
+ , /* Out */ BYTE *& extractData
)
{
- char LobExtractQuery[1000];
+ char LobExtractQuery[1000] = {0};
char RequestError[200] = {0};
SRVR_STMT_HDL *QryLobExtractSrvrStmt = NULL;
@@ -6411,8 +6412,34 @@ odbc_SQLSrvr_ExtractLob_sme_(
exception_->exception_nr = odbc_SQLsrvr_ExtractLob_ParamError_exn_;
exception_->u.ParamError.ParamDesc = SQLSVC_EXCEPTION_UNABLE_TO_ALLOCATE_SQL_STMT;
}
+FILE * fp= NULL;
+ fp = fopen("/tmp/closeLOB", "a+");
+ switch (extractLobAPI) {
+ case 0:
+ fprintf(fp, "new LOB API\n");
+ extractData = NULL;
+ snprintf(LobExtractQuery, sizeof(LobExtractQuery), "EXTRACT LOBLENGTH(LOB'%s') LOCATION %Ld", lobHandle, (Int64)&lobLength);
+ break;
+ case 1:
+ extractData = new BYTE[extractLen + 1];
+ if (extractData == NULL)
+ {
+ exception_->exception_nr = odbc_SQLsrvr_ExtractLob_ParamError_exn_;
+ exception_->u.ParamError.ParamDesc = SQLSVC_EXCEPTION_BUFFER_ALLOC_FAILED;
+ }
- snprintf(LobExtractQuery, sizeof(LobExtractQuery), "EXTRACT LOBLENGTH(LOB'%s') LOCATION %Ld", lobHandle, (Int64)&lobDataLen);
+ snprintf(LobExtractQuery, sizeof(LobExtractQuery), "EXTRACT LOBTOBUFFER(LOB'%s', LOCATION %Ld, SIZE %Ld)", lobHandle, (Int64)extractData, &extractLen);
+ break;
+ case 102:
+ extractLen = 0;
+ extractData = NULL;
+ snprintf(LobExtractQuery, sizeof(LobExtractQuery), "EXTRACT LOBTOBUFFER(LOB'%s', LOCATION %Ld, SIZE %Ld)", lobHandle, (Int64)extractData, &extractLen);
+ fprintf(fp, "close\n");
+ fclose(fp);
+ break;
+ default:
+ return ;
+ }
try
{
@@ -6446,70 +6473,13 @@ odbc_SQLSrvr_ExtractLob_sme_(
ODBCMX_SERVER,
srvrGlobal->srvrObjRef,
1,
+ //"Exception in executing EXTRACT LOBTOBUFFER");
"Exception in executing EXTRACT LOBLENGTH");
exception_->exception_nr = odbc_SQLsrvr_ExtractLob_ParamError_exn_;
exception_->u.ParamError.ParamDesc = SQLSVC_EXCEPTION_EXECDIRECT_FAILED;
}
- lobDataValue = new BYTE[lobDataLen + 1];
- if (lobDataValue == NULL)
- {
- exception_->exception_nr = odbc_SQLsrvr_ExtractLob_ParamError_exn_;
- exception_->u.ParamError.ParamDesc = SQLSVC_EXCEPTION_BUFFER_ALLOC_FAILED;
- }
-
- memset(lobDataValue, 0, lobDataLen + 1);
-
- memset(LobExtractQuery, 0, sizeof(LobExtractQuery));
-
- snprintf(LobExtractQuery, sizeof(LobExtractQuery), "EXTRACT LOBTOBUFFER(LOB'%s', LOCATION %Ld, SIZE %Ld)", lobHandle, (Int64)lobDataValue, &lobDataLen);
-
- if (exception_->exception_nr == 0)
- {
- try
- {
- short retcode = QryLobExtractSrvrStmt->ExecDirect(NULL, LobExtractQuery, EXTERNAL_STMT, TYPE_CALL, SQL_ASYNC_ENABLE_OFF, 0);
- if (retcode == SQL_ERROR)
- {
- ERROR_DESC_def *p_buffer = QryLobExtractSrvrStmt->sqlError.errorList._buffer;
- strncpy(RequestError, p_buffer->errorText, sizeof(RequestError) - 1);
-
- SendEventMsg(MSG_SQL_ERROR,
- EVENTLOG_ERROR_TYPE,
- srvrGlobal->nskProcessInfo.processId,
- ODBCMX_SERVER,
- srvrGlobal->srvrObjRef,
- 2,
- p_buffer->sqlcode,
- RequestError);
-
- exception_->exception_nr = odbc_SQLsrvr_ExtractLob_ParamError_exn_;
- exception_->u.SQLError.errorList._length = QryLobExtractSrvrStmt->sqlError.errorList._length;
- exception_->u.SQLError.errorList._buffer = QryLobExtractSrvrStmt->sqlError.errorList._buffer;
- exception_->u.ParamError.ParamDesc = SQLSVC_EXCEPTION_EXECUTE_FAILED;
- }
- }
- catch (...)
- {
- SendEventMsg(MSG_PROGRAMMING_ERROR,
- EVENTLOG_ERROR_TYPE,
- srvrGlobal->nskProcessInfo.processId,
- ODBCMX_SERVER,
- srvrGlobal->srvrObjRef,
- 1,
- "Exception in executing EXTRACT LOBTOBUFFER");
-
- exception_->exception_nr = odbc_SQLsrvr_ExtractLob_ParamError_exn_;
- exception_->u.ParamError.ParamDesc = SQLSVC_EXCEPTION_EXECDIRECT_FAILED;
- }
-
- if (exception_->exception_nr != 0) {
- lobDataLen = 0;
- delete [] lobDataValue;
- lobDataValue = NULL;
- }
- }
}
extern "C" void
@@ -6591,6 +6561,9 @@ odbc_SQLSrvr_UpdateLob_sme_(
exception_->u.ParamError.ParamDesc = SQLSVC_EXCEPTION_EXECUTE_FAILED;
}
+ if (QryLobUpdateSrvrStmt != NULL) {
+ QryLobUpdateSrvrStmt->Close(SQL_DROP);
+ }
}
//========================================================================
[6/6] incubator-trafodion git commit: Merge remote branch
'origin/pr/1240/head' into merge_1240
Posted by sa...@apache.org.
Merge remote branch 'origin/pr/1240/head' into merge_1240
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/e26ec04a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/e26ec04a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/e26ec04a
Branch: refs/heads/release2.2
Commit: e26ec04a7815cb46f3d10d9816398c10ad13df67
Parents: 42b2b0b 1ade420
Author: Sandhya Sundaresan <sa...@apache.org>
Authored: Mon Sep 25 04:32:50 2017 +0000
Committer: Sandhya Sundaresan <sa...@apache.org>
Committed: Mon Sep 25 04:32:50 2017 +0000
----------------------------------------------------------------------
.../trafodion/jdbc/t4/ExtractLobMessage.java | 13 +--
.../org/trafodion/jdbc/t4/ExtractLobReply.java | 23 +++--
.../org/trafodion/jdbc/t4/T4Properties.java | 28 +++++-
.../java/org/trafodion/jdbc/t4/TrafT4Blob.java | 11 ---
.../java/org/trafodion/jdbc/t4/TrafT4Clob.java | 13 ---
.../java/org/trafodion/jdbc/t4/TrafT4Lob.java | 39 ++++++--
.../nsksrvr/Interface/marshalingsrvr_srvr.cpp | 48 +++++++---
.../nsksrvr/Interface/marshalingsrvr_srvr.h | 6 +-
.../src/odbc/nsksrvr/Interface/odbcs_srvr.cpp | 11 ++-
.../odbc/nsksrvr/Interface/odbcs_srvr_res.cpp | 18 ++--
.../src/odbc/nsksrvr/Interface/odbcs_srvr_res.h | 6 +-
core/conn/odbc/src/odbc/nsksrvr/SrvrConnect.cpp | 20 +++--
core/conn/odbc/src/odbc/nsksrvr/SrvrConnect.h | 3 +-
.../conn/odbc/src/odbc/nsksrvrcore/srvrcommon.h | 5 +-
.../odbc/src/odbc/nsksrvrcore/srvrothers.cpp | 94 +++++++-------------
.../org/trafodion/jdbc_test/JdbcCommon.java | 27 ++++--
.../java/org/trafodion/jdbc_test/PropTest.java | 9 +-
.../java/org/trafodion/jdbc_test/TestBlob.java | 16 ++--
.../org/trafodion/jdbc_test/TestBlobBatch.java | 12 ++-
.../java/org/trafodion/jdbc_test/TestClob.java | 17 +++-
.../org/trafodion/jdbc_test/TestClobBatch.java | 15 ++--
.../org/trafodion/jdbc_test/TestForeignKey.java | 87 +++++++++++-------
.../trafodion/jdbc_test/TestGetIndexInfo.java | 24 +++--
23 files changed, 335 insertions(+), 210 deletions(-)
----------------------------------------------------------------------