*/
static int initialize(struct lsqlite3_private *lsqlite3,
- struct ldb_context *ldb, const char *url)
+ struct ldb_context *ldb, const char *url, int flags)
{
TALLOC_CTX *local_ctx;
long long queryInt;
goto failed;
}
- /* DANGEROUS */
- ret = sqlite3_exec(lsqlite3->sqlite, "PRAGMA synchronous = OFF;", NULL, NULL, &errmsg);
- if (ret != SQLITE_OK) {
- if (errmsg) {
- printf("lsqlite3 initializaion error: %s\n", errmsg);
- free(errmsg);
+ if (flags & LDB_FLG_NOSYNC) {
+ /* DANGEROUS */
+ ret = sqlite3_exec(lsqlite3->sqlite, "PRAGMA synchronous = OFF;", NULL, NULL, &errmsg);
+ if (ret != SQLITE_OK) {
+ if (errmsg) {
+ printf("lsqlite3 initializaion error: %s\n", errmsg);
+ free(errmsg);
+ }
+ goto failed;
}
- goto failed;
}
/* */
lsqlite3->options = NULL;
lsqlite3->trans_count = 0;
- ret = initialize(lsqlite3, ldb, url);
+ ret = initialize(lsqlite3, ldb, url, flags);
if (ret != SQLITE_OK) {
goto failed;
}
{ "num-searches", 0, POPT_ARG_INT, &options.num_searches, 0, "number of test searches", NULL },
{ "num-records", 0, POPT_ARG_INT, &options.num_records, 0, "number of test records", NULL },
{ "all", 'a', POPT_ARG_NONE, &options.all_records, 0, "dn=*", NULL },
+ { "nosync", 0, POPT_ARG_NONE, &options.nosync, 0, "non-synchronous transactions", NULL },
{ "sorted", 'S', POPT_ARG_NONE, &options.sorted, 0, "sort attributes", NULL },
{ "sasl-mechanism", 0, POPT_ARG_STRING, &options.sasl_mechanism, 0, "choose SASL mechanism", "MECHANISM" },
{ "input", 'I', POPT_ARG_STRING, &options.input, 0, "Input File", "Input" },
}
if (strcmp(ret->url, "NONE") != 0) {
- if (ldb_connect(ldb, ret->url, 0, ret->options) != 0) {
+ int flags = 0;
+ if (options.nosync) {
+ flags |= LDB_FLG_NOSYNC;
+ }
+ if (ldb_connect(ldb, ret->url, flags, ret->options) != 0) {
fprintf(stderr, "Failed to connect to %s - %s\n",
ret->url, ldb_errstring(ldb));
goto failed;
struct ldb_dn *indexlist;
struct ldb_dn *basedn;
int ret;
+ int flags = 0;
+
+ if (options->nosync) {
+ flags |= LDB_FLG_NOSYNC;
+ }
printf("Starting index test\n");
(*ldb) = ldb_init(options);
- ret = ldb_connect(*ldb, options->url, 0, NULL);
+ ret = ldb_connect(*ldb, options->url, flags, NULL);
if (ret != 0) {
printf("failed to connect to %s\n", options->url);
exit(1);