You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ma...@apache.org on 2015/11/04 03:20:40 UTC

incubator-kylin git commit: KYLIN-596 Support PowerBI desktop (ver.2.28.4190.122)

Repository: incubator-kylin
Updated Branches:
  refs/heads/2.x-staging 54c813c79 -> cae8a651d


KYLIN-596 Support PowerBI desktop (ver.2.28.4190.122)

Signed-off-by: honma <ho...@ebay.com>


Project: http://git-wip-us.apache.org/repos/asf/incubator-kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kylin/commit/cae8a651
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/cae8a651
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/cae8a651

Branch: refs/heads/2.x-staging
Commit: cae8a651d64fa32dcd0aa8f63c22cbc3d672924b
Parents: 54c813c
Author: lidongsjtu <do...@ebay.com>
Authored: Wed Nov 4 10:05:53 2015 +0800
Committer: honma <ho...@ebay.com>
Committed: Wed Nov 4 10:25:03 2015 +0800

----------------------------------------------------------------------
 odbc/Common/JDBCODBC.cpp |  8 ++---
 odbc/Driver/KO_ATTR.CPP  |  5 +++
 odbc/Driver/KO_DESC.CPP  |  2 +-
 odbc/Driver/KO_FETCH.CPP |  8 +++--
 odbc/Driver/KO_INFO.CPP  | 72 ++++++++++++++++++++++++++++++++++++++++---
 odbc/Driver/KO_UTILS.CPP |  2 +-
 6 files changed, 84 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/cae8a651/odbc/Common/JDBCODBC.cpp
----------------------------------------------------------------------
diff --git a/odbc/Common/JDBCODBC.cpp b/odbc/Common/JDBCODBC.cpp
index 8753fd2..a3b056e 100644
--- a/odbc/Common/JDBCODBC.cpp
+++ b/odbc/Common/JDBCODBC.cpp
@@ -68,13 +68,13 @@ ODBCTypes JDBC2ODBC ( int jtype ) {
             break;
             
         case JDBC_CHAR:
-            //return ODBCTypes::ODBC_Char;
-            return ODBCTypes::ODBC_WChar;//it's a unicode dirver
+            return ODBCTypes::ODBC_Char;
+            //return ODBCTypes::ODBC_WChar;//it's a unicode dirver
             break;
             
         case JDBC_VARCHAR:
-            //return ODBCTypes::ODBC_VarChar;
-            return ODBCTypes::ODBC_WChar;//it's a unicode dirver
+            return ODBCTypes::ODBC_VarChar;
+            //return ODBCTypes::ODBC_WChar;//it's a unicode dirver
             break;
             
         case 2000://"ANY" type in KYLIN

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/cae8a651/odbc/Driver/KO_ATTR.CPP
----------------------------------------------------------------------
diff --git a/odbc/Driver/KO_ATTR.CPP b/odbc/Driver/KO_ATTR.CPP
index 7cfae45..3f21108 100644
--- a/odbc/Driver/KO_ATTR.CPP
+++ b/odbc/Driver/KO_ATTR.CPP
@@ -431,6 +431,11 @@ RETCODE SQL_API SQLSetStmtAttrW ( SQLHSTMT       pStmt,
     _SQLFreeDiag ( _DIAGSTMT ( pStmt ) );
     
     switch ( pAttr ) {
+		case 1226:/* MS SQL Server Extension */
+        case 1227:
+        case 1228:
+            break;
+
         case SQL_ATTR_APP_PARAM_DESC:
             __ODBCPOPMSG ( _ODBCPopMsg ( "SQL_ATTR_APP_PARAM_DESC - Cannot set descriptor" ) );
             return SQL_ERROR;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/cae8a651/odbc/Driver/KO_DESC.CPP
----------------------------------------------------------------------
diff --git a/odbc/Driver/KO_DESC.CPP b/odbc/Driver/KO_DESC.CPP
index 3a92e26..b72deab 100644
--- a/odbc/Driver/KO_DESC.CPP
+++ b/odbc/Driver/KO_DESC.CPP
@@ -2477,7 +2477,7 @@ RETCODE SQL_API _SQLGetIRDItemField ( const pODBCIRD pDesc, const pIRDItem pDesc
             
         case SQL_DESC_TYPE://1002
         case SQL_DESC_CONCISE_TYPE://2
-            * ( ( Long* ) pDataPtr ) = pDescItem->columnType;
+            * ( ( SQLLEN* ) pDataPtr ) = pDescItem->columnType;
             break;
             
         case SQL_DESC_DATETIME_INTERVAL_CODE://1007

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/cae8a651/odbc/Driver/KO_FETCH.CPP
----------------------------------------------------------------------
diff --git a/odbc/Driver/KO_FETCH.CPP b/odbc/Driver/KO_FETCH.CPP
index 1053e32..39f0915 100644
--- a/odbc/Driver/KO_FETCH.CPP
+++ b/odbc/Driver/KO_FETCH.CPP
@@ -251,7 +251,10 @@ RETCODE SQL_API SQLColAttribute ( SQLHSTMT        pStmt,
                                   SQLSMALLINT*    pDataSizePtr,
                                   SQLLEN*      pNumValuePtr ) {
     __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLColAttributeW called, ColNum: %d, FldID: %d", pColNum, pFldID ) );
-    return _SQLColAttribute_basic ( pStmt, pColNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, pNumValuePtr, true );
+    RETCODE code =  _SQLColAttribute_basic ( pStmt, pColNum, pFldID, pDataPtr, pDataSize, pDataSizePtr, pNumValuePtr,
+                                             true );
+    __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "the return code is %d", code ) );
+    return code;
 }
 
 #else
@@ -494,6 +497,7 @@ RETCODE SQL_API SQLBindCol ( SQLHSTMT        pStmt,
     ardcol = new ARDItem;
     // reset
     _SQLSetARDItemFieldsDefault ( ardcol, pColNum );
+
     // set all values - bind
     _SQLSetARDItemField ( ard, ardcol, pColNum, SQL_DESC_DATA_PTR, pDataPtr, -1 );
     _SQLSetARDItemField ( ard, ardcol, pColNum, SQL_DESC_CONCISE_TYPE, ( void* ) pDataType, -1 );
@@ -949,7 +953,7 @@ RETCODE SQL_API _SQLFetchCol ( pODBCStmt pStmt,
         // move both data and size ptr in the array
         //TODO find out where the pARDCol->DataSize if set
         tgtdataptr = ( void* ) ( ( ( Char* ) ( pARDCol->DataPtr ) ) + j + ( i * pARDCol->DataSize ) ); // use based on data type
-        tgtsizeptr = ( Long* ) ( ( ( Char* ) ( pARDCol->SizePtr ) ) + j + ( i * sizeof ( Long ) ) );
+        tgtsizeptr = ( Long* ) ( ( ( Char* ) ( pARDCol->SizePtr ) ) + j + ( i * sizeof ( SQLLEN ) ) );
     }
     
     // PRECAUTION

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/cae8a651/odbc/Driver/KO_INFO.CPP
----------------------------------------------------------------------
diff --git a/odbc/Driver/KO_INFO.CPP b/odbc/Driver/KO_INFO.CPP
index d8287b0..a90c1de 100644
--- a/odbc/Driver/KO_INFO.CPP
+++ b/odbc/Driver/KO_INFO.CPP
@@ -72,6 +72,31 @@ RETCODE SQL_API SQLGetInfoW ( SQLHDBC                    pConn,
             break;
             
         case SQL_CONVERT_FUNCTIONS ://48 called
+		case SQL_CONVERT_BIGINT:
+		case SQL_CONVERT_BINARY:
+		case SQL_CONVERT_BIT:
+		case SQL_CONVERT_CHAR: 
+		case SQL_CONVERT_GUID:
+		case SQL_CONVERT_DATE:
+		case SQL_CONVERT_DECIMAL:
+		case SQL_CONVERT_DOUBLE:
+		case SQL_CONVERT_FLOAT:
+		case SQL_CONVERT_INTEGER:
+		case SQL_CONVERT_INTERVAL_YEAR_MONTH:
+		case SQL_CONVERT_INTERVAL_DAY_TIME:
+		case SQL_CONVERT_LONGVARBINARY:
+		case SQL_CONVERT_LONGVARCHAR:
+		case SQL_CONVERT_NUMERIC:
+		case SQL_CONVERT_REAL:
+		case SQL_CONVERT_SMALLINT:
+		case SQL_CONVERT_TIME:
+		case SQL_CONVERT_TIMESTAMP:
+		case SQL_CONVERT_TINYINT:
+		case SQL_CONVERT_VARBINARY:
+		case SQL_CONVERT_VARCHAR:
+		case SQL_CONVERT_WCHAR:              
+		case SQL_CONVERT_WLONGVARCHAR:       
+		case SQL_CONVERT_WVARCHAR:
             break;
             
         case SQL_MAX_IDENTIFIER_LEN : //10005 called
@@ -210,12 +235,15 @@ RETCODE SQL_API SQLGetInfoW ( SQLHDBC                    pConn,
             
             break;
             
+		case SQL_DTC_TRANSITION_COST:							// 1750
+			break;
+
         case SQL_DATA_SOURCE_READ_ONLY:                         // 25
             //MessageBox ( GetDesktopWindow(), "SQL_DATA_SOURCE_READ_ONLY", "SQLGetInfo", MB_OK );
             _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "N", -1 );
             break;
             
-        case SQL_DRIVER_NAME:                                   // 6 //called by tb
+        case SQL_DRIVER_NAME:                                   // 6
             //MessageBox ( GetDesktopWindow(), "SQL_DRIVER_NAME", "SQLGetInfo", MB_OK );
             _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "driver.DLL", -1 );
             break;
@@ -275,11 +303,11 @@ RETCODE SQL_API SQLGetInfoW ( SQLHDBC                    pConn,
             _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "\"", -1 );
             break;
             
-        case SQL_MAX_SCHEMA_NAME_LEN:
+        case SQL_MAX_SCHEMA_NAME_LEN:							// 32
             * ( ( short* ) pInfoValuePtr ) = 128;
             break;
             
-        case SQL_USER_NAME:
+        case SQL_USER_NAME:										// 47
             _SQLCopyWCharData ( _DIAGCONN ( pConn ), pInfoValuePtr, pBufferLength, pStringLengthPtr, 16, "default", -1 );
             break;
             
@@ -399,6 +427,9 @@ RETCODE SQL_API SQLGetInfoW ( SQLHDBC                    pConn,
             //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_CATALOG_LOCATION" ));
             break;
             
+		case SQL_CATALOG_NAME:                                  // 10003
+            break;
+
         case SQL_CONCAT_NULL_BEHAVIOR:                           // 22
             * ( ( Word* ) pInfoValuePtr ) = SQL_CB_NULL;
             //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_CONCAT_NULL_BEHAVIOR" ));
@@ -612,6 +643,31 @@ RETCODE SQL_API SQLGetInfo ( SQLHDBC         pConn,
             break;
             
         case SQL_CONVERT_FUNCTIONS ://48 called
+		case SQL_CONVERT_BIGINT:
+		case SQL_CONVERT_BINARY:
+		case SQL_CONVERT_BIT:
+		case SQL_CONVERT_CHAR: 
+		case SQL_CONVERT_GUID:
+		case SQL_CONVERT_DATE:
+		case SQL_CONVERT_DECIMAL:
+		case SQL_CONVERT_DOUBLE:
+		case SQL_CONVERT_FLOAT:
+		case SQL_CONVERT_INTEGER:
+		case SQL_CONVERT_INTERVAL_YEAR_MONTH:
+		case SQL_CONVERT_INTERVAL_DAY_TIME:
+		case SQL_CONVERT_LONGVARBINARY:
+		case SQL_CONVERT_LONGVARCHAR:
+		case SQL_CONVERT_NUMERIC:
+		case SQL_CONVERT_REAL:
+		case SQL_CONVERT_SMALLINT:
+		case SQL_CONVERT_TIME:
+		case SQL_CONVERT_TIMESTAMP:
+		case SQL_CONVERT_TINYINT:
+		case SQL_CONVERT_VARBINARY:
+		case SQL_CONVERT_VARCHAR:
+		case SQL_CONVERT_WCHAR:              
+		case SQL_CONVERT_WLONGVARCHAR:       
+		case SQL_CONVERT_WVARCHAR:
             break;
             
         case SQL_MAX_IDENTIFIER_LEN : //10005 called
@@ -621,7 +677,7 @@ RETCODE SQL_API SQLGetInfo ( SQLHDBC         pConn,
             break;
             
         case SQL_SQL_CONFORMANCE: //118 called
-            break;
+			break;
             
         /*
             An SQLUINTEGER bitmask enumerating the SQL-92 datetime literals supported by the data source. Note that these are the datetime literals listed in the SQL-92 specification and are separate from the datetime literal escape clauses defined by ODBC. For more information about the ODBC datetime literal escape clauses, see Date, Time, and Timestamp Literals.
@@ -748,6 +804,9 @@ RETCODE SQL_API SQLGetInfo ( SQLHDBC         pConn,
             if ( pInfoValuePtr ) { * ( ( Word* ) pInfoValuePtr ) = SQL_OAC_NONE; }    // for MS Access
             
             break;
+
+		case SQL_DTC_TRANSITION_COST:							// 1750
+			break;
             
         case SQL_DATA_SOURCE_READ_ONLY:                         // 25
             //MessageBox ( GetDesktopWindow(), "SQL_DATA_SOURCE_READ_ONLY", "SQLGetInfo", MB_OK );
@@ -937,7 +996,10 @@ RETCODE SQL_API SQLGetInfo ( SQLHDBC         pConn,
             * ( ( Word* ) pInfoValuePtr ) = SQL_CL_START;
             //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_CATALOG_LOCATION" ));
             break;
-            
+            		
+		case SQL_CATALOG_NAME:                                   // 10003
+            break;
+
         case SQL_CONCAT_NULL_BEHAVIOR:                           // 22
             * ( ( Word* ) pInfoValuePtr ) = SQL_CB_NULL;
             //__ODBCPOPMSG(_ODBCPopMsg("SQLGetInfo, SQL_CONCAT_NULL_BEHAVIOR" ));

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/cae8a651/odbc/Driver/KO_UTILS.CPP
----------------------------------------------------------------------
diff --git a/odbc/Driver/KO_UTILS.CPP b/odbc/Driver/KO_UTILS.CPP
index ea7ccf7..d46deff 100644
--- a/odbc/Driver/KO_UTILS.CPP
+++ b/odbc/Driver/KO_UTILS.CPP
@@ -274,7 +274,7 @@ RETCODE SQL_API _SQLCopyWCharDataW ( pODBCDiag pDiag, void* pTgtDataPtr, Long pD
         else
         { * ( ( Long* ) pSizePtr ) = pPtrSizeBuf; }
         
-        __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "pSizePtr is set to %d", n ) );
+		__ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "pSizePtr %d is set to %d", pSizePtr, * ( ( SQLLEN* ) pSizePtr ) ) );
     }
     
     // check if src data but no size holder