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.


---

Reply via email to