545 Commits

Author SHA1 Message Date
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
a637d24764 Add GCC 8 and GCC 9 in the Travis CI build matrix 2019-06-24 22:16:05 +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
a68397c7ac Add address sanitizer as an option for GCC & Clang
Add corresponding option SQLITECPP_USE_ASAN

Also formalize previously existing SQLITECPP_USE_GCOV option
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
Sébastien Rombauts
08a73ce90b Fix #156 Misleading error message in exception from Statement::exec
Fix #199

the problem is that tryExecuteStep returns SQLITE_MISUSE when it was not used properly. Since this is set manually this is not the error state of the statement, so when checking the error message of the statement there obviously is none, since there was no error.
fixes this problem by checking whether the error code is the same as the error state of the statement
2019-06-16 15:20:08 +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
Oleg Smolsky
ce45099695 Add Statement::getExtendedSQL()
- it returns a UTF-8 string containing the SQL text of prepared statement with
   bound parameters expanded
2019-06-15 10:27:30 -07:00
maxbachmann
7738989228
Update Statement.cpp 2019-05-21 17:51:56 +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
bb8c0ef0f2 Update SQLite3 from 3.27.2 to 3.28.0 (2019-04-16)
https://www.sqlite.org/releaselog/3_28_0.html
2019-04-30 22:27:17 +02:00
Sébastien Rombauts
7db3077426
Merge pull request #194 from Linux13524/fix/msvc19
Fix problem with snprintf macro in MSVC 2019
2019-03-30 13:55:57 +01:00
Linus Klöckner
65ecffba01 Fix problem with MSVC 19
"error C2039: '_snprintf': is not a member of 'std'"
2019-03-30 11:14:39 +01:00
Sébastien Rombauts
50425142fe Fix Statement destructor since addition of the move constructor 2019-03-05 07:15:06 +01:00
Sébastien Rombauts
f2b1017710 Add a Statement::Ptr move constructor to fix leak because of ref counter incremented on copy 2019-03-05 00:20:06 +01:00
KOLANICH
13c5d4f00c Added .editorconfig 2019-03-04 20:57:31 +01:00
KOLANICH
96df7c99fb Removed *.cmake from .gitignore 2019-03-04 20:57:31 +01:00
Sébastien Rombauts
7ee757e37d Update changelog 2019-03-04 20:57:31 +01: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
cb6c16aadb Fix #191 CMake Warning line 299 2019-03-03 21:20:36 +01:00
Sébastien Rombauts
469148a1e2 Update changelog with references to latest issues 2019-03-03 21:11:17 +01:00
Sébastien Rombauts
09dd10886c Release 2.3.0 2019-03-03 20:53:02 +01:00
Sébastien Rombauts
6dc7f9b235 Fix CMakeLists.txt to build under Bash on Ubuntu on Windows
(Windows Subsystem for Windows 10)
2019-03-03 15:52:18 +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
ca45c67884 Fix #167 sqlite3 library cannot be built on Linux when dynamically linked 2019-03-03 00:18:00 +01:00
Sébastien Rombauts
5dcb9af594 Updated changelog with past year changes 2019-03-02 23:58:08 +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
efa3da6534
Merge pull request #187 from IAmWebSA/master
Sqlite 3.27.1 -> 3.27.2 version bump
2019-03-02 23:36:08 +01:00
Sébastien Rombauts
2cb3cb2fef Update copyright notice 2019-03-02 15:46:53 +01:00
IAmWebSA
71a37d5f60 Sqlite 3.27.1 -> 3.27.2 version bump 2019-03-01 08:35:19 +01:00
Sébastien Rombauts
4f60c90f32
Merge pull request #183 from IAmWebSA/master
Updated SQlite to 3.27.1
2019-02-13 09:10:36 +01:00
Sébastien Rombauts
9667c523a0
Merge pull request #157 from hubslave/patch-1
Add a move constructor to Database
2019-02-13 09:10:03 +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
Simon
7de6b1e8f7 Updated SQlite to 3.27.1
Updated SQlite to 3.27.1 to be on newest level
2019-02-13 08:19:44 +01:00
Sébastien Rombauts
6c7b79e103
Merge pull request #176 from tjhowse/master
Fix error message regarding git submodule init/update.
2019-02-03 20:07:13 +01:00
Travis Howse
28e72f3ec0 Fix error message regarding git submodule init/update. 2019-02-01 14:34:46 +10:00
Sébastien Rombauts
d1a610f2f3
Merge pull request #172 from JakubFornadel/patch-1
Update VariadicBind.h
2018-12-18 21:22:40 +01:00
Jakub Fornadel
b280587204
Update VariadicBind.h
Remove warning: expression result unused [-Wunused-value]
https://stackoverflow.com/questions/14370043/can-operators-be-overloaded-for-initializer-list-literals
2018-12-18 11:44:35 +01:00
Sébastien Rombauts
8465f05e7e
Merge pull request #169 from jowr/MSVC2017
- Added tests for all MSVC compilers available on AppVeyor
- Enabled tests for Debug and Release configuration
- Added some macro definitions to silence warnings/errors from googletest with MSVC 2017
2018-11-29 09:21:44 +01:00
Jorrit Wronski
a786257320 Formatted the MSVC<2015 warning properly 2018-11-28 22:06:05 +01:00
Jorrit Wronski
f4c9aedf09 Fix problems with MSVC 2017 and issue warnings for MSVC < 2015 2018-11-28 21:37:05 +01:00