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;
}

Reply via email to