Sébastien Rombauts
3d149cc62f
Removal of removing long APIs
2022-07-24 22:03:55 +02:00
Sébastien Rombauts
bc80914ddf
Merge branch 'master' into windows-migration
2022-07-24 18:41:45 +02:00
Sébastien Rombauts
091726aa65
Fix Statement unit tests still using long
...
long & long long api have been replaced by int32_t and int64_t types
TODO: we need to continue cleanup APIs to remove all long from the codebase before we can release a new version
2022-07-24 16:19:37 +02:00
Jonathan Guzmán
179ef091c6
define preprocesor definition
...
define NON_AMBIGOUS_OVERLOAD to prevent ambiguous overload
and use int instead of long to prevent ambiguous overload errors
2022-04-19 21:58:04 -06:00
Jonathan Guzmán
6b6078ab3f
use int64_t instead of long long(unit tests)
...
using long long may be ambigous for the compiler in the call of bind()
using a fixed type(int64_t) solves this issue
this issue was replicated on both Arch Linux&Windows
with clang 13.0.1/14.0.1
2022-04-19 21:12:46 -06:00
Kacperos155
27a32521b7
Add test for Column std::shared_ptr; remove noexcept from throwing Column constructor
2022-01-26 04:19:10 +01:00
Kacperos155
10d779a349
Fixed #349 ; Column throw when constructed with nullptr
2022-01-26 03:22:17 +01:00
John Jenkins
abd139c597
Allow specifying transaction behaviors DEFERRED, IMMEDIATE, and EXCLUSIVE
2021-10-04 16:27:08 -05:00
Jason Rhinelander
bfe0221b8c
Disable std::filesystem on macOS targetting <10.15
...
macOS flat out refuses to compile if you touch std::filesystem when
targetting macOS < 10.15 (to be able to deploy a binary to older macOS
versions).
This disables the std::filesystem support when in C++17 mode with such a
target.
2021-08-19 22:01:23 -03:00
Sébastien Rombauts
64c34bc7bd
Added unit tests for new getChanges() and fix comment being too long
2021-07-25 10:46:56 +02:00
Sébastien Rombauts
cac0000ada
Merge #299 Added Savepoint support from catalogm
2021-01-06 11:07:44 +01:00
Patrick Servello
81e5a1f910
Add Database constructor for filesystem::path #296 ( #314 )
...
* Add Database constructor for filesystem::path #296
* Fixed incorrect MSVC version value for C++17
* Updated another incorrect version string
* Updated MSVC compiler check again. The <filesystem> header wasn't transitioned from std::experimental until MSVC 15.7
* Changed version check to look at c++ version no MSVC version
2021-01-06 08:41:32 +01:00
Benjamin Stauffer
1d0d8fe446
Add Database::tryExec()
...
Similar to Statement::tryExecuteStep(), allows calls to sqlite3_exec()
with the caller assuming responsibility for checking and handling the
returned status.
2020-11-12 02:05:05 -06:00
Kelvin Hammond
61bdad3aae
Added test for Savepoint, calling rollback after release or commit
2020-09-10 19:03:00 -04:00
Kelvin Hammond
ee6762c0d9
Added: Savepoint support
2020-09-10 18:59:08 -04:00
Daniel Schmidt
0c9d4a3f36
Improved name of new function, documentation and tests.
2020-03-26 09:19:27 +01:00
Daniel Schmidt
9dee407ff0
Added unit tests for new function on statements.
2020-03-25 16:20:10 +01:00
Sébastien Rombauts
f70374262d
Improve Statement unit tests coverage (bind by name with a std::string)
2020-01-09 14:00:58 +01:00
Sébastien Rombauts
3757998c16
Improve test coverage of Database: improve tests & remove a variant of createFunction()
2020-01-04 22:28:55 +01:00
Sébastien Rombauts
ddb4929ddb
Fix and improve read-header unit tests, as well as backup tests
2020-01-04 19:10:32 +01:00
Sébastien Rombauts
9ea0cffc15
Replace Database::backup() "C" implementation by calling the Backup class
2020-01-03 22:58:42 +01:00
Sébastien Rombauts
e6288ee920
Update copyright notice
2020-01-01 08:08:59 +01:00
Patrick Servello
b5c0a08d3d
Added SQLite header parsing functionality and associated tests ( #249 )
...
* Added SQLite header parsing functionality and associated tests
* Removed unused header file.
* Removed an accidental copy pasted remove() statement
* Replaced stdint with plain old C types for now. Will apply fixed with datatypes to cpp11 branch
* Added test scenarios to simulate blank file name, non existant file and a corrupt header
* Refactored exception flow to match latest tidying, brought casts out of function calls and cleared up invalid header exception message
2019-12-30 13:45:51 +01:00
Sébastien Rombauts
54c7a189af
Add a basic unit test to Database::loadExtension() (without a proper extension to test)
2019-12-29 23:49:32 +01:00
Sébastien Rombauts
f9cd39b278
Improve and complete unit tests of Exception
2019-12-29 23:33:37 +01:00
Sébastien Rombauts
dc3f1ac271
Add unit test for Database::createFunction()
...
using an example from
https://stackoverflow.com/a/8283265/1163698 How can I create a user-defined function in SQLite?
2019-12-29 22:22:10 +01:00
Sébastien Rombauts
c1ab7075f4
Fix compilation of new enum Database::BackupType for C++98
2019-07-09 09:37:05 +02:00
Oleg Smolsky
514d7d6846
Implement Database::backup() ( #211 )
...
Easily backup/restore a live DB via the sqlite3_backup_init() API
- https://www.sqlite.org/backup.html
- https://www.sqlite.org/c3ref/backup_finish.html#sqlite3backupinit
Use the reference implementation from the documentation
2019-07-09 09:35:31 +02:00
maxbachmann
3ba20a3519
Improve execute many and fix GCC 9 Build by explicitly scoping SQLiteCpp::bind()
...
Fix #206 #207
2019-06-27 21:44:03 +02:00
Sébastien Rombauts
49c1f6c08d
Rename Statement::getExpandedSQL() from #201 and fix #203 #205 memory leak
2019-06-24 22:01:54 +02:00
Sébastien Rombauts
9b00034b06
Merge pull request #201 from os12/master
...
Add Statement::getExtendedSQL()
2019-06-18 20:24:33 +02:00
Oleg Smolsky
7dba62bcf1
Added a minimal test for Statement::getExtendedSQL()
...
- there is nothing conditional here in the wrapper
2019-06-18 09:42:35 -07:00
Sébastien Rombauts
1eda5c751c
Minor cleanup of the codebase, mostly putting braces on their own line in unit tests
2019-06-16 15:48:57 +02:00
maxbachmann
b38e88decb
add tuple_bind and execute_many ( #197 )
...
added the option to use a tuple with values to bind.
use this to implement executeMany as described in #24 , so it will be possible to pass multiple tuples
2019-06-16 10:46:21 +02:00
maxbachmann
81913790f2
Update VariadicBind.h for C++11 instead of C++14 ( #196 )
...
* Update VariadicBind.h
* replace c++14 by c++11
* activate tests for c++11
* replace string_literals for c++11 support
2019-05-16 08:41:29 +02:00
Sébastien Rombauts
f1301a4a11
Merge pull request #192 from jrave/bind_parameter_count
...
Add wrapper for bind parameter count
2019-03-04 20:18:49 +01:00
Sébastien Rombauts
78915c8f43
Fix #190 Add Statement move constructor
2019-03-04 18:43:59 +01:00
Johannes Rave
1dab172264
Add wrapper for bind parameter count
2019-03-04 18:43:32 +02:00
Sébastien Rombauts
af8e2cea9e
Unit test using a Builder function to showcase the Database move contructor
2019-03-04 08:36:19 +01:00
Sébastien Rombauts
678562e727
Implement Database move constructors for MSVC #190
...
Added checks to proper _MSC_VER 1600 (VS2010)
2019-03-03 22:02:58 +01:00
Sébastien Rombauts
35aaf73191
Add implicit cast operators to char & short and their unsigned variants
...
Fix #179 error: conversion from 'SQLite::Column' to 'unsigned char' is ambiguous
2019-03-03 09:54:40 +01:00
Sébastien Rombauts
2e69a81ccf
Fix #189 unit test "Column.basis" failing on Visual Studio 2013
...
The implicit cast to std::string() would fallback to const char* with MSVC 2010-2013 (witch does not work with the NULL char in the middle)
Without it, trying to access a binary blob with implicit cast to string
ends up converting it to a C-style char*, damaging the data by truncating it to the first null character!
2019-03-03 08:55:18 +01:00
Sébastien Rombauts
804879d27d
Revert OLD cmake policy & tested commented out
2019-03-02 23:46:59 +01:00
Sébastien Rombauts
df7d113a3b
Add test case to try to repro the reported ambiguous bind() int64_t on LP64 Android
2019-03-02 23:43:03 +01:00
Sébastien Rombauts
2cb3cb2fef
Update copyright notice
2019-03-02 15:46:53 +01:00
Jorrit Wronski
890155363c
CMake compatibility ( #170 )
...
* Added compatibility with older and newer CMake versions, fixed an issue with the SQLite SEE tests
* Fixed include directory handling
* Add comments
2019-02-13 08:32:53 +01:00
Sébastien Rombauts
a41629f9ed
Fix #155 Statement::bind truncates long integer to 32 bits on x86_64 Linux
...
Reproduced the problem with a dedicated unit test, then fixed the bug.
Thanks @tszypenbejl for the clear analysis and the fix.
2018-02-23 17:10:53 +01:00
Sébastien Rombauts
d020c5f694
Update copyright notices to 2018
2018-01-24 11:26:38 +01:00
Alexander Guettler
cebea884c3
Add the fix from a3160dcfc2f80f692f3477a67c202ff87f75fa5a also to the bind by name functions
2017-11-09 11:05:01 -08:00
Sébastien Rombauts
2286e66d53
Fix a signed/unsigned warning
2017-11-06 13:02:46 +01:00