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

@@ -99,7 +99,7 @@ void SessionImpl::open(const std::string& aConnectionString)
}
}
poco_assert_dbg (! connectionString().empty());
poco_assert_dbg (!connectionString().empty());
unsigned int timeout = static_cast<unsigned int>(getLoginTimeout());
@@ -140,6 +140,10 @@ void SessionImpl::open(const std::string& aConnectionString)
addFeature("asynchronousCommit",
&SessionImpl::setAutoCommit,
&SessionImpl::isAutoCommit);
addFeature("binaryExtraction",
&SessionImpl::setBinaryExtraction,
&SessionImpl::isBinaryExtraction);
}
@@ -244,4 +248,13 @@ bool SessionImpl::hasTransactionIsolation(Poco::UInt32 aTI) const
}
void SessionImpl::setBinaryExtraction(const std::string& feature, bool enabled)
{
if (enabled && _sessionHandle.parameterStatus("integer_datetimes") != "on")
throw PostgreSQLException("binary extraction is not supported with this server (ingeger_datetimes must be enabled on the server)");
_binaryExtraction = enabled;
}
} } } // namespace Poco::Data::PostgreSQL