37 Commits

Author SHA1 Message Date
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
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
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
Sébastien Rombauts
1a46a942b3 Merge pull request #140 from fekir/clean_destructors
Remove virtual destructor since there are no virtual methods or subclasses
2017-08-22 22:38:04 +02:00
fekir
ec8253236b Remove virtual destructor since there are no virtual methods or subclasses 2017-08-22 18:32:40 +02:00
Sébastien Rombauts
5479cc09bf Merge pull request #139 from fekir/clean_destructors
Remove unnecessary noexcept identifier from destructors
2017-08-22 11:07:03 +02:00
fekir
1fd32277c1 Remove unnecessary noexcept identifier from destructors 2017-08-21 22:01:21 +02:00
fekir
697929cfbe Remove noexcept since std::string constructor may throw 2017-08-18 20:20:29 +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
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
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
ed052a36bd Add unit test for bindNoCopy() 2016-07-07 21:53:45 +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
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
c53d885393 Update copyright notice to 2016 2016-02-10 10:27:47 +01:00
LEE Wondong
d7603db7d3 Fix Column::operator std::string to work properly on Visual C++ 2015 2015-09-23 14:57:08 +09:00
Sébastien Rombauts
09db07ccc7 Updated version to 1.0.0 changelog and copyright date 2015-05-03 23:32:57 +02:00
Sébastien Rombauts
31dbcda9ad Minor fixes to comments and an API 2015-05-03 23:32:14 +02:00
Sébastien Rombauts
078365febc Fix part of issue #34 about 64 bits long with GCC on AMD64 2015-05-03 23:31:02 +02:00
Sébastien Rombauts
f407e4e469 Add unit test for Column names
- improve other Column unit test
2015-05-03 23:30:16 +02:00
Sébastien Rombauts
18620457b1 Add some more Unit Tests 2015-05-03 23:29:22 +02:00
Sébastien Rombauts
6a2f8a6a8b Cleanup and comment on the overload for GCC & Clang 2015-05-03 23:28:19 +02:00
Sébastien Rombauts
b84721aed3 Update copyright date in recently modified files 2015-03-08 22:53:33 +01:00
Sébastien Rombauts
55edadd56d Fix cpplint warning for Travis Continuous Integration 2014-09-17 22:29:42 +02:00
madmaxoft
e17d77245b Fix for clang warning about Column's implicit constructor.
>> definition of implicit copy constructor for 'Column' is deprecated because it has a user-declared destructor [-Wdeprecated] <<
2014-09-17 21:29:33 +02: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