version 1.47, 2015/10/13 15:50:15 |
version 1.48, 2015/11/26 07:41:38 |
|
|
#define SQL_BIND_TEXT(_db, _s, _i, _v) \ |
#define SQL_BIND_TEXT(_db, _s, _i, _v) \ |
do { if (SQLITE_OK != sqlite3_bind_text \ |
do { if (SQLITE_OK != sqlite3_bind_text \ |
((_s), (_i)++, (_v), -1, SQLITE_STATIC)) \ |
((_s), (_i)++, (_v), -1, SQLITE_STATIC)) \ |
warnx("%s", sqlite3_errmsg((_db))); \ |
errx((int)MANDOCLEVEL_SYSERR, "%s", sqlite3_errmsg((_db))); \ |
} while (0) |
} while (0) |
#define SQL_BIND_INT64(_db, _s, _i, _v) \ |
#define SQL_BIND_INT64(_db, _s, _i, _v) \ |
do { if (SQLITE_OK != sqlite3_bind_int64 \ |
do { if (SQLITE_OK != sqlite3_bind_int64 \ |
((_s), (_i)++, (_v))) \ |
((_s), (_i)++, (_v))) \ |
warnx("%s", sqlite3_errmsg((_db))); \ |
errx((int)MANDOCLEVEL_SYSERR, "%s", sqlite3_errmsg((_db))); \ |
} while (0) |
} while (0) |
#define SQL_BIND_BLOB(_db, _s, _i, _v) \ |
#define SQL_BIND_BLOB(_db, _s, _i, _v) \ |
do { if (SQLITE_OK != sqlite3_bind_blob \ |
do { if (SQLITE_OK != sqlite3_bind_blob \ |
((_s), (_i)++, (&_v), sizeof(_v), SQLITE_STATIC)) \ |
((_s), (_i)++, (&_v), sizeof(_v), SQLITE_STATIC)) \ |
warnx("%s", sqlite3_errmsg((_db))); \ |
errx((int)MANDOCLEVEL_SYSERR, "%s", sqlite3_errmsg((_db))); \ |
} while (0) |
} while (0) |
|
|
struct expr { |
struct expr { |
|
|
j = 1; |
j = 1; |
c = sqlite3_prepare_v2(db, sql, -1, &s, NULL); |
c = sqlite3_prepare_v2(db, sql, -1, &s, NULL); |
if (SQLITE_OK != c) |
if (SQLITE_OK != c) |
warnx("%s", sqlite3_errmsg(db)); |
errx((int)MANDOCLEVEL_SYSERR, |
|
"%s", sqlite3_errmsg(db)); |
|
|
for (ep = e; NULL != ep; ep = ep->next) { |
for (ep = e; NULL != ep; ep = ep->next) { |
if (NULL == ep->substr) { |
if (NULL == ep->substr) { |
|
|
"WHERE pageid=? ORDER BY sec, arch, name", |
"WHERE pageid=? ORDER BY sec, arch, name", |
-1, &s, NULL); |
-1, &s, NULL); |
if (SQLITE_OK != c) |
if (SQLITE_OK != c) |
warnx("%s", sqlite3_errmsg(db)); |
errx((int)MANDOCLEVEL_SYSERR, |
|
"%s", sqlite3_errmsg(db)); |
|
|
c = sqlite3_prepare_v2(db, |
c = sqlite3_prepare_v2(db, |
"SELECT bits, key, pageid FROM keys " |
"SELECT bits, key, pageid FROM keys " |
"WHERE pageid=? AND bits & ?", |
"WHERE pageid=? AND bits & ?", |
-1, &s2, NULL); |
-1, &s2, NULL); |
if (SQLITE_OK != c) |
if (SQLITE_OK != c) |
warnx("%s", sqlite3_errmsg(db)); |
errx((int)MANDOCLEVEL_SYSERR, |
|
"%s", sqlite3_errmsg(db)); |
|
|
for (mp = ohash_first(&htab, &idx); |
for (mp = ohash_first(&htab, &idx); |
NULL != mp; |
NULL != mp; |