Github user xwq commented on a diff in the pull request:
https://github.com/apache/incubator-trafodion/pull/1225#discussion_r138239370
--- Diff: core/conn/odbc/src/odbc/nsksrvrcore/srvrothers.cpp ---
@@ -6489,6 +6506,31 @@ odbc_SQLSrvr_ExtractLob_sme_(
exception_->u.SQLError.errorList._buffer =
QryLobExtractSrvrStmt->sqlError.errorList._buffer;
exception_->u.ParamError.ParamDesc =
SQLSVC_EXCEPTION_EXECUTE_FAILED;
}
+
+ IDL_long_long zeroValue = 0;
+ snprintf(LobExtractQuery, sizeof(LobExtractQuery), "EXTRACT
LOBTOBUFFER(LOB'%s', LOCATION %Ld, SIZE %Ld)", lobHandle, (Int64)lobDataValue,
&zeroValue);
+
+ retcode = QryLobExtractSrvrStmt->ExecDirect(NULL,
LobExtractQuery, EXTERNAL_STMT, TYPE_CALL, SQL_ASYNC_ENABLE_OFF, 0);
+
--- End diff --
For now, the lob extract all data in one query, so after this query, we can
call the "zeroLength' query directly.
In the further, I will support the extract the data in multiple times for
large data, and then, we need JDBC change.
---