94 Commits

Author SHA1 Message Date
fekir
94ebe5ced6 Add default copy constructor to exception class
The throw statement may copy the exception, since exception are thrown by value
Having const members disables the assignment operator
2017-08-19 08:53:01 +02:00
Sébastien Rombauts
670d710f62 Update version to 2.1.0 and add appropriate changelog 2017-07-18 14:56:18 +02:00
Sébastien Rombauts
1a2c7cbba7 Update sqlite3 from 3.13 to 3.19.3 (2017-06-08)
Fix #125 Incompatibility in 3.19.0 using a new CMake variable SQLITE_USE_LEGACY_STRUCT
2017-07-18 14:55:25 +02:00
Sébastien Rombauts
078941cdb1 Fix #130 Statement::getColumns() template function now uses T{} instead of T()
Thanks to @cycycyc for providing this improvement
2017-07-17 15:26:02 +02:00
Timothy Rae
4c339031f0 Remove const from Database::isUnencrypted() return type
Compiling with gcc pedantic mode was leading to a warning: "type qualifiers ignored on function return type"
2017-03-31 12:12:46 +09:00
dunkelfalke
f4a7e7c7ea Update Statement.h
Missing parameter name in the documentation comment
2017-03-21 17:45:39 +01:00
dend
f01a644dc0 Added convenience functions for constructing objects from a row 2017-02-12 22:10:29 -05:00
Jorrit Wronski
f5a25167a4 Debugging GCC build errors remotely is not fun... 2016-12-23 14:16:37 +01:00
Jorrit Wronski
823828fc9e Made encryption test static and fixed the encryption docs 2016-12-23 13:52:59 +01:00
Jorrit Wronski
02f8fe19c0 Fixed some documentation and corrected the encryption detection. 2016-12-23 08:02:13 +01:00
Jorrit Wronski
685ff293c5 moved the key handling to a new function, added a check for an encrypted database 2016-12-22 17:52:06 +01:00
Jorrit Wronski
611ab22458 Added ability to open encrypted databases. 2016-12-01 23:37:22 +01:00
Mikhail Komarov
51885d7aa6 Redundant const specifier removed 2016-09-09 13:31:36 +03:00
Sébastien Rombauts
d04c8699d2 Apply code style 2016-08-05 07:56:20 +02:00
Jens Alfke
30e285ff89 Fixed link errors calling Exception::getErrorCode()
getErrorCode() and getExtendedErrorCode()'s implementations were
accidentally declared as inline in the .cpp file. This causes the
compiler to not generate any code for them, resulting in link errors
when a client calls them.

Fixed by moving the implementations into the header, where they need to
be if they're inline.
2016-08-04 16:36:09 -07:00
Sébastien Rombauts
53c727c68d Update version to 2.0.0 2016-07-25 22:21:04 +02:00
Sébastien Rombauts
648ffe01e8 Add Database::VERSION, getLibVersion() and getLibVersionNumber()
Usefull to get SQLite3 version without including sqlite3.h in application code
2016-07-25 21:53:47 +02:00
Sébastien Rombauts
f77b707206 Revert recent switch from uint32_t/int64_t to use int/unsigned/long/long long and fix #93 2016-07-19 10:56:08 +02:00
Sébastien Rombauts
223c14139b Minor comment style cleanups 2016-07-16 17:04:49 +02:00
Sébastien Rombauts
7983b81f75 Mutualize code between getColumn(name) and isColumnNull(name) with a getColumnIndex(name)
- mColumnNames is mutable so that getColumnIndex() and isColumnNull() can be const
2016-07-16 16:33:44 +02:00
Bruno Coelho
f022c6af60 Add option to check if column is null by name 2016-07-15 16:15:34 +01:00
Sébastien Rombauts
401b7361ed Renamed errmsg() and getErrStr() methods to getErrorMsg() and getErrorStr() 2016-07-13 18:37:22 +02:00
Sébastien Rombauts
91abc3cb44 Remove unused Exception constructor 2016-07-13 18:32:44 +02:00
Sébastien Rombauts
fd8f50bdd9 Remove last #include <sqlite3.h> from a header : add a few public constants
- Move #include <sqlite3.h> from Exception.h to a new corresponding .cpp
 - Add SQLite::OPEN_READONLY...
2016-07-13 17:16:41 +02:00
Sébastien Rombauts
57d991b85e Complete unit tests for Database::errmsg() 2016-07-08 17:41:35 +02:00
Sébastien Rombauts
fb5508921a Move #include <sqlite3.h> from Database.h to the .cpp 2016-07-08 17:07:59 +02:00
Sébastien Rombauts
ed052a36bd Add unit test for bindNoCopy() 2016-07-07 21:53:45 +02:00
Sébastien Rombauts
8275c7fb29 Move #include <sqlite3.h> from Statement.h to the .cpp 2016-07-07 08:43:32 +02:00
Sébastien Rombauts
2abcf45bb9 Remove Column::errmsg() method : use Database or Statement equivalents 2016-07-06 21:41:04 +02:00
Sébastien Rombauts
300f278281 Move #include <sqlite3.h> from Column.h to the .cpp 2016-07-06 21:20:19 +02:00
Sébastien Rombauts
b033abb3fd Add unit tests for the new Column getter and cast operator 2016-07-06 21:20:19 +02:00
Sébastien Rombauts
646d25ca95 Switch from sqlite3_int64 to int64_t 2016-07-05 11:05:16 +02:00
Sébastien Rombauts
a2abbf1d96 Fix Doxygen comments 2016-07-05 08:02:23 +02:00
Sébastien Rombauts
db7aefb271 Renamed Backup accessors and use a forward declaration to sqlite3_backup 2016-07-05 07:49:38 +02:00
Sébastien Rombauts
9c03f4e86b Add bindNoCopy() for C-style null-terminated text strings 2016-07-03 16:55:27 +02:00
Sébastien Rombauts
e7384b30a8 Remove unfinished Statement move constructor from PR #86
- see comments in code: needs a move constructor on Statement::Ptr
2016-07-02 14:14:08 +02:00
Sébastien Rombauts
bcdbea2cf8 Style cleanup on top of PR #86 2016-07-02 14:11:02 +02:00
Douglas Heriot
9a07f3918d Fix build on Linux, including cpplint warnings. 2016-07-02 14:05:14 +02:00
Douglas Heriot
a84c04aada Add bindNoCopy methods to allow binding std::string with SQLITE_STATIC.
Should be safe, as long as you can guarantee the std::string exists while executing the query.

Added an accessor to Column that returns a std::string, that can handle BLOB or TEXT values that contain null-bytes.

Also more binding & Column cast support for uint32_t - fixes ambiguous overload errors when using unsigned-integer types.
Note that I didn't use uint64_t, because unsigned 64-bit integers doesn't fit into SQLite (except for using int64_t and dealing with overflow with custom functions).

Added a C++11 move constructor to Statement, to allow storing it inside STL containers (eg. vector).
2016-07-02 14:05:14 +02:00
Sébastien Rombauts
4e7c12f629 Add VariadicBind.h from PR #85 to CMake for Visual Studio
+ fix style issues (cpplint)
2016-07-02 14:04:39 +02:00
Sébastien Rombauts
b913932be2 Add a unit test for transactions
+ a few small minor new assert in other tests
2016-06-28 13:17:33 +02:00
Sébastien Rombauts
90699f95ea Cleanup post merge request #84 : one more exception constructor 2016-06-27 11:34:25 +02:00
Paul Dreik
4a92dde562 dont include std headers inside our own namespace 2016-06-15 20:39:51 +02:00
Paul Dreik
3022d50b38 initial submission of variadic template for bind
tested with
CXXFLAGS="-std=c++14" cmake
with gcc 5.3.1.
2016-06-04 22:06:38 +02:00
Douglas Heriot
2cd31179f4 Use new Exception constructors everywhere appropriate.
Fix compiling with C++11.
Added public assessor methods to Exception class.
Added more Exception constructors as needed.
2016-05-26 12:34:14 +10:00
Douglas Heriot
832e89440f Better exception messages when statements fail
Added new constructor to Exception that takes sqlite3* pointer, allowing for getting more information out. Makes it much easier to debug syntax errors in prepared statements, for example.
2016-05-26 00:34:34 +10:00
Sébastien Rombauts
2210b30b52 Update sqlite3 from v3.9.2 to 3.10.2 (2016-01-20) and update version to 1.3.1 2016-02-10 11:45:22 +01:00
Sébastien Rombauts
c53d885393 Update copyright notice to 2016 2016-02-10 10:27:47 +01:00
Sébastien Rombauts
b7b440de5d Fix #73 Wrong exception thrown by Database constructor
- switched from sqlite3_errmsg() to sqlite3_errstr() where applicable
2015-11-10 18:32:24 +01:00
Sébastien Rombauts
8f28c4c58f Update version to 1.3.0 with new Backup class 2015-11-01 21:53:26 +01:00