version 1.59, 2014/01/05 20:26:27 |
version 1.60, 2014/01/06 03:02:40 |
|
|
{ |
{ |
struct mlink *mlink; |
struct mlink *mlink; |
struct str *key; |
struct str *key; |
const char *desc; |
|
int64_t recno; |
int64_t recno; |
size_t i; |
size_t i; |
unsigned int slot; |
unsigned int slot; |
|
|
if (nodb) |
if (nodb) |
return; |
return; |
|
|
desc = ""; |
|
if (NULL != mpage->desc && '\0' != *mpage->desc) { |
|
key = ohash_find(&strings, |
|
ohash_qlookup(&strings, mpage->desc)); |
|
assert(NULL != key); |
|
if (NULL == key->rendered) |
|
render_key(mc, key); |
|
desc = key->rendered; |
|
} |
|
|
|
SQL_EXEC("BEGIN TRANSACTION"); |
SQL_EXEC("BEGIN TRANSACTION"); |
|
|
i = 1; |
i = 1; |
SQL_BIND_TEXT(stmts[STMT_INSERT_PAGE], i, desc); |
|
SQL_BIND_INT(stmts[STMT_INSERT_PAGE], i, FORM_SRC == mpage->form); |
SQL_BIND_INT(stmts[STMT_INSERT_PAGE], i, FORM_SRC == mpage->form); |
SQL_STEP(stmts[STMT_INSERT_PAGE]); |
SQL_STEP(stmts[STMT_INSERT_PAGE]); |
recno = sqlite3_last_insert_rowid(db); |
recno = sqlite3_last_insert_rowid(db); |
|
|
} |
} |
|
|
sql = "CREATE TABLE \"mpages\" (\n" |
sql = "CREATE TABLE \"mpages\" (\n" |
" \"desc\" TEXT NOT NULL,\n" |
|
" \"form\" INTEGER NOT NULL,\n" |
" \"form\" INTEGER NOT NULL,\n" |
" \"id\" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL\n" |
" \"id\" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL\n" |
");\n" |
");\n" |
|
|
sql = "DELETE FROM mpages where file=?"; |
sql = "DELETE FROM mpages where file=?"; |
sqlite3_prepare_v2(db, sql, -1, &stmts[STMT_DELETE_PAGE], NULL); |
sqlite3_prepare_v2(db, sql, -1, &stmts[STMT_DELETE_PAGE], NULL); |
sql = "INSERT INTO mpages " |
sql = "INSERT INTO mpages " |
"(desc,form) VALUES (?,?)"; |
"(form) VALUES (?)"; |
sqlite3_prepare_v2(db, sql, -1, &stmts[STMT_INSERT_PAGE], NULL); |
sqlite3_prepare_v2(db, sql, -1, &stmts[STMT_INSERT_PAGE], NULL); |
sql = "INSERT INTO mlinks " |
sql = "INSERT INTO mlinks " |
"(file,sec,arch,name,pageid) VALUES (?,?,?,?,?)"; |
"(file,sec,arch,name,pageid) VALUES (?,?,?,?,?)"; |