KYLIN-2132 Fix missing type check of BIGINT; Add follow-up fix of KYLIN-2121
Signed-off-by: lidongsjtu <lid...@apache.org> Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/3e4e82f0 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/3e4e82f0 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/3e4e82f0 Branch: refs/heads/KYLIN-1875 Commit: 3e4e82f06e1e6f7343d87259d912db3abc8c5a96 Parents: 2cca348 Author: Yifan Zhang <event.dim...@gmail.com> Authored: Wed Nov 23 15:51:02 2016 +0800 Committer: lidongsjtu <lid...@apache.org> Committed: Wed Nov 23 17:13:35 2016 +0800 ---------------------------------------------------------------------- odbc/Driver/KO_DTYPE.CPP | 1 + odbc/Driver/KO_FETCH.CPP | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/3e4e82f0/odbc/Driver/KO_DTYPE.CPP ---------------------------------------------------------------------- diff --git a/odbc/Driver/KO_DTYPE.CPP b/odbc/Driver/KO_DTYPE.CPP index 851fe70..dc2f3ff 100644 --- a/odbc/Driver/KO_DTYPE.CPP +++ b/odbc/Driver/KO_DTYPE.CPP @@ -82,6 +82,7 @@ eGoodBad _SQLCheckDataType ( Word pDataType ) case SQL_TYPE_TIMESTAMP : case SQL_BIT : case SQL_DEFAULT : + case SQL_BIGINT : case SQL_C_SBIGINT : case SQL_C_UBIGINT : case SQL_C_TINYINT : http://git-wip-us.apache.org/repos/asf/kylin/blob/3e4e82f0/odbc/Driver/KO_FETCH.CPP ---------------------------------------------------------------------- diff --git a/odbc/Driver/KO_FETCH.CPP b/odbc/Driver/KO_FETCH.CPP index 2153f97..07780cf 100644 --- a/odbc/Driver/KO_FETCH.CPP +++ b/odbc/Driver/KO_FETCH.CPP @@ -696,12 +696,13 @@ RETCODE SQL_API SQLPutData ( SQLHSTMT pStmt, RETCODE SQL_API SQLMoreResults ( HSTMT pStmt ) { - __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLMoreResults called" ) ); - pODBCStmt odbcStmt = ( pODBCStmt )pStmt; - + + __ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLMoreResults called, stmt handle %d with start-row %d and end-row %d, next handle is %d", + (long) odbcStmt, odbcStmt->CurRowsetStartRowPos, odbcStmt->CurRowsetEndRowPos, (long) odbcStmt -> Next) ); + // check if stmt been released already - if ( ! odbcStmt -> Prepared ) + if (( ! odbcStmt -> Prepared) || ( ! odbcStmt -> Next )) { return SQL_NO_DATA; }