[BACK]Return to mandocdb.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/mandocdb.c between version 1.106 and 1.109

version 1.106, 2014/01/06 15:32:47 version 1.109, 2014/01/18 08:21:03
Line 969  mpages_merge(struct mchars *mc, struct mparse *mp)
Line 969  mpages_merge(struct mchars *mc, struct mparse *mp)
         str_info.hfree = hash_free;          str_info.hfree = hash_free;
         str_info.key_offset = offsetof(struct str, key);          str_info.key_offset = offsetof(struct str, key);
   
           if (0 == nodb)
                   SQL_EXEC("BEGIN TRANSACTION");
   
         mpage = ohash_first(&mpages, &pslot);          mpage = ohash_first(&mpages, &pslot);
         while (NULL != mpage) {          while (NULL != mpage) {
                 mlinks_undupe(mpage);                  mlinks_undupe(mpage);
Line 1059  mpages_merge(struct mchars *mc, struct mparse *mp)
Line 1062  mpages_merge(struct mchars *mc, struct mparse *mp)
                 ohash_delete(&strings);                  ohash_delete(&strings);
                 mpage = ohash_next(&mpages, &pslot);                  mpage = ohash_next(&mpages, &pslot);
         }          }
   
           if (0 == nodb)
                   SQL_EXEC("END TRANSACTION");
 }  }
   
 static void  static void
Line 1754  dbadd(const struct mpage *mpage, struct mchars *mc)
Line 1760  dbadd(const struct mpage *mpage, struct mchars *mc)
         if (nodb)          if (nodb)
                 return;                  return;
   
         SQL_EXEC("BEGIN TRANSACTION");  
   
         i = 1;          i = 1;
         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]);
Line 1787  dbadd(const struct mpage *mpage, struct mchars *mc)
Line 1791  dbadd(const struct mpage *mpage, struct mchars *mc)
                         free(key->rendered);                          free(key->rendered);
                 free(key);                  free(key);
         }          }
   
         SQL_EXEC("END TRANSACTION");  
 }  }
   
 static void  static void
Line 1912  dbopen(int real)
Line 1914  dbopen(int real)
               " \"arch\" TEXT NOT NULL,\n"                " \"arch\" TEXT NOT NULL,\n"
               " \"name\" TEXT NOT NULL,\n"                " \"name\" TEXT NOT NULL,\n"
               " \"pageid\" INTEGER NOT NULL REFERENCES mpages(id) "                " \"pageid\" INTEGER NOT NULL REFERENCES mpages(id) "
                 "ON DELETE CASCADE,\n"                  "ON DELETE CASCADE\n"
               " \"id\" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL\n"  
               ");\n"                ");\n"
               "\n"                "\n"
               "CREATE TABLE \"keys\" (\n"                "CREATE TABLE \"keys\" (\n"
               " \"bits\" INTEGER NOT NULL,\n"                " \"bits\" INTEGER NOT NULL,\n"
               " \"key\" TEXT NOT NULL,\n"                " \"key\" TEXT NOT NULL,\n"
               " \"pageid\" INTEGER NOT NULL REFERENCES mpages(id) "                " \"pageid\" INTEGER NOT NULL REFERENCES mpages(id) "
                 "ON DELETE CASCADE,\n"                  "ON DELETE CASCADE\n"
               " \"id\" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL\n"                ");\n";
               ");\n"  
               "\n"  
               "CREATE INDEX \"key_index\" ON keys (key);\n";  
   
         if (SQLITE_OK != sqlite3_exec(db, sql, NULL, NULL, NULL)) {          if (SQLITE_OK != sqlite3_exec(db, sql, NULL, NULL, NULL)) {
                 exitcode = (int)MANDOCLEVEL_SYSERR;                  exitcode = (int)MANDOCLEVEL_SYSERR;

Legend:
Removed from v.1.106  
changed lines
  Added in v.1.109

CVSweb