39 Commits

Author SHA1 Message Date
fekir
1fd32277c1 Remove unnecessary noexcept identifier from destructors 2017-08-21 22:01:21 +02: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
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
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
646d25ca95 Switch from sqlite3_int64 to int64_t 2016-07-05 11:05:16 +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
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
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
d36c39ccf3 Fix CppDepends most useful warnings:
- Convert last old-style cast to reinterpret_cast<>
 - Statement::Ptr is now private, with a friend declaration for Column
 - noexcept should not be defined as the depreacted throw()
2015-06-01 22:05:24 +02:00
Sébastien Rombauts
3c39f1ff1c Fix 3 new cpplint warnings about max line size 2015-05-03 23:32:40 +02:00
Sébastien Rombauts
f5e0cafa72 Minor fixes to comments and fix the build 2015-05-03 23:32:24 +02:00
Sébastien Rombauts
8797f16d12 Add Statement::getColumnName(aIndex)
- enable getting names befor gettings rows of result
2015-05-03 23:32:05 +02:00
Sébastien Rombauts
7fbfc29677 Fix #23 optimized Statement::getColumn() by name
- fix Statement::getColumn(apName) provided by #45 but was not working
  instead of using #46 that conflicts with current master
- rework it by using a map of columns name as
  a cache populated the first time the method is called
- add corresponding Unit Test
2015-05-03 23:28:41 +02:00
Jack.Yuan
b6fdf50669 Fix issue: Column by name #23
add method `Column getColumn(const char* aName);` in Statement.h
2015-04-17 15:59:58 +08:00
Sébastien Rombauts
b84721aed3 Update copyright date in recently modified files 2015-03-08 22:53:33 +01:00
Sébastien Rombauts
f31a459cd8 Revert #31 Statement now stores the status of the last operation.
- the check in the destructor was not a good idea finaly,
   and I added instead a getErrorCode() method
2015-03-08 15:12:26 +01:00
Sébastien Rombauts
bfdf288d3d Fix #37 Last error code cannot be accessed
+ added corresponding basic unit tests
2015-03-08 15:05:03 +01:00
Sébastien Rombauts
91a98f8c73 Update Google Test submodule to latest upstream commit with better Visual Studio 2013 support 2014-09-29 20:41:54 +02:00
AndyLing
bb7a047d52 Fixed whitespace issues 2014-09-19 12:00:27 +01:00
AndyLing
4e770eb741 Statement now stores the status of the last operation so it can be checked in the pointer destructor 2014-09-19 10:54:55 +01:00
Sébastien Rombauts
8b0fa672bf Fix cpplint warning for Travis Continuous Integration 2014-09-17 22:29:37 +02:00
S. Alexander Zaman
45379f9325 clearBinding
added clearBinding function
2014-08-19 16:15:57 -05:00
Sébastien Rombauts
78ea5b254f Removed all meaningless (void) from method definitions 2014-03-13 21:56:28 +01:00
Sébastien Rombauts
6d8b808320 Fixed many cpplint warnings 2014-03-07 13:12:31 +01:00
Sébastien Rombauts
7bfaafecba Moved include files out of the src/ dir, to an include/ dir
+ started a void test file
2014-03-04 23:04:38 +01:00