merge pg binary extraction support

This commit is contained in:
Günter Obiltschnig
2022-05-17 07:22:04 +02:00
parent 9577af8c6c
commit 562b3b90c0
17 changed files with 1712 additions and 70 deletions

View File

@@ -72,8 +72,9 @@ namespace Data {
namespace PostgreSQL {
StatementExecutor::StatementExecutor(SessionHandle& sessionHandle):
StatementExecutor::StatementExecutor(SessionHandle& sessionHandle, bool binaryExtraction):
_sessionHandle(sessionHandle),
_binaryExtraction(binaryExtraction),
_state(STMT_INITED),
_pResultHandle(0),
_countPlaceholdersInSQLStatement(0),
@@ -248,11 +249,12 @@ void StatementExecutor::execute()
{
Poco::FastMutex::ScopedLock mutexLocker(_sessionHandle.mutex());
ptrPGResult = PQexecPrepared (_sessionHandle,
ptrPGResult = PQexecPrepared(_sessionHandle,
_preparedStatementName.c_str(), (int)_countPlaceholdersInSQLStatement,
_inputParameterVector.size() != 0 ? &pParameterVector[ 0 ] : 0,
_inputParameterVector.size() != 0 ? &parameterLengthVector[ 0 ] : 0,
_inputParameterVector.size() != 0 ? &parameterFormatVector[ 0 ] : 0, 0);
_inputParameterVector.size() != 0 ? &parameterFormatVector[ 0 ] : 0,
_binaryExtraction ? 1 : 0);
}
// Don't setup to auto clear the result (ptrPGResult). It is required to retrieve the results later.