Insert NULL using BULK #4001 (#4755)

* fix(ODBC): Insert NULL using BULK #4001
resolve bound types and sizes at compile time

* fix: remove string suffix for static_assert

* Insert NULL using BULK #4001

* fix: typo

* fix(SQLite): missing functions; consolidate extract calls

* chore(SQLite): remove unnecessary typedef

* fix(SQLite): remove duplicate functions

* fix(SQLite): compile errors and warnings

* fix(SQLite): extract implementation signatures

* fix(SQLite): long64 platforms compile errors

* fix(SQLite): long64 platforms compile errors, part ii

* fix(ODBC): windows build

* fix(ODBC): MSSQL big string on windows

* fix(Data): psql and mysql compile errors

* fix(PostgreSQL): add missing functions

* fix(ODBC): revert column size discovery (breaks Oracle)

* fix(PostgreSQL): Nullable extraction #4001

* fix(MySQL): Nullable extraction #4001

* chore(Data): code tidy up

* fix(ODBC): add missing changes
This commit is contained in:
Aleksandar Fabijanic
2024-11-11 11:23:21 -06:00
committed by GitHub
parent fe9c13102d
commit 9530a77347
43 changed files with 5512 additions and 1313 deletions

View File

@@ -100,14 +100,14 @@ protected:
private:
std::string _msg;
Exception* _pNested;
int _code;
int _code;
};
#if defined(_HAS_EXCEPTIONS)
// Size of Poco::Exception depends on the exception settings (like _HAS_EXCEPTIONS)
// that might influence size of std::exception from which Poco::Exception is derived from.
// It is expected that Poco libraries and application using Poco have the same settings.
static_assert(_HAS_EXCEPTIONS != 0);
// Size of Poco::Exception depends on the exception settings (like _HAS_EXCEPTIONS)
// that might influence size of std::exception from which Poco::Exception is derived from.
// It is expected that Poco libraries and application using Poco have the same settings.
static_assert(_HAS_EXCEPTIONS != 0);
#endif
//

View File

@@ -53,6 +53,8 @@ class Nullable
/// default construction.
{
public:
using Type = C;
Nullable()
/// Creates an empty Nullable.
{
@@ -242,13 +244,13 @@ public:
return deflt;
}
operator C& ()
explicit operator C& ()
/// Get reference to the value
{
return value();
}
operator const C& () const
explicit operator const C& () const
/// Get const reference to the value
{
return value();

View File

@@ -116,6 +116,13 @@ std::string demangle()
}
template <typename T>
std::string demangle(const T& t)
{
return demangle(typeid(std::remove_const_t<std::remove_reference_t<decltype(t)>>).name());
}
} // namespace Poco