128 Commits

Author SHA1 Message Date
Sébastien Rombauts
28e9b702f7 Suppressed the flag SQLITE_ENABLE_COLUMN_METADATA from SQLiteC++ wrapper source code.
- it can be defined by CMake in client code application
2013-09-26 00:14:31 +02:00
Sébastien Rombauts
466504aadb Fixed the 3 warnings specifis to 64 bits GCC build
- warnings revealed by issue 3
 - but also shown by Travis CI builds
2013-09-15 23:02:29 +02:00
Sébastien Rombauts
d75c7a9449 Added a proper "src/CMakeLists.txt" file defining the static library.
- This enable using this SQLiteCpp repository as a Git submodule,
 - simply add_subdirectory (SQLiteCpp/src) to you main CMakeLists.txt
   and link to the "SQLiteCpp" wrapper library.
2013-09-01 17:22:49 +02:00
Sébastien Rombauts
66ea7c7fa5 Adapting the CMake and test for Visual Studio under Windows 2013-08-25 20:06:03 +02:00
Sébastien Rombauts
aeea5c4e6d Fixes #1: answer the question about "Multithreading/Monothreading" an thread-safety
SQLite supports three mode of thread safety, as describe in "SQLite And Multiple Threads" :
see http://www.sqlite.org/threadsafe.html

This SQLiteC++ wrapper does not add any lock (no mutexes) nor any other thread-safety mecanism
above the SQLite library itself, by design, for lightness and speed.

Thus, SQLiteC++ naturally supports the "Multi Thread" mode of SQLite ;
"In this mode, SQLite can be safely used by multiple threads
provided that no single database connection is used simultaneously in two or more threads."

But SQLiteC++ does not support the fully thread-safe "Serialized" mode of SQLite,
because of the way it shares the underling SQLite precompiled statement
in a custom shared pointer (See the inner class "Statement::Ptr").
2013-04-27 13:42:49 +02:00
Sébastien Rombauts
4d828fe6b1 Fixed two SQLiteC++ Coverity Issues in Database::execAndGet() and Database::tableExists()
- adding a (void) cast in front of query.executeStep()
- adding comments explaining how errors are handled in this thow methods

Thank you to Donald Jones and Mark Pashley of Ubiquisys for reporting this to me.
2013-04-27 13:42:48 +02:00
Sébastien Rombauts
7669bcbf90 Adding a Column::getName() function
- thanks to a patch provided by Nellis Willers,
- requires the SQLITE_ENABLE_COLUMN_METADATA preprocessor macro to be also defined at compile times of the SQLite library
- v0.5.1
2013-04-07 18:25:19 +02:00
Sébastien Rombauts
1f55ddbbdb Cleaning of include dependencies 2013-04-07 18:16:31 +02:00
Sébastien Rombauts
833aeead7a Fix a bug for the "brief" Doxygen tag of all files
- patched by moving the @ingroup command before the @brief one
2013-03-16 17:50:37 +01:00
Sébastien Rombauts
83a3ca6f37 Doxygen group name without the trailing ++ 2013-03-15 15:46:11 +01:00
Sébastien Rombauts
4ee32ec736 Doxygen group name without the trailing "++" 2013-03-15 15:32:41 +01:00
Sébastien Rombauts
19e66c288a Updated Doxygen documentation 2013-03-10 18:17:02 +01:00
Sebastien Rombauts
1a82510821 Reorganizing the directory, the sources and the msvc files 2013-03-10 12:38:50 +01:00
Sébastien Rombauts
44fde46e2a Blob example using an in-memory database 2013-03-09 23:00:02 +01:00
Sébastien Rombauts
65ad65b40c Adding a test/example for blob methods, with a fix for bind(blob) 2013-03-09 22:50:53 +01:00
Sébastien Rombauts
66cf354a65 Updated changelog, TODO and a comment 2013-03-09 21:25:52 +01:00
Sébastien Rombauts
6a367c50e2 Added binding of a binary blob of data 2013-03-09 17:54:58 +01:00
Sébastien Rombauts
8fa9d7ac09 Merge branch 'master' of https://github.com/SRombauts/SQLiteCpp 2013-03-09 12:29:56 +01:00
Sébastien Rombauts
c0fb139bb6 example updated : the third row converted to float values, and renamed "weigth" instead of "size" 2013-03-09 12:28:23 +01:00
Sébastien Rombauts
545dd01bc6 Repairing Linux compilation 2013-03-09 08:40:03 +01:00
Sébastien Rombauts
2412de7676 Adding getBlob, getType and isInteger/isFloat/isText/isBlob/isNull methods to the Column class 2013-03-08 21:49:28 +01:00
Sébastien Rombauts
dc4802edd5 Adding the method getBytes to the Column object, returning the size in bytes of the text value. 2013-03-08 21:24:38 +01:00
Sébastien Rombauts
bc5b64d4a3 Updated documentation, removing consteness of the getColumn() method, and increasing version to v0.5 2013-03-08 21:22:33 +01:00
Sébastien Rombauts
244a8bff60 Adding mpSQLite to the statement Shared Pointer for error reporting 2013-03-07 11:48:52 +01:00
Sébastien Rombauts
d535ccb09f Adding an encapsulation to the statement ref counter : a shared pointer class 2013-03-07 09:00:37 +01:00
Sébastien Rombauts
c94fe1fb4b This wrapper is not thread safe 2013-03-06 17:25:05 +01:00
Sébastien Rombauts
0ffa0b8f0c using assert() in example program to provide a basic test coverage 2013-03-06 17:15:18 +01:00
Sébastien Rombauts
56aa208f62 copyright 2012-2013 2013-03-06 17:10:01 +01:00
Sébastien Rombauts
4448038af4 Using (optional) assert() on errors in destructors, where exceptions are not allowed 2013-03-06 17:06:00 +01:00
Sébastien Rombauts
c04593aa7e Added Visual Studio 2010 solution and projects 2012-12-17 21:30:53 +01:00
Sebastien Rombauts
3a8eebc597 Visual Studio 2008 Solution now compiling sqlite3 as a static library 2012-12-11 20:43:09 +01:00
Sébastien Rombauts
560bc958df Adding a Statement::exec() method to execute a one-step query with no expected result
- similar to Database::exec(), but to be used with a SQLite prepared statement, for improved performances
2012-12-10 16:49:36 +01:00
Sébastien Rombauts
792824008a Updating SQLite library from version 3.7.11 (march 2012) to 3.7.14.1 (october 2012) 2012-12-10 16:15:55 +01:00
Sébastien Rombauts
e5c6e8dcca More comments ; exec functions throw exception in case of error
+ an example of SQL UPDATE using "exec()" shortcut
2012-12-10 15:14:05 +01:00
Sébastien Rombauts
8f17c9090b Comment on the return of Database::exec() 2012-12-10 14:55:18 +01:00
Sébastien Rombauts
8b67e71792 Added some more comments and cross references between Database::exec() and Statement::executeStep() 2012-12-10 14:51:37 +01:00
Sébastien Rombauts
5413e43dad Added comments to the return values of executeStep() that has a not-so-simple behavior
- true  (SQLITE_ROW)  if there is another row ready : you can call getColumn(N) to get it
                      then you have to call executeStep() again to fetch more rows until the query is finished
- false (SQLITE_DONE) if the query has finished executing : there is no (more) row of result
                      (case of a query with no result, or after N rows fetched successfully)
2012-12-10 14:30:05 +01:00
Sébastien Rombauts
9a5b993ae9 Transaction destructor must never throw exception
- added a try/catch arround the exec("ROLLBACK")
- documentation was not right
2012-12-10 10:52:25 +01:00
Sébastien Rombauts
021f6cfd16 Additional warning on data lifetime 2012-12-06 17:30:02 +01:00
Sébastien Rombauts
b6a86ab467 Correction of the last warning for gcc -Weffc++ (a member to init in the constructor initialization list) 2012-12-05 17:40:03 +01:00
Sébastien Rombauts
554a79b64d Added a copy constructor that increments the reference counter, thanks to a patch from Mark P. 2012-12-05 17:36:02 +01:00
Sébastien Rombauts
0055fcc2db Updated comments for the heap allocated (thread unsage) mpStmtRefCount ref counter shared between Statement and Column objects 2012-11-27 15:44:42 +01:00
Sébastien Rombauts
ede851eb3e Fix Visual Studio 2010 and Visual Studio 2012 compilation
- fix an overload operator ambiguity under MSVC2010, that is required for GCC
2012-11-04 20:43:17 +01:00
Sebastien Rombauts
cffc0ae0d0 Outdated Visual Studio Solution 2012-11-02 12:38:44 +01:00
Sébastien Rombauts
a2446187fa Added comments on opening a database connection 2012-10-31 10:10:49 +01:00
Sébastien Rombauts
ab55e695af Makefile was outdated
- Added Column.o and Transaction.o
- Added more gcc warnings in Makefile
- Fix for those warnings
- Added TODO for improvements
2012-10-26 11:22:13 +02:00
Sébastien Rombauts
37a760945c Added a Database::tableExists() easy to use function, useful for unit testing.
- Adding a Doxyfile to generate documentation of the wrapper
2012-04-23 10:42:36 +02:00
Sébastien Rombauts
cfe042dd41 Added the dealocation of the reference counter
- Suppressed the exception that can be thrown in those two destructors:
- Added documentation of those destructors
2012-04-17 10:26:23 +02:00
Sébastien Rombauts
fb1b17bfff Added an easy wrapper Column Database::execAndGet("query"), version number increased to 0.3.0 2012-04-16 18:23:03 +02:00
Sébastien Rombauts
d516ea72c5 Column is again an independant class 2012-04-16 14:59:51 +02:00