Attaching the test case for this bug, from
http://svn.haxx.se/dev/archive-2011-06/0866.shtml.
It works with 3.7.6.3-1, fails with 3.7.7-1.
#include <assert.h>
#include <stdio.h>
#include "sqlite3.h"
#define BUSY_TIMEOUT 10000
int main(void)
{
sqlite3 *db3;
const char *path = "foo.db";
int flags = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE;
#ifdef SQLITE_OPEN_NOMUTEX
flags |= SQLITE_OPEN_NOMUTEX;
#endif
assert(SQLITE_OK == sqlite3_open_v2(path, &db3, flags, NULL));
assert(SQLITE_OK == sqlite3_busy_timeout(db3, BUSY_TIMEOUT));
assert(SQLITE_OK == sqlite3_busy_timeout(db3, BUSY_TIMEOUT));
{
char *errmsg;
int err = sqlite3_exec(db3, "PRAGMA case_sensitive_like=1;", NULL, NULL, &errmsg);
if (err != SQLITE_OK)
printf("Error %d: %s\n", err, errmsg), sqlite3_free(errmsg);
}
return 0;
}