Fix jdbct4 code

Project: http://git-wip-us.apache.org/repos/asf/trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafodion/commit/32c92c35
Tree: http://git-wip-us.apache.org/repos/asf/trafodion/tree/32c92c35
Diff: http://git-wip-us.apache.org/repos/asf/trafodion/diff/32c92c35

Branch: refs/heads/master
Commit: 32c92c355895c38600cc82100ef9ec3f6842e551
Parents: 4ffb07a
Author: Li Ze <[email protected]>
Authored: Fri Jun 1 14:49:02 2018 +0800
Committer: Li Ze <[email protected]>
Committed: Fri Jun 1 14:49:02 2018 +0800

----------------------------------------------------------------------
 .../java/org/trafodion/jdbc/t4/InitializeDialogueMessage.java   | 2 --
 .../main/java/org/trafodion/jdbc/t4/InterfaceConnection.java    | 1 +
 .../jdbcT4/src/main/java/org/trafodion/jdbc/t4/TRANSPORT.java   | 1 +
 core/conn/odbc/src/odbc/Common/Global.h                         | 1 +
 core/conn/odbc/src/odbc/nsksrvr/Interface/odbcs_srvr.cpp        | 2 --
 core/conn/odbc/src/odbc/nsksrvr/SrvrConnect.cpp                 | 2 +-
 core/conn/odbc/src/odbc/nsksrvrcore/srvrothers.cpp              | 5 +++++
 7 files changed, 9 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafodion/blob/32c92c35/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/InitializeDialogueMessage.java
----------------------------------------------------------------------
diff --git 
a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/InitializeDialogueMessage.java
 
b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/InitializeDialogueMessage.java
index 289f1d8..2971baa 100644
--- 
a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/InitializeDialogueMessage.java
+++ 
b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/InitializeDialogueMessage.java
@@ -40,7 +40,6 @@ class InitializeDialogueMessage {
                wlength += TRANSPORT.size_int; // dialogueId
                wlength += TRANSPORT.size_int; // optionFlags1
                wlength += TRANSPORT.size_int; // optionFlags2
-               wlength += TRANSPORT.size_int; // clipVarchar
                wlength += sessionBytes.length;
                wlength += clientUserBytes.length;
 
@@ -61,7 +60,6 @@ class InitializeDialogueMessage {
                {
                        buf.insertString(clientUserBytes);
                }
-               buf.insertInt(inContext.clipVarchar);
                return buf;
        }
 }

http://git-wip-us.apache.org/repos/asf/trafodion/blob/32c92c35/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/InterfaceConnection.java
----------------------------------------------------------------------
diff --git 
a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/InterfaceConnection.java 
b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/InterfaceConnection.java
index da3dcae..f0be4fd 100644
--- 
a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/InterfaceConnection.java
+++ 
b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/InterfaceConnection.java
@@ -913,6 +913,7 @@ class InterfaceConnection {
                        this.oldEncryptPassword();
                        this.initDiag(false,false);
                }
+        this.setConnectionAttr(this._t4Conn, TRANSPORT.SQL_ATTR_CLIPVARCHAR, 
this.inContext.clipVarchar, String.valueOf(this.inContext.clipVarchar));
        }
 
        // @deprecated

http://git-wip-us.apache.org/repos/asf/trafodion/blob/32c92c35/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TRANSPORT.java
----------------------------------------------------------------------
diff --git 
a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TRANSPORT.java 
b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TRANSPORT.java
index d297c31..4346cc2 100644
--- a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TRANSPORT.java
+++ b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TRANSPORT.java
@@ -172,6 +172,7 @@ class TRANSPORT {
        static final short SRVR_API_UPDATELOB = 3031;
 
        static final short SQL_ATTR_ROWSET_RECOVERY = 2000;
+    static final short SQL_ATTR_CLIPVARCHAR = 2001;
 
        static final int MAX_REQUEST = 300;
        static final int MAX_BUFFER_LENGTH = 32000;

http://git-wip-us.apache.org/repos/asf/trafodion/blob/32c92c35/core/conn/odbc/src/odbc/Common/Global.h
----------------------------------------------------------------------
diff --git a/core/conn/odbc/src/odbc/Common/Global.h 
b/core/conn/odbc/src/odbc/Common/Global.h
index fb29d50..37274f8 100644
--- a/core/conn/odbc/src/odbc/Common/Global.h
+++ b/core/conn/odbc/src/odbc/Common/Global.h
@@ -216,6 +216,7 @@ class ODBCMXTraceMsg;
 #define RES_ESTIMATEDCOST                      0
 
 #define        SQL_ATTR_ROWSET_RECOVERY        2000
+#define SQL_ATTR_CLIPVARCHAR        2001
 
 // session statistics values range from 0x00000001 thru 0x00000128
 #define SESSTAT_LOGINFO                                1

http://git-wip-us.apache.org/repos/asf/trafodion/blob/32c92c35/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 ff7e6d0..079277a 100644
--- a/core/conn/odbc/src/odbc/nsksrvr/Interface/odbcs_srvr.cpp
+++ b/core/conn/odbc/src/odbc/nsksrvr/Interface/odbcs_srvr.cpp
@@ -616,8 +616,6 @@ SQLCONNECT_IOMessage(
        else
                inContext.clientUserName = NULL;
 
-       inContext.clipVarchar = *(IDL_long *)(curptr+inputPosition);
-       inputPosition += sizeof(inContext.clipVarchar);
 
        odbc_SQLSvc_InitializeDialogue_ame_(
                  objtag_

http://git-wip-us.apache.org/repos/asf/trafodion/blob/32c92c35/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 e37d8cc..5389225 100644
--- a/core/conn/odbc/src/odbc/nsksrvr/SrvrConnect.cpp
+++ b/core/conn/odbc/src/odbc/nsksrvr/SrvrConnect.cpp
@@ -3782,7 +3782,7 @@ odbc_SQLSvc_InitializeDialogue_ame_(
        if ((srvrGlobal->drvrVersion.componentId == JDBC_DRVR_COMPONENT) && 
((long) (inContext->idleTimeoutSec) > JDBC_DATASOURCE_CONN_IDLE_TIMEOUT))
                srvrGlobal->javaConnIdleTimeout = inContext->idleTimeoutSec;
 
-    srvrGlobal->clipVarchar = inContext->clipVarchar;
+    srvrGlobal->clipVarchar = 0;
        // collect information for resource statistics
        char nodename[100];
        short error;

http://git-wip-us.apache.org/repos/asf/trafodion/blob/32c92c35/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 987edd4..0be0072 100644
--- a/core/conn/odbc/src/odbc/nsksrvrcore/srvrothers.cpp
+++ b/core/conn/odbc/src/odbc/nsksrvrcore/srvrothers.cpp
@@ -5692,6 +5692,7 @@ odbc_SQLSvc_SetConnectionOption_sme_(
 
        switch (connectionOption) {
 //Special Case//
+   
        case SQL_ACCESSMODE_AND_ISOLATION:
                        switch (optionValueNum) {
                case SQL_TXN_READ_UNCOMMITTED:
@@ -6156,6 +6157,10 @@ odbc_SQLSvc_SetConnectionOption_sme_(
        case WMS_QUERY_MONITORING:
                strcpy(sqlString, "CONTROL QUERY DEFAULT WMS_QUERY_MONITORING 
'OFF'");
                break;
+    case SQL_ATTR_CLIPVARCHAR:
+        srvrGlobal->clipVarchar = optionValueNum;
+               sqlStringNeedsExecution = false;
+        break;
        default:
                exception_->exception_nr = 
odbc_SQLSvc_SetConnectionOption_ParamError_exn_;
                exception_->u.ParamError.ParamDesc = 
SQLSVC_EXCEPTION_INVALID_CONNECTION_OPTION;

Reply via email to