71 Commits

Author SHA1 Message Date
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
Matej Kenda
a1efeaa72d
GitHub runner ubuntu 24.04 and resolve some issues (#4727) 2024-10-09 21:53:49 +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
Alex Fabijanic
137cd32183 fix(test): Disable SQL parsing by default #4462 2024-02-16 00:59:45 +01:00
Aleksandar Fabijanic
86084cb7b2
feat(Data::AbstractSessionImpl): add autoCommit property and tests #4261 (#4262)
* fix(Data::AbstracSessionImpl): protect autocommit feature handlers #4261

* chore(CI): re-enable mysql

* MySQL SessionImpl: make sure autocommit mode is on when session is openend or reset.

* PostgreSQL SessionImpl: reuse autocommit flag of AbstractSessionImpl.

* Github workflow: re-activated linux-gcc-make-postgres

* Fixed indentation in ci.yml

* Fix for DataTest SQLExecutor: use connector

* Data::Session: when parser is not used and autocommit mode is off, assume any SQL statement begins a transaction.

* PostgreSQL: don't use SQL parser (it currently cannot handle placeholders).

* PostgreSQL: added test sessionTransactionNoAutoCommit

* PostgreSQL test suite: removed reference to generic SQLExecutor

* PostgreSQL: fixes for sessionTransactionNoAutoCommit.

* MySQL: added test sessionPoolAndUnicode (from #2801)

* Fixed #define in sql-parser

* Data generic testsuite: support numbered placeholders

* PostgreSQL test suite: added missing include directory to Makefile.

* Attempt to fix PostgreSQL Makefiles

* PostgreSQL testsuite: added include path to Makefile

* PostgreSQL testsuite: added PocoDataTest library to Makefile

* DataTest SQLExecutor::formatSQL: don't use string_view

* PostgreSQL test suite: delegated most tests to Poco::Data::Test

* Makefile: added dependencies on Data-Tests

* Weaken assumptions about async in generic transaction tests

* Makefile: added dependency for Prometheus samples

* Fix deadlock in DataTest SQLExecutor

* PostgreSQL tests SQLExecutor: cleanup

* feat(Data::AbstractSessionImpl): add autoCommit property and tests #4261

* Brought MySQL backend in line with _autoCommit flag of AbstractSessionImpl.

---------

Co-authored-by: Friedrich Wilckens <frwilckens@gmail.com>
Co-authored-by: Friedrich Wilckens <friedrich.wilckens@ingramcontent.com>
2023-12-22 09:27:34 +01:00
Aleksandar Fabijanic
78234857bf feat(ProGen): default to c++17 2023-11-05 23:40:47 +01:00
Alex Fabijanic
81d7307fa7 fix(Data):
adjust make and CMake for SQLParser and DataTest lib
separate samples from tests in CMake
remove unused StatementImpl from Data testsuite
2023-11-04 23:11:38 +01:00
Alex Fabijanic
4f0315aeb0 feat(Data::Statement): make statementsCount() Optional 230 2023-11-02 00:28:18 +01:00
Alex Fabijanic
afd9c8c408 feat(Data::Session): add 'sqlParse' feature #4230 2023-11-02 00:04:10 +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
John Vandenberg
0e6e16645c
Remove trailing whitespace (#3668) 2022-07-07 04:18:20 -05:00
Alex Fabijanic
34c4d7c4a2 Poco::Data::SessionPool change connection timeout #3241 2022-06-17 23:21:56 +02:00
Aleksandar Fabijanic
ff879f5905
Fix/tsan (#3617)
* fix(Foundation): tsan warnings fixes

* fix(Thread_POSIX): tsan warnings fixes; add tsan.suppress

* fix(Util): tsan fixes

* fix(netSSL_OpenSSL): tsan fixes

* fix(Data): tsan warnings fixes

* feat(ci): add tsan job

* feat(ci): add tsan job, another attempt

* feat(ci): add tsan job, 3rd attempt

* fix(Foundation): tsan warnings fixes

* fix(Thread_POSIX): tsan warnings fixes; add tsan.suppress

* fix(Util): tsan fixes

* fix(netSSL_OpenSSL): tsan fixes

* fix(Data): tsan warnings fixes

* feat(ci): add tsan job

* feat(ci): add tsan job, another attempt

* feat(ci): add tsan job, 3rd attempt

* fix(ResultMetadata): memory leak #3474

* feat(ci): disable ActiveDispatcher tests for tsan runs

* feat(ci): try to fix tsan options file detection (again)

* chore(TestLibrary: correct spelling

* fix(ci): fix tsan run; add -y to apt; disable samples build for some jobs

* fix(ci): add mysql ports

* feat(ci): add VS asan

* feat(double-conversion): Upgrade double-conversion to v3.2.0 #3624

* chore(asan): disable msvc asan build (dll not found)

* chore(double-conversion): move NumericString.h before double-conversion includes to prevent min/max collision; reinstate lost loongarch64

* chore(JSON): sync pdjson with upstream

* fix(Statement): Poco::Data::Statement becomes unusable after exception #2287
2022-06-01 23:47:26 -05:00
Alex Fabijanic
f9677ef89a cleanup Data transcode test 2022-05-25 22:45:16 -05:00
Alex Fabijanic
ebeef47a8c feat(Data): Add JSONRowFormatter #3602 2022-05-22 12:41:34 -07: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
1bf40a0cd2 merge some changes from develop branch; modernize and clean-up code; remove support for compiling without POCO_WIN32_UTF8 2020-01-09 10:08:09 +01:00
zosrothko
960ecb38f0 Poco 1.9.1 assert true (#2255)
* Rename assert by assertTrue

* Update submodules

* Missing assertTrue

* Rename poco_assertTrue to poco_assert

* Rename poco_assertTrue to poco_assert
2018-03-29 11:12:54 -06:00
Günter Obiltschnig
04e7e04d4d Remove \$Id`$ headers 2017-09-09 11:14:06 +02:00
Guenter Obiltschnig
c4c5f18b97 fixed typo in testsuite 2016-10-14 11:51:23 +02:00
Guenter Obiltschnig
ed23f24639 fixed GH #1236: Remove Poco::Data::Row::checkEmpty() as it prevents Row from being used with all NULL rows 2016-04-11 10:38:33 +02:00
Guenter Obiltschnig
6c66d0b49e fix leap year issues in testsuites 2016-02-29 10:18:11 +01:00
Guenter Obiltschnig
d50e5fd2c7 fixed testRowFormat 2014-09-27 17:40:27 +02:00
Roger Meier
b0581433a7 LICENSE: add info about SPDX-License-Identifier usage and use it
fix: remove executable flag and change back to 100644 (was 100755)

Signed-off-by: Roger Meier <r.meier@siemens.com>
2014-05-14 08:38:09 +02:00
Roger Meier
628a06f718 LICENSE: add info about SPDX-License-Identifier usage and use it
Signed-off-by: Roger Meier <roger@bufferoverflow.ch>
2014-05-04 21:02:42 +02:00
Aleksandar Fabijanic
ebff906402 more Data housekeeping
replaced more pointers with SharedPtr
2013-04-28 20:09:36 -05:00
Aleksandar Fabijanic
a50823c5a8 data housekeeping
- removed naked pointers from Data interfaces
- fixed GH #82: name conflict in Data::Keywords::bind
- fixed GH #157: MySQL: cannot bind to 'long' data type on
Windows/Visual C++
- fixed GH #158: MySQL: MYSQL_BIND 'is_unsigned' member is not set
2013-04-28 12:34:07 -05:00
Guenter Obiltschnig
b0dff76762 workaround for data testsuite linker issue 2012-10-14 09:51:34 +00:00
Guenter Obiltschnig
4624a585dd workaround for data testsuite linker issue 2012-10-14 09:27:50 +00:00
Aleksandar Fabijanic
a6cc973fe3 add connector name shortcut to Session 2012-09-23 21:01:20 +00:00
Aleksandar Fabijanic
883de9670a Windows/VS2011 build all configs 2012-09-23 06:28:42 +00:00
Aleksandar Fabijanic
9ad1effd8b removed redundant Poco::Data::Nullable 2012-09-12 02:10:31 +00:00
Aleksandar Fabijanic
dbda035719 - fixed bug in SQLite Extractor (DateTime extraction not returning false when value is NullPointerException, see http://pocoproject.org/forum/viewtopic.php?f=12&t=5141#p9363 )
- fixed code indentation (spaces to tabs)
2012-08-23 02:34:35 +00:00
Aleksandar Fabijanic
5a639074d9 change EOL to 'native' 2012-04-29 18:52:25 +00:00
Aleksandar Fabijanic
d75e68c027 new trunk (base for 1.5)
windows build only
2012-04-23 01:14:34 +00:00
Aleksandar Fabijanic
f9b60296f7 removing old trunk files 2012-04-23 00:43:14 +00:00
Marian Krivos
b76b5673a6 test compile fix: DataTest.cpp was broken after last LOB class refactoring, erro was:
call of overloaded 'LOB(Poco::Dynamic::Var&)' is ambiguous, candidates are: 
     Poco::Data::LOB<T>::LOB(const Poco::Data::LOB<T>&) [with T = char, Poco::Data::LOB<T> = Poco::Data::LOB<char>]
     Poco::Data::LOB<T>::LOB(const std::basic_string<_CharT>&) [with T = char]
     Poco::Data::LOB<T>::LOB(const std::vector<T>&) [with T = char]
2011-01-15 18:27:49 +00:00
Aleksandar Fabijanic
4856f84b21 Sun CC wants explicit cast &^( 2009-11-13 13:47:57 +00:00
Aleksandar Fabijanic
d0d667af56 added support for Var assignment to Var-enabled types 2009-11-13 00:12:26 +00:00
Aleksandar Fabijanic
b0bbfb5554 changed set|getTimeout() => set|getLoginTimeout()
added set|getConnectionTimeout()
2009-02-28 01:52:41 +00:00
Aleksandar Fabijanic
68a79674c1 SF [2643953] Improve Data::Session connection 2009-02-27 03:14:53 +00:00
Aleksandar Fabijanic
b38f5ce99c [SF 2505290] DB connection as URI (MySQL not tested!) 2009-01-13 19:51:48 +00:00
Aleksandar Fabijanic
2f7c6b4aa5 make Row field names case-insensitive 2009-01-07 16:12:40 +00:00
Aleksandar Fabijanic
a42e8d919b [SF 2272430] BLOB and CLOB
Renamed:
(Abstract)Preparation => (Abstract)Preparator
(Abstract)Prepare => (Abstract)Preparation
2008-11-24 00:38:23 +00:00
Aleksandar Fabijanic
4b4ec9393c - introduced Poco::Dynamic namespace
- moved/renamed:
Poco::DynamicAny => Poco::Dynamic::Var
Poco::DynamicAny typedef for backward compatibility (deprecated)
DynamicAny.h forwarding header for backward compatibility (deprecated)

Poco::DynamicAnyHolder => Poco::Dynamic::VarHolder
DynamicAnyHolder.h forwarding header for backward compatibility (deprecated)

Poco::DynamicStruct => Poco::Dynamic::Struct
Poco::DynamicStruct typedef for backward compatibility (deprecated)
DynamicStruct.h forwarding header for backward compatibility (deprecated)

- changed FastMutex to Mutex in Data::SessionPool (deadlocking)
2008-11-16 16:54:37 +00:00
Aleksandar Fabijanic
6b3b3e852f few Row sorting fixes/optimizations 2008-08-14 22:53:45 +00:00
Aleksandar Fabijanic
b1f895eed8 DynamicAny improvements (now holds any type out-of-the-box), some refactoring and documentation improvements 2008-06-30 00:26:54 +00:00
Aleksandar Fabijanic
cf01c1ad16 date/time test fix; g++ compilation fix for bulk 2008-06-01 11:02:21 +00:00
Aleksandar Fabijanic
d2de70c58a namespace Keywords (!!! breaks existing code !!!)
Following keywords were moved from Poco:Data to Poco::Data::Keywords namespace

- now
- use
- bind
- into
- in
- out
- io
- from
- bulk
- null
- limit
- upperLimit
- lowerLimit
- range
2008-03-20 20:31:23 +00:00