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;
