134 Commits

Author SHA1 Message Date
Matej Kenda
daf19e5223 fix(templates): Corrected explicit template instantiations to avoid multiple instances. 2025-01-14 15:09:30 +01:00
Aleksandar Fabijanic
21f93e3e6a
enh(ODBC): ODBC: DataFormatException getting Time value from SQL Server #3801 (#4777) 2024-11-20 16:22:53 +01:00
Aleksandar Fabijanic
9530a77347
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
2024-11-11 18:23:21 +01:00
Matej Kenda
7df5ec45b8
fix(Data::ODBC): use connection and login timeouts in ODBC session implementation (#4721)
* fix(Data::ODBC): use connection and login timeouts in ODBC session implementation (#4366)

* fix(Data::ODBC): use only connection timeout in ODBC session implementation (#4366)

* fix(ODBC): consolidate login timeout; create temp directory if it doesn't exist #4366

---------

Co-authored-by: Alex Fabijanic <alex@pocoproject.org>
2024-10-30 16:52:45 +01:00
Aleksandar Fabijanic
36c808230c
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>
2024-10-19 21:43:00 +02:00
Aleksandar Fabijanic
8e958f685f
2808 data nullable (#4729)
* chore(CppUnit): disable MSVC secure warning

* chore(Data): regenerate VS projects

* chore(DataTest): regenerate VS projects

* chore(Data/testsuite): regenerate VS projects

* chore(DataTest): fix VS90 project

* fix(ODBC): Failed to insert Poco::Nullable< Poco::Data::Date> data into MSSQL using ODBC #2808

* chore(Foundation): add Trace to VS project

* chore(Trace): add Trace VS projects #4692

* fix: g++ and clang build #2808
2024-10-12 20:42:39 +02:00
Matej Kenda
c038b52f36 chore(Poco): Resolve a lot of warnings, reported by g++ 13. 2024-10-10 10:41:24 +02:00
Matej Kenda
f24547cdcf enh(Poco): Mark deprecated functionality with C++ attributes and resolve internal usage of deprecated functions (#4551)
* enh(poco): Replace deprecated comments with C++ deprecated attribute.

* enh(Poco): Replace some deprecated functionality in Poco sources. (#4426)

* enh(Poco): Replace more deprecated functionality in Poco sources. (#4426)

* fix(CMake): Variable BUILD_SHARED_LIBS must be defined properly to create valid binaries.

* enh: Code improvements done while resolving deprecated functionality (#4426)

* Un-deprecate LocalDateTme (#4426)

* enh(Poco): Replace usage of deprecated functionality with other functions/classes (#4426)

* chore(SSL): temporarily un-deprecate SSL-related functionality (#4426)

* chore(SSL): temporarily un-deprecate old MongoDB protocol functionality (#4426)

* enh(Poco): Minor Hash improvements (#4426)

* enh(Foundation): Compile deprecated hash tests only when POCO_TEST_DEPRECATED is enabled (#4426)

* enh(Net): Compile deprecated Socket::select functionality only when POCO_TEST_DEPRECATED is enabled (#4426)

* enh(Bonjour): Replace deprecated Socket::select with PollSet (#4426)

* enh(Poco): Introduce POCO_DEPRECATED macro to have the ability to disable deprecation warnings in applications (#4426)

* test(ODBC): add few asserts to testStoredProcedureDynamicVar

* fix(ODBC): rename DynamicAny -> DynamicVar in tests

* fix(ODBC): make Dignostics static members inline to prevent explicit instantiation warnings on windows

---------

Co-authored-by: Alex Fabijanic <alex@pocoproject.org>
2024-07-29 08:37:35 +02:00
Aleksandar Fabijanic
ed181d99dc
4529 sql logger shutdown (#4530)
* enh(ThreadTest): add join test

* enh(SQLLogger): #4529 (wip)

* enh(SQLChannel): just few C++17 modernisations.

* enh(SQLiteTest): extend unit test to destroy SQL channel while it has pending messages. (#4529)

* enh(ODBC): improve exception descriptions and add string/batch size tests

* feat(SQLChannel): add store-and-forward mode

* fix(DataTest): SQLChannel *nix build and test run #4529

* fix(DataTest): CodeQL warning #4529

* chore(ODBCTest): lower the number of max statements in big batch

* feat(SQLChannel): add flush property #4529

* enh(SQLChannel): use event for interruptible sleep; reduce code duplication with lambda; update comments #4529

* fix(SQLChannel): flush time determination #4529

---------

Co-authored-by: Matej Kenda <matejken@gmail.com>
2024-07-16 20:03:32 +02:00
Aleksandar Fabijanic
480f992aa4 fix(ODBC): Unicode wrappers do not check for null length pointers #4505 2024-03-21 14:03:23 -05:00
Aleksandar Fabijanic
c7d16b2a7e
4368 oracle odbc tests (#4410)
* feat(format): Add string_view format type spec #4409

* chore(Types): add demangle

* fix(Data): Oracle failing ODBC tests #4368

* fix some CQL and fuzz warnings; add Var::typeName()

* fix(build): -std=c++17 and c11

* fix windows build

* fix(Foundation): test apps vs projects c++17

* chore(build): remove uneeded compiler flag

* fix(VarHolder): number of digits range check for int->float conversion (reported by CIFuzz)

* fix(test): CIFuzz

* fix(CIFuzz): another attempt

* fix(progen): add LanguageStandard (stdcpp17, stdc11); regenerate vs170 projects

* fix(CiFuzz): add int->float precision loss barrier; fix erroneous number of digits logic

* enh(Var): silent loss of precision on int->float conversion #4423

* enh(Var): silent loss of precision on int->float conversion #4423

* chore(build): remove old build files

* chore: fix missing parens warning

* enh(Thread_POSIX): prevent double-joining; add error description to exceptions

* fix(Data): unresolved Column<long> linkage in test

* fix(demangle): determine type name from template parameter; add eror diagnostic for demangling failures

* chore(buildwin): remove old vs versions from build and progen scripts; update documentation

* chore(buildwin): remove leftover closing curly
2024-01-31 22:07:07 +01:00
Alex Fabijanic
6dad8502d3 fix(Data):
* make bool Session::isTransaction() return Poco::Optional
* move parsing to Statement
* SQLParser make build
* other fixes and improvemets #4230
2023-11-01 00:25:46 +01:00
Alex Fabijanic
439acf1924 fix(Data): transactions are not handled properly #4230 2023-10-27 17:45:39 +02:00
Alex Fabijanic
efd9b2ca1d feat(Data::ODBC) add MARS support #4230 2023-10-27 16:01:33 +02:00
Aleksandar Fabijanic
5131fe1c15
fix(Poco::Data): fixes and improvements #4198 (#4199)
* fix(Poco::Data): fixes and improvements #4198

* chore: remove inadvertently commited garbage file

* fix(SQLite): SQLChannel tests #4198

* fix(Data::SessionPool): Improve Data::SessionPool thread safety #4206
2023-10-22 12:53:54 +02:00
Günter Obiltschnig
a00bfbe89f #4057: ODBC: SQL Anywhere Support (fix) 2023-06-11 09:59:49 +02:00
Anton
93d18162f3
Add ODBC DirectExec public API (#3502)
* ODBC sqlDirectExec

* doc

* Small fix

* Fix tabs, add missing const, fix style

* Add test case

* Small fixes

* suggested fix for async

* test for returned values
2023-03-22 00:51:57 -05:00
MailShop
abd06ab4d9
ODBC: Fix DataFormatException getting Time value from SQL Server (#3802) 2023-03-17 15:51:57 -05:00
John Vandenberg
0e6e16645c
Remove trailing whitespace (#3668) 2022-07-07 04:18:20 -05:00
Alex Fabijanic
08d68ea474 fix(Data): Poco::Data::ODBC-dbEncoding property not used for insert/update #3396 2022-05-03 13:56:24 -05:00
Alex Fabijanic
4dfbcd33db fix(Extractor): move extraction decoding to AbstractExtractor #3396 2022-04-28 22:23:04 -05:00
Günter Obiltschnig
666bac4454 #3330: Poco::Data::ODBC::ODBCStatementImpl causes crash 2021-11-05 16:54:12 +01:00
Günter Obiltschnig
7f720ee6e1 #3321: manually merge ODBC text encoding support 2021-06-22 08:30:05 +02:00
Günter Obiltschnig
7569ccf82b #3318: Data: Support Poco::UUID for data binding 2021-06-19 08:40:49 +02:00
Günter Obiltschnig
65cfa49dd9 fix include order 2021-04-16 08:07:53 +02:00
Günter Obiltschnig
7b44480486 #3153: Poco::Data::ODBC [N]VARCHAR(MAX) wrong maxDataSize() result 2020-11-27 19:30:28 +01:00
Günter Obiltschnig
aa46e9b6e4 fixed type overloads 2020-01-09 18:02:29 +01:00
Günter Obiltschnig
c111fc89f6 ODBC fixes 2020-01-09 12:30:27 +01:00
Günter Obiltschnig
c15b6191b6 fixed GH #2807: Poco::Data::ODBC Binding of SQL Decimal Type 2019-10-14 15:17:20 +02:00
Günter Obiltschnig
1282d757dc make binding of std::string configurable (SQL_LONGVARCHAR - default or SQL_VARCHAR) in Connector 2019-08-16 14:16:01 +02:00
Vojtěch Erben
a73462aedf Fixed ODBC SessionImpl 2018-11-20 10:57:58 +01:00
Alex Fabijanic
f6ddfe1d02 fix typeinfo compile error 2018-05-07 11:03:09 -05:00
Alex Fabijanic
55e56b668d data fixes (getters constness, string any handling) 2018-05-07 15:23:19 +00:00
Alex Fabijanic
1b2bd22d34 wrong field size calculation in ODBC code #1659 and other develop backports 2017-10-30 13:24:32 -05:00
Alex Fabijanic
43195651af Poco::Data ODBC impl doesn't bind to unsigned numeric types properly #1683 2017-10-20 22:14:07 -05:00
Günter Obiltschnig
04e7e04d4d Remove \$Id`$ headers 2017-09-09 11:14:06 +02:00
Guenter Obiltschnig
2de97f7ef4 fixed file headers 2017-02-18 14:30:54 +01:00
Guenter Obiltschnig
6548da5678 fixed docs 2017-02-18 14:03:55 +01:00
Guenter Obiltschnig
f88eaabcea fixed GH #1571: ODBC Preparator memory leak 2017-02-11 12:24:36 +01:00
Jan Viktorin
45642a3d4f Support ODBC GUID data type as string
The ODBC defines SQL_GUID datatype in sqlext.h. It is used
e.g. for transfer of UUID datatype from PostgreSQL.

Signed-off-by: Jan Viktorin <viktorin@rehivetech.com>
2016-11-12 21:25:23 +01:00
Jan Viktorin
97cbd9f03d ODBC: fix uninitialized variable
This prevents valgrind reports like:

==18426== Conditional jump or move depends on uninitialised value(s)
==18426==    at 0x6423EB5: Poco::Data::StatementImpl::execute(bool const&) (in /usr/lib/libPocoDatad.so.46)
==18426==    by 0x641DB5F: Poco::Data::Statement::execute(bool) (in /usr/lib/libPocoDatad.so.46)
==18426==    by 0x632A0C: Poco::Data::Keywords::now(Poco::Data::Statement&) (Statement.h:443)
==18426==    by 0x641C8E5: Poco::Data::Statement::operator,(void (*)(Poco::Data::Statement&)) (in /usr/lib/libPocoDatad.so.46)
...
==18426==  Uninitialised value was created by a stack allocation
==18426==    at 0x6A1A170: Poco::Data::ODBC::ODBCStatementImpl::affectedRowCount() const (in /usr/lib/libPocoDataODBCd.so.46)

Signed-off-by: Jan Viktorin <viktorin@rehivetech.com>
2016-11-10 19:52:38 +01:00
Guenter Obiltschnig
91f0b270a6 fixed GH #1464: ODBCMetaColumn::init() always maps integer NUMERIC/DECIMAL to Int32 2016-10-22 10:06:43 +02:00
Guenter Obiltschnig
4ee483d930 style fixes 2016-04-16 09:49:03 +02:00
Guenter Obiltschnig
b3a503c13e removed automatic Connector registration in ODBC and SQLite 2016-03-01 17:40:58 +01:00
Aleksandar Fabijanic
86b81bfcbd GH #499: Poco::Data::Statement::execute returns wrong value when zero results (ODBC) 2014-12-17 23:36:26 -06:00
Alex Fabijanic
63a9c7cd2a GH #512: Poco:Data:ODBC:Binder.h causes a crash 2014-10-10 21:12:44 -05:00
Günter Obiltschnig
a2617235fe #538 more dtor fixes and some style fixes along the way 2014-09-29 12:09:01 +02:00
Guenter Obiltschnig
85fd968a1e #538 prevent destructors from throwing exceptions 2014-09-19 10:13:03 +02:00
Matyas Dolak
d434d3cb12 Fixed ODBC WString size handling.
This fixes a bug where Poco would return a string 1 character shorter than is actually in the DB (when the string in the DB uses the full length of a CHAR(N) or VARCHAR(N) column).
2014-09-16 15:23:03 +02:00
Mattes Dolak
ae3cc71263 Fixed ODBC on Win64.
The SQLGetConnectAttr() function can write up to 64-bit integers, as documented by MSDN here: http://msdn.microsoft.com/en-us/library/ms710297%28v=vs.85%29.aspx
This fix uses 64-bit integers instead of 32-bit ones, the original code corrupted the stack when used on win7-x64 with MSSQL 2008.
2014-07-16 09:19:03 +02:00