fix(ODBC): Poco:Data::ODBC - MSSQL (n)varchar(max) length issue #4324 (#4738)

* fix(ODBC): Poco:Data::ODBC - MSSQL (n)varchar(max) length issue #4324

* chore(ODBC): remove unused vars; fix SQL Server SDK include path #4324

* fix(ODBC): trim UTF16 string #4324

* chore(ODBC): add compile time big string diagnostics #4324

* chore(ODBC): add SQLServer big string vector test case #4324

* fix(ODBC): detect SQLServer header #4324

* chore: add listing msodbdcsql18 folder #4324

* ci: change odbc drivers installation order #4324

* chore(CMake): Add option ENABLE_DATA_SQL_SERVER_BIG_STRINGS, auto-detection of msodbcsql.h on Linux and macOS

* fix(ODBC): detect backend at runtime for string size; add Session::dbmsName() #4324

* fix(ODBC): wrong char to string conversion #4324

---------

Co-authored-by: cunj123 <n.belusic@pta.hr>
Co-authored-by: Matej Kenda <matejken@gmail.com>
This commit is contained in:
Aleksandar Fabijanic
2024-10-19 14:43:00 -05:00
committed by GitHub
parent 9a97e7ca0d
commit 36c808230c
32 changed files with 558 additions and 198 deletions

View File

@@ -139,7 +139,10 @@ protected:
void setTransactionType(const std::string &prop, const Poco::Any& value);
Poco::Any getTransactionType(const std::string& prop) const;
private:
void setName();
std::string _connector;
sqlite3* _pDB;
bool _connected;

View File

@@ -82,6 +82,12 @@ SessionImpl::~SessionImpl()
}
void SessionImpl::setName()
{
setDBMSName("SQLite"s);
}
Poco::Data::StatementImpl::Ptr SessionImpl::createStatementImpl()
{
poco_check_ptr (_pDB);
@@ -273,17 +279,17 @@ Poco::Any SessionImpl::getConnectionTimeout(const std::string& prop) const
return Poco::Any(_timeout/1000);
}
void SessionImpl::setTransactionType(TransactionType transactionType)
void SessionImpl::setTransactionType(TransactionType transactionType)
{
_transactionType = transactionType;
}
void SessionImpl::setTransactionType(const std::string &prop, const Poco::Any& value)
void SessionImpl::setTransactionType(const std::string &prop, const Poco::Any& value)
{
setTransactionType(Poco::RefAnyCast<TransactionType>(value));
}
Poco::Any SessionImpl::getTransactionType(const std::string& prop) const
Poco::Any SessionImpl::getTransactionType(const std::string& prop) const
{
return Poco::Any(_transactionType);
}