You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by ry...@apache.org on 2016/07/26 04:08:07 UTC
[3/5] incubator-trafodion git commit: Fix JIRA2100
Fix JIRA2100
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/304a7ca7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/304a7ca7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/304a7ca7
Branch: refs/heads/master
Commit: 304a7ca7186e447f9f0967f578a74ed817c598fe
Parents: 7db7286
Author: ryzuo <jo...@gmail.com>
Authored: Sat Jul 16 03:19:11 2016 +0000
Committer: ryzuo <jo...@gmail.com>
Committed: Thu Jul 21 03:02:06 2016 +0000
----------------------------------------------------------------------
.../trafodion/jdbc/t4/T4DatabaseMetaData.java | 2 +-
.../odbc/src/odbc/nsksrvrcore/srvrothers.cpp | 39 +++---
.../unixcli/DrvrManager/drvrmanager.cpp | 130 +++++++++----------
.../odbc/odbcclient/unixcli/cli/cdesc.cpp | 27 ++--
.../odbc/odbcclient/unixcli/cli/cstmt.cpp | 9 +-
5 files changed, 94 insertions(+), 113 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/304a7ca7/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4DatabaseMetaData.java
----------------------------------------------------------------------
diff --git a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4DatabaseMetaData.java b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4DatabaseMetaData.java
index 5457eb1..a35b8e3 100644
--- a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4DatabaseMetaData.java
+++ b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4DatabaseMetaData.java
@@ -4613,7 +4613,7 @@ public class T4DatabaseMetaData extends TrafT4Handle implements java.sql.Databas
connection_.isConnectionOpen();
getSQLCatalogsInfo(connection_.getServerHandle(), // Server Handle
- SQL_API_SQLGETTYPEINFO_JDBC, // catalogAPI
+ SQL_API_SQLGETTYPEINFO, // catalogAPI
"", // catalog
"", // schema
"", // table name
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/304a7ca7/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 4382c24..18f8ea6 100644
--- a/core/conn/odbc/src/odbc/nsksrvrcore/srvrothers.cpp
+++ b/core/conn/odbc/src/odbc/nsksrvrcore/srvrothers.cpp
@@ -4506,24 +4506,21 @@ odbc_SQLSvc_GetSQLCatalogs_sme_(
}
break;
case SQL_API_SQLGETTYPEINFO :
- case SQL_API_SQLGETTYPEINFO_JDBC :
{
- SQLSMALLINT SqlTypeCode_Date;
- SQLSMALLINT SqlTypeCode_Time;
- SQLSMALLINT SqlTypeCode_TimeStamp;
char condExpression[20] = {0};
- if(APIType == SQL_API_SQLGETTYPEINFO_JDBC)
- {
- SqlTypeCode_Date = 91;
- SqlTypeCode_Time = 92;
- SqlTypeCode_TimeStamp = 93;
- }
- else
- {
- SqlTypeCode_Date = SQL_DATE;
- SqlTypeCode_Time = SQL_TIME;
- SqlTypeCode_TimeStamp = SQL_TIMESTAMP;
+ switch(sqlType) {
+ case SQL_DATE:
+ sqlType == SQL_TYPE_DATE;
+ break;
+ case SQL_TIME:
+ sqlType == SQL_TYPE_TIME;
+ break;
+ case SQL_TIMESTAMP:
+ sqlType == SQL_TYPE_TIMESTAMP;
+ break;
+ default:
+ break;
}
if(sqlType == SQL_ALL_TYPES)
@@ -4559,7 +4556,7 @@ odbc_SQLSvc_GetSQLCatalogs_sme_(
"cast(0 as smallint), cast(0 as smallint), cast(3 as smallint), cast(0 as smallint)),"
"('BIGINT SIGNED', -5, 19, NULL, NULL, NULL, 1, 0, 2, 0, 0, 0, 'LARGEINT', NULL, NULL, 'SIGNED LARGEINT', 10, 19, 20, -402, NULL, NULL, 0, 0, 3, 0),"
"('CHAR', 1, 32000, '''', '''', 'max length', 1, 1, 3, NULL, 0, NULL, 'CHARACTER', NULL, NULL, 'CHARACTER', NULL, -1, -1, 1, NULL, NULL, 0, 0, 3, 0),"
- "('DATE', %d, 10, '{d ''', '''}', NULL, 1, 0, 2, NULL, 0, NULL, 'DATE', NULL, NULL, 'DATE', NULL, 10, 6, 9, 1, NULL, 1, 3, 3, 0),"
+ "('DATE', 91, 10, '{d ''', '''}', NULL, 1, 0, 2, NULL, 0, NULL, 'DATE', NULL, NULL, 'DATE', NULL, 10, 6, 9, 1, NULL, 1, 3, 3, 0),"
"('DECIMAL', 3, 18, NULL, NULL, 'precision,scale', 1, 0, 2, 0, 0, 0, 'DECIMAL', 0, 18, 'DECIMAL', 10, -2, -3, 3, NULL, NULL, 0, 0, 3, 0),"
"('DECIMAL SIGNED', 3, 18, NULL, NULL, 'precision,scale', 1, 0, 2, 0, 0, 0, 'DECIMAL', 0, 18, 'SIGNED DECIMAL', 10, -2, -3, 3, NULL, NULL, 0, 0, 3, 0),"
"('DECIMAL UNSIGNED', 3, 18, NULL, NULL, 'precision,scale', 1, 0, 2, 1, 0, 0, 'DECIMAL', 0, 18, 'UNSIGNED DECIMAL', 10, -2, -3, -301, NULL, NULL, 0, 0, 3, 0),"
@@ -4589,16 +4586,16 @@ odbc_SQLSvc_GetSQLCatalogs_sme_(
"('SMALLINT', 5, 5, NULL, NULL, NULL, 1, 0, 2, 0, 0, 0, 'SMALLINT', NULL, NULL, 'SMALLINT', 10, 5, -1, 5, NULL, NULL, 0, 0, 3, 0),"
"('SMALLINT SIGNED', 5, 5, NULL, NULL, NULL, 1, 0, 2, 0, 0, 0, 'SMALLINT', NULL, NULL, 'SIGNED SMALLINT', 10, 5, -1, 5, NULL, NULL, 0, 0, 3, 0),"
"('SMALLINT UNSIGNED', 5, 5, NULL, NULL, NULL, 1, 0, 2, 1, 0, 0, 'SMALLINT', NULL, NULL, 'UNSIGNED SMALLINT', 10, 5, -1, -502, NULL, NULL, 0, 0, 3, 0),"
- "('TIME', %d, 8, '{t ''', '''}', NULL, 1, 0, 2, NULL, 0, NULL, 'TIME', NULL, NULL, 'TIME', NULL, 8, 6, 9, 2, NULL, 4, 6, 3, 0),"
- "('TIMESTAMP', %d, 26, '{ts ''', '''}', NULL, 1, 0, 2, NULL, 0, NULL, 'TIMESTAMP', 0, 6, 'TIMESTAMP', NULL, 19, 16, 9, 3, NULL, 1, 6, 3, 0),"
+ "('TIME', 92, 8, '{t ''', '''}', NULL, 1, 0, 2, NULL, 0, NULL, 'TIME', NULL, NULL, 'TIME', NULL, 8, 6, 9, 2, NULL, 4, 6, 3, 0),"
+ "('TIMESTAMP', 93, 26, '{ts ''', '''}', NULL, 1, 0, 2, NULL, 0, NULL, 'TIMESTAMP', 0, 6, 'TIMESTAMP', NULL, 19, 16, 9, 3, NULL, 1, 6, 3, 0),"
"('VARCHAR', 12, 32000, '''', '''', 'max length', 1, 1, 3, NULL, 0, NULL, 'VARCHAR', NULL, NULL, 'VARCHAR', NULL, -1, -1, 12, NULL, NULL, 0, 0, 3, 0)"
" ) "
" dt(\"TYPE_NAME\", \"DATA_TYPE\", \"PREC\", \"LITERAL_PREFIX\", \"LITERAL_SUFFIX\", \"CREATE_PARAMS\", \"IS_NULLABLE\", \"CASE_SENSITIVE\", \"SEARCHABLE\","
"\"UNSIGNED_ATTRIBUTE\", \"FIXED_PREC_SCALE\", \"AUTO_UNIQUE_VALUE\", \"LOCAL_TYPE_NAME\", \"MINIMUM_SCALE\", \"MAXIMUM_SCALE\", \"SQL_TYPE_NAME\","
"\"NUM_PREC_RADIX\", \"USEPRECISION\", \"USELENGTH\", \"SQL_DATA_TYPE\", \"SQL_DATETIME_SUB\", \"INTERVAL_PRECISION\", \"DATETIMESTARTFIELD\","
- "\"DATETIMEENDFIELD\", \"APPLICATION_VERSION\", \"TRANSLATION_ID\")"
- " WHERE %s"
- " ORDER BY 2,1 FOR READ UNCOMMITTED ACCESS ;", SqlTypeCode_Date, SqlTypeCode_Time, SqlTypeCode_TimeStamp, condExpression);
+ "\"DATETIMEENDFIELD\", \"APPLICATION_VERSION\", \"TRANSLATION_ID\")"
+ " WHERE %s"
+ " ORDER BY 2,1 FOR READ UNCOMMITTED ACCESS ;", condExpression);
break;
}
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/304a7ca7/core/conn/unixodbc/odbc/odbcclient/unixcli/DrvrManager/drvrmanager.cpp
----------------------------------------------------------------------
diff --git a/core/conn/unixodbc/odbc/odbcclient/unixcli/DrvrManager/drvrmanager.cpp b/core/conn/unixodbc/odbc/odbcclient/unixcli/DrvrManager/drvrmanager.cpp
index 8183a65..97bdbd1 100644
--- a/core/conn/unixodbc/odbc/odbcclient/unixcli/DrvrManager/drvrmanager.cpp
+++ b/core/conn/unixodbc/odbc/odbcclient/unixcli/DrvrManager/drvrmanager.cpp
@@ -3132,42 +3132,42 @@ SQLRETURN SQL_API SQLGetTypeInfo_common(SQLHSTMT StatementHandle,
RETURNCODE (pstmt, SQL_ERROR);
LEAVE_STMT (pstmt, SQL_ERROR);
}
- SQLINTEGER ODBCAppVersion = pstmt->getODBCAppVersion();
- SQLSMALLINT convDataType = DataType;
- if (ODBCAppVersion >= SQL_OV_ODBC3)
- {
- switch(DataType)
- {
- case SQL_DATE:
- convDataType = SQL_TYPE_DATE;
- break;
- case SQL_TIME:
- convDataType = SQL_TYPE_TIME;
- break;
- case SQL_TIMESTAMP:
- convDataType = SQL_TYPE_TIMESTAMP;
- break;
- }
- }
- else
- {
- switch(DataType)
- {
- case SQL_TYPE_DATE:
- convDataType = SQL_DATE;
- break;
- case SQL_TYPE_TIME:
- convDataType = SQL_TIME;
- break;
- case SQL_TYPE_TIMESTAMP:
- convDataType = SQL_TIMESTAMP;
- break;
- }
- }
- rc = NeoGetTypeInfo(StatementHandle,convDataType,isWideCall);
- rc = fun_cata_state_tr (pstmt, en_GetTypeInfo, rc);
- RETURNCODE (pstmt, rc);
- LEAVE_STMT (pstmt, rc);
+ SQLINTEGER ODBCAppVersion = pstmt->getODBCAppVersion();
+ SQLSMALLINT convDataType = DataType;
+ if (ODBCAppVersion >= SQL_OV_ODBC3)
+ {
+ switch(DataType)
+ {
+ case SQL_DATE:
+ convDataType = SQL_TYPE_DATE;
+ break;
+ case SQL_TIME:
+ convDataType = SQL_TYPE_TIME;
+ break;
+ case SQL_TIMESTAMP:
+ convDataType = SQL_TYPE_TIMESTAMP;
+ break;
+ }
+ }
+ else
+ {
+ switch(DataType)
+ {
+ case SQL_TYPE_DATE:
+ convDataType = SQL_DATE;
+ break;
+ case SQL_TYPE_TIME:
+ convDataType = SQL_TIME;
+ break;
+ case SQL_TYPE_TIMESTAMP:
+ convDataType = SQL_TIMESTAMP;
+ break;
+ }
+ }
+ rc = NeoGetTypeInfo(StatementHandle,convDataType,isWideCall);
+ rc = fun_cata_state_tr (pstmt, en_GetTypeInfo, rc);
+ RETURNCODE (pstmt, rc);
+ LEAVE_STMT (pstmt, rc);
}
SQLRETURN SQL_API SQLGetTypeInfo(SQLHSTMT StatementHandle,
@@ -3836,37 +3836,33 @@ SQLRETURN SQL_API SQLColAttribute_common(SQLHSTMT StatementHandle,
rc = NeoColAttribute(StatementHandle,ColumnNumber,FieldIdentifier,CharacterAttributePtr,BufferLength,StringLengthPtr,NumericAttributePtr,isWideCall);
if (rc == SQL_SUCCESS && FieldIdentifier == SQL_DESC_CONCISE_TYPE)
{
- SQLINTEGER ODBCAppVersion = pstmt->getODBCAppVersion();
- if (ODBCAppVersion >= SQL_OV_ODBC3)
- {
- switch((SQLINTEGER)*(SQLINTEGER*)NumericAttributePtr)
- {
- case SQL_DATE:
- *(SQLINTEGER*)NumericAttributePtr = SQL_TYPE_DATE;
- break;
- case SQL_TIME:
- *(SQLINTEGER*)NumericAttributePtr = SQL_TYPE_TIME;
- break;
- case SQL_TIMESTAMP:
- *(SQLINTEGER*)NumericAttributePtr = SQL_TYPE_TIMESTAMP;
- break;
- }
- }
- else
- {
- switch((SQLINTEGER)*(SQLINTEGER*)NumericAttributePtr)
- {
- case SQL_TYPE_DATE:
- *(SQLINTEGER*)NumericAttributePtr = SQL_DATE;
- break;
- case SQL_TYPE_TIME:
- *(SQLINTEGER*)NumericAttributePtr = SQL_TIME;
- break;
- case SQL_TYPE_TIMESTAMP:
- *(SQLINTEGER*)NumericAttributePtr = SQL_TIMESTAMP;
- break;
- }
- }
+#if (ODBCVER >= 0x0300)
+ switch((SQLINTEGER)*(SQLINTEGER*)NumericAttributePtr)
+ {
+ case SQL_DATE:
+ *(SQLINTEGER*)NumericAttributePtr = SQL_TYPE_DATE;
+ break;
+ case SQL_TIME:
+ *(SQLINTEGER*)NumericAttributePtr = SQL_TYPE_TIME;
+ break;
+ case SQL_TIMESTAMP:
+ *(SQLINTEGER*)NumericAttributePtr = SQL_TYPE_TIMESTAMP;
+ break;
+ }
+#else
+ switch((SQLINTEGER)*(SQLINTEGER*)NumericAttributePtr)
+ {
+ case SQL_TYPE_DATE:
+ *(SQLINTEGER*)NumericAttributePtr = SQL_DATE;
+ break;
+ case SQL_TYPE_TIME:
+ *(SQLINTEGER*)NumericAttributePtr = SQL_TIME;
+ break;
+ case SQL_TYPE_TIMESTAMP:
+ *(SQLINTEGER*)NumericAttributePtr = SQL_TIMESTAMP;
+ break;
+ }
+#endif
}
/* state transition */
if (pstmt->asyn_on == en_ColAttribute)
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/304a7ca7/core/conn/unixodbc/odbc/odbcclient/unixcli/cli/cdesc.cpp
----------------------------------------------------------------------
diff --git a/core/conn/unixodbc/odbc/odbcclient/unixcli/cli/cdesc.cpp b/core/conn/unixodbc/odbc/odbcclient/unixcli/cli/cdesc.cpp
index 743016d..b397899 100644
--- a/core/conn/unixodbc/odbc/odbcclient/unixcli/cli/cdesc.cpp
+++ b/core/conn/unixodbc/odbc/odbcclient/unixcli/cli/cdesc.cpp
@@ -409,16 +409,13 @@ unsigned long CDescRec::setDescRec(short DescMode, SQLItemDesc_def *SQLItemDesc)
break;
case SQL_DATE:
case SQL_TYPE_DATE:
- if (ODBCAppVersion >= SQL_OV_ODBC3)
- {
+#if (ODBCVER >= 0x0300)
if(m_DescConciseType == SQL_DATE)
m_DescConciseType = SQL_TYPE_DATE;
- }
- else
- {
+#else
if(m_DescConciseType == SQL_TYPE_DATE)
m_DescConciseType = SQL_DATE;
- }
+#endif
strcpy((char*)m_DescLiteralPrefix,"{d'");
strcpy((char*)m_DescLiteralSuffix,"'}");
m_DescLength = 10;
@@ -426,16 +423,13 @@ unsigned long CDescRec::setDescRec(short DescMode, SQLItemDesc_def *SQLItemDesc)
break;
case SQL_TIME:
case SQL_TYPE_TIME:
- if (ODBCAppVersion >= SQL_OV_ODBC3)
- {
+#if (ODBCVER >= 0x0300)
if(m_DescConciseType == SQL_TIME)
m_DescConciseType = SQL_TYPE_TIME;
- }
- else
- {
+#else
if(m_DescConciseType == SQL_TYPE_TIME)
m_DescConciseType = SQL_TIME;
- }
+#endif
strcpy((char*)m_DescLiteralPrefix,"{t'");
strcpy((char*)m_DescLiteralSuffix,"'}");
m_DescLength = 8;
@@ -447,16 +441,13 @@ unsigned long CDescRec::setDescRec(short DescMode, SQLItemDesc_def *SQLItemDesc)
break;
case SQL_TYPE_TIMESTAMP:
case SQL_TIMESTAMP:
- if (ODBCAppVersion >= SQL_OV_ODBC3)
- {
+#if (ODBCVER >= 0x0300)
if(m_DescConciseType == SQL_TIMESTAMP)
m_DescConciseType = SQL_TYPE_TIMESTAMP;
- }
- else
- {
+#else
if(m_DescConciseType == SQL_TYPE_TIMESTAMP)
m_DescConciseType = SQL_TIMESTAMP;
- }
+#endif
strcpy((char*)m_DescLiteralPrefix,"{ts'");
strcpy((char*)m_DescLiteralSuffix,"'}");
m_DescPrecision = SQLItemDesc->precision; // Should come for Server - Must be changed
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/304a7ca7/core/conn/unixodbc/odbc/odbcclient/unixcli/cli/cstmt.cpp
----------------------------------------------------------------------
diff --git a/core/conn/unixodbc/odbc/odbcclient/unixcli/cli/cstmt.cpp b/core/conn/unixodbc/odbc/odbcclient/unixcli/cli/cstmt.cpp
index c7ec294..bcf5435 100644
--- a/core/conn/unixodbc/odbc/odbcclient/unixcli/cli/cstmt.cpp
+++ b/core/conn/unixodbc/odbc/odbcclient/unixcli/cli/cstmt.cpp
@@ -2226,8 +2226,7 @@ SQLRETURN CStmt::SendGetSQLCatalogs(short odbcAPI,
m_SrvrCallContext.u.getSQLCatalogsParams.catalogAPIParams.fkschemaNm = m_FKSchemaName;
m_SrvrCallContext.u.getSQLCatalogsParams.catalogAPIParams.fktableNm = m_FKTableName;
- if (getODBCAppVersion() == SQL_OV_ODBC2)
- {
+#if (ODBCVER < 0x0300)
switch (SqlType)
{
case SQL_TYPE_DATE:
@@ -2282,11 +2281,9 @@ SQLRETURN CStmt::SendGetSQLCatalogs(short odbcAPI,
m_SrvrCallContext.u.getSQLCatalogsParams.catalogAPIParams.sqlType = SqlType;
break;
}
- }
- else
- {
+#else
m_SrvrCallContext.u.getSQLCatalogsParams.catalogAPIParams.sqlType = SqlType;
- }
+#endif
m_SrvrCallContext.u.getSQLCatalogsParams.catalogAPIParams.metadataId = m_MetadataId;
m_SrvrCallContext.u.getSQLCatalogsParams.stmtLabel = m_StmtLabel;
m_SrvrCallContext.odbcAPI = odbcAPI;