Merge remote-tracking branch 'origin/fastpath'

* origin/fastpath:
  change sqlite3 default threading mode to no-mutex, disable memory statistics, finalize prepared statement before exitting logger.
This commit is contained in:
Robin Sommer 2013-05-17 13:49:52 -07:00
commit b11a397168
5 changed files with 17 additions and 4 deletions

View file

@ -1,4 +1,9 @@
2.1-654 | 2013-05-17 13:49:52 -0700
* Tweaks to sqlite3 configuration to address threading issues.
(Bernhard Amann)
2.1-651 | 2013-05-17 13:37:16 -0700
* Fix uninitialized DPM member. (Jon Siwek)

View file

@ -1 +1 @@
2.1-651
2.1-654

View file

@ -1,3 +1,6 @@
# define SQLITE_THREADSAFE 2
# define SQLITE_DEFAULT_MEMSTATUS 0
/******************************************************************************
** This file is an amalgamation of many separate C source files from SQLite
** version 3.7.16.2. By combining all the individual C code files into this

View file

@ -35,13 +35,17 @@ SQLite::SQLite(WriterFrontend* frontend) : WriterBackend(frontend)
db = 0;
io = new AsciiFormatter(this, AsciiFormatter::SeparatorInfo(set_separator, unset_field, empty_field));
st = 0;
}
SQLite::~SQLite()
{
if ( db != 0 )
{
sqlite3_close(db);
sqlite3_finalize(st);
if ( ! sqlite3_close(db) )
Error("Sqlite could not close connection");
db = 0;
}

View file

@ -113,8 +113,9 @@ private:
inline static void safe_lock(pthread_mutex_t* mutex)
{
if ( pthread_mutex_lock(mutex) != 0 )
reporter->FatalErrorWithCore("cannot lock mutex");
int res = pthread_mutex_lock(mutex);
if ( res != 0 )
reporter->FatalErrorWithCore("cannot lock mutex: %d(%s)", res, strerror(res));
}
inline static void safe_unlock(pthread_mutex_t* mutex)