diff options
| author | David Sommerseth <dazo@users.sourceforge.net> | 2008-12-22 12:33:05 +0100 |
|---|---|---|
| committer | David Sommerseth <dazo@users.sourceforge.net> | 2008-12-22 12:33:05 +0100 |
| commit | 27c831c4997f045449c65851ca7a09878b02a7ee (patch) | |
| tree | d5c707db9db08a2af49e751d0cab1c271e3e9acb /database/sqlite | |
| parent | dd0c061770b90039e605e68a44327d968981c386 (diff) | |
| download | eurephia-27c831c4997f045449c65851ca7a09878b02a7ee.tar.gz eurephia-27c831c4997f045449c65851ca7a09878b02a7ee.tar.xz eurephia-27c831c4997f045449c65851ca7a09878b02a7ee.zip | |
sqlite3 - Added saving last_insert_id on INSERT INTO queries
Diffstat (limited to 'database/sqlite')
| -rw-r--r-- | database/sqlite/CMakeLists.txt | 6 | ||||
| -rw-r--r-- | database/sqlite/sqlite.c | 3 | ||||
| -rw-r--r-- | database/sqlite/sqlite.h | 1 |
3 files changed, 9 insertions, 1 deletions
diff --git a/database/sqlite/CMakeLists.txt b/database/sqlite/CMakeLists.txt index 12042ef..1a7a9b9 100644 --- a/database/sqlite/CMakeLists.txt +++ b/database/sqlite/CMakeLists.txt @@ -15,9 +15,13 @@ SET(COMMON ../../common/sha512.c ) + INCLUDE(CheckIncludeFile) -CHECK_INCLUDE_FILE(sqlite3.h HAVE_SQLITE3_H) INCLUDE(CheckLibraryExists) + +ADD_DEFINITIONS(-D_GNU_SOURCE) + +CHECK_INCLUDE_FILE(sqlite3.h HAVE_SQLITE3_H) CHECK_LIBRARY_EXISTS(sqlite3 sqlite3_open "" HAVE_SQLITE3_OPEN) CHECK_LIBRARY_EXISTS(sqlite3 sqlite3_close "" HAVE_SQLITE3_CLOSE) CHECK_LIBRARY_EXISTS(sqlite3 sqlite3_exec "" HAVE_SQLITE3_EXEC) diff --git a/database/sqlite/sqlite.c b/database/sqlite/sqlite.c index 6b0cd72..1e8e265 100644 --- a/database/sqlite/sqlite.c +++ b/database/sqlite/sqlite.c @@ -241,6 +241,9 @@ dbresult *sqlite_query(eurephiaCTX *ctx, char *fmt, ... ) { return NULL; } + if( strcasestr(sql, "INSERT INTO") != NULL) { + glob_results->last_insert_id = sqlite3_last_insert_rowid((sqlite3 *) dbc->dbhandle); + }; glob_results->srch_tuples = glob_results->tuples; glob_results->srch_headerrec = glob_results->headerrec; sqlite3_free(sql); sql = NULL; diff --git a/database/sqlite/sqlite.h b/database/sqlite/sqlite.h index 10f8fd4..9b67523 100644 --- a/database/sqlite/sqlite.h +++ b/database/sqlite/sqlite.h @@ -59,6 +59,7 @@ typedef struct __sqlite_dbresult { _sqlite_header *headerrec; size_t num_tuples; size_t num_fields; + sqlite3_int64 last_insert_id; // Used for search functions _sqlite_tuples *srch_tuples; |
