diff options
Diffstat (limited to 'org/out_sqlite.org')
| -rw-r--r-- | org/out_sqlite.org | 161 | 
1 files changed, 71 insertions, 90 deletions
diff --git a/org/out_sqlite.org b/org/out_sqlite.org index 9610cfc..b9ab903 100644 --- a/org/out_sqlite.org +++ b/org/out_sqlite.org @@ -81,11 +81,8 @@ long _metadata_tid_lastrowid;  #+HEADER: :noweb yes  #+BEGIN_SRC d  template SQLiteHubBuildTablesAndPopulate() { -  void SQLiteHubBuildTablesAndPopulate(D,M)( -    const D  doc_abstraction, -          M  doc_matters, -  ) { -    auto pth_sqlite = spinePathsSQLite!()(doc_matters.sqlite.filename, doc_matters.sqlite.path); +  void SQLiteHubBuildTablesAndPopulate(D)(D doc) { +    auto pth_sqlite = spinePathsSQLite!()(doc.matters.sqlite.filename, doc.matters.sqlite.path);      if ((isValidPath(pth_sqlite.base) && exists(pth_sqlite.base) != 0 && pth_sqlite.base.isDir)) {      } else {        try { @@ -93,20 +90,19 @@ template SQLiteHubBuildTablesAndPopulate() {        } catch (FileException ex) { }      }      template SQLiteDbStatementComposite() { -      void SQLiteDbStatementComposite(Db,D,M)( -              Db   db, -        const D    doc_abstraction, -              M    doc_matters, +      void SQLiteDbStatementComposite(Db,D)( +        Db   db, +        D    doc        ) {          <<sqlite_db_statement_composite_collection>> -        if (doc_matters.opt.action.vox_gt0) { +        if (doc.matters.opt.action.vox_gt0) {            writeln(" ", pth_sqlite.sqlite_file);          }        }      }      try {        auto db = Database(pth_sqlite.sqlite_file); -      SQLiteDbStatementComposite!()(db, doc_abstraction, doc_matters); +      SQLiteDbStatementComposite!()(db, doc);      }      catch (FileException e) {        writeln("Failed (FileException): ", e.msg, " ", pth_sqlite.sqlite_file); @@ -141,24 +137,20 @@ template SQLiteHubBuildTablesAndPopulate() {  #+HEADER: :noweb yes  #+BEGIN_SRC d  template SQLiteHubDiscreteBuildTablesAndPopulate() { -  void SQLiteHubDiscreteBuildTablesAndPopulate(D,M)( -    const D    doc_abstraction, -          M    doc_matters, -  ) { -    auto url_html = spineUrlsHTML!()(doc_matters.conf_make_meta.conf.w_srv_data_root_url_html, doc_matters.src.language); -    auto pth_sqlite = spinePathsSQLiteDiscrete!()(doc_matters.output_path, doc_matters.src.language); // doc_matters.db_path +  void SQLiteHubDiscreteBuildTablesAndPopulate(D)(D doc) { +    auto url_html = spineUrlsHTML!()(doc.matters.conf_make_meta.conf.w_srv_data_root_url_html, doc.matters.src.language); +    auto pth_sqlite = spinePathsSQLiteDiscrete!()(doc.matters.output_path, doc.matters.src.language); // doc.matters.db_path      if ((isValidPath(pth_sqlite.base) && exists(pth_sqlite.base) != 0 && pth_sqlite.base.isDir)) {      } else {        try {          pth_sqlite.base.mkdirRecurse;        } catch (FileException ex) { }      } -    auto db = Database(pth_sqlite.sqlite_file(doc_matters.src.filename)); +    auto db = Database(pth_sqlite.sqlite_file(doc.matters.src.filename));      template SQLiteDiscreteDbStatementComposite() { -      void SQLiteDiscreteDbStatementComposite(Db,D,M)( -              Db   db, -        const D    doc_abstraction, -              M    doc_matters, +      void SQLiteDiscreteDbStatementComposite(Db,D)( +        Db   db, +        D    doc        ) {          try {            <<sqlite_db_statement_composite_discrete>> @@ -185,12 +177,12 @@ template SQLiteHubDiscreteBuildTablesAndPopulate() {            import core.runtime;            core.runtime.Runtime.terminate();          } -        if (doc_matters.opt.action.vox_gt0) { -          writeln(" ", pth_sqlite.sqlite_file(doc_matters.src.filename)); +        if (doc.matters.opt.action.vox_gt0) { +          writeln(" ", pth_sqlite.sqlite_file(doc.matters.src.filename));          }        }      } -    SQLiteDiscreteDbStatementComposite!()(db, doc_abstraction, doc_matters); +    SQLiteDiscreteDbStatementComposite!()(db, doc);    }  }  #+END_SRC @@ -245,9 +237,7 @@ template SQLinsertDelimiter() {    }  }  template SQLiteFormatAndLoadObject() { -  auto SQLiteFormatAndLoadObject(M)( -    M    doc_matters, -  ) { +  auto SQLiteFormatAndLoadObject(M)(M doc_matters) {      mixin spineRgxOut;      mixin spineRgxXHTML;      struct sqlite_format_and_load_objects { @@ -313,9 +303,7 @@ template SQLiteTablesReCreate() {  #+HEADER: :noweb yes  #+BEGIN_SRC d  template SQLiteDeleteDocument() { -  string SQLiteDeleteDocument(M)( -    M doc_matters, -  ) { +  string SQLiteDeleteDocument(M)(M doc_matters) {      <<sqlite_formatted_delete_format>>      <<sqlite_formatted_delete_sql>>      <<sqlite_formatted_delete_values>> @@ -330,9 +318,7 @@ template SQLiteDeleteDocument() {  #+HEADER: :noweb yes  #+BEGIN_SRC d  template SQLiteInsertMetadata() { -  string SQLiteInsertMetadata(M)( -    M doc_matters, -  ) { +  string SQLiteInsertMetadata(M)(M doc_matters) {      <<sqlite_formatted_insertions_doc_matters_metadata_format>>        <<sqlite_formatted_insertions_doc_matters_metadata_sql>>        <<sqlite_formatted_insertions_doc_matters_metadata_sql_values>> @@ -348,9 +334,7 @@ template SQLiteInsertMetadata() {  #+HEADER: :noweb yes  #+BEGIN_SRC d  template SQLiteInsertMetadataTopics() { -  string SQLiteInsertMetadataTopics(M)( -    M doc_matters, -  ) { +  string SQLiteInsertMetadataTopics(M)(M doc_matters) {      <<sqlite_formatted_insertions_topic_register_loop>>        <<sqlite_formatted_insertions_topic_register_format>>          <<sqlite_formatted_insertions_topic_register_sql>> @@ -368,12 +352,9 @@ template SQLiteInsertMetadataTopics() {  #+HEADER: :noweb yes  #+BEGIN_SRC d  template SQLiteInsertDocObjectsLoop() { -  string SQLiteInsertDocObjectsLoop(D,M)( -    const D    doc_abstraction, -          M    doc_matters, -  ) { -    string _uid = SQLinsertDelimiter!()(doc_matters.src.doc_uid); -    auto url_html = spineUrlsHTML!()(doc_matters.conf_make_meta.conf.w_srv_data_root_url_html, doc_matters.src.language); +  string SQLiteInsertDocObjectsLoop(D)(D doc) { +    string _uid = SQLinsertDelimiter!()(doc.matters.src.doc_uid); +    auto url_html = spineUrlsHTML!()(doc.matters.conf_make_meta.conf.w_srv_data_root_url_html, doc.matters.src.language);      string insertDocObjectsRow(O)(O obj) {        <<sqlite_formatted_insertions_doc_objects_format>>          <<sqlite_formatted_insertions_doc_objects_sql>> @@ -525,8 +506,8 @@ template SQLiteDbDrop() {  #+NAME: sqlite_db_statement_composite_collection  #+BEGIN_SRC d  string _db_statement; -if ((doc_matters.opt.action.sqlite_db_create)) { -  auto pth_sqlite = spinePathsSQLite!()(doc_matters.sqlite.filename, doc_matters.sqlite.path); +if ((doc.matters.opt.action.sqlite_db_create)) { +  auto pth_sqlite = spinePathsSQLite!()(doc.matters.sqlite.filename, doc.matters.sqlite.path);    if ((isValidPath(pth_sqlite.base) && exists(pth_sqlite.base) != 0 && pth_sqlite.base.isDir)) {    } else {      try { @@ -534,27 +515,27 @@ if ((doc_matters.opt.action.sqlite_db_create)) {      } catch (FileException ex) { }    }    _db_statement ~= SQLiteTablesReCreate!()(); -  SQLiteDbRun!()(db, _db_statement, doc_matters.opt.action, "TABLE RE-CREATE"); +  SQLiteDbRun!()(db, _db_statement, doc.matters.opt.action, "TABLE RE-CREATE");    _db_statement = [];  } -if (doc_matters.opt.action.sqlite_delete) { -  _db_statement ~= SQLiteDeleteDocument!()(doc_matters); -  SQLiteDbRun!()(db, _db_statement, doc_matters.opt.action, "DELETE Document"); +if (doc.matters.opt.action.sqlite_delete) { +  _db_statement ~= SQLiteDeleteDocument!()(doc.matters); +  SQLiteDbRun!()(db, _db_statement, doc.matters.opt.action, "DELETE Document");    _db_statement = [];  } -if (doc_matters.opt.action.sqlite_update) { -  _db_statement ~= SQLiteDeleteDocument!()(doc_matters); -  SQLiteDbRun!()(db, _db_statement, doc_matters.opt.action, "DELETE Document"); +if (doc.matters.opt.action.sqlite_update) { +  _db_statement ~= SQLiteDeleteDocument!()(doc.matters); +  SQLiteDbRun!()(db, _db_statement, doc.matters.opt.action, "DELETE Document");    _db_statement = []; -  _db_statement ~= SQLiteInsertMetadata!()(doc_matters); -  SQLiteDbRun!()(db, _db_statement, doc_matters.opt.action, "INSERT MetaData"); +  _db_statement ~= SQLiteInsertMetadata!()(doc.matters); +  SQLiteDbRun!()(db, _db_statement, doc.matters.opt.action, "INSERT MetaData");    _db_statement = []; -  /+ get tid (lastrowid or max) for use in doc_objects table +/ -  _db_statement ~= doc_abstraction.SQLiteInsertDocObjectsLoop!()(doc_matters); -  SQLiteDbRun!()(db, _db_statement, doc_matters.opt.action, "INSERT DocObjects"); +  /+ get tid (lastrowid or max) for use in doc.objects table +/ +  _db_statement ~= doc.SQLiteInsertDocObjectsLoop!(); +  SQLiteDbRun!()(db, _db_statement, doc.matters.opt.action, "INSERT DocObjects");    _db_statement = []; - _db_statement ~= SQLiteInsertMetadataTopics!()(doc_matters); -  SQLiteDbRun!()(db, _db_statement, doc_matters.opt.action, "INSERT MetaDataTopics"); + _db_statement ~= SQLiteInsertMetadataTopics!()(doc.matters); +  SQLiteDbRun!()(db, _db_statement, doc.matters.opt.action, "INSERT MetaDataTopics");    _db_statement = [];  }  db.close; @@ -567,10 +548,10 @@ db.close;  {    string _db_statement;    _db_statement ~= SQLiteTablesReCreate!()(); -  _db_statement ~= SQLiteInsertMetadata!()(doc_matters); -  _db_statement ~= SQLiteInsertMetadataTopics!()(doc_matters); -  _db_statement ~= doc_abstraction.SQLiteInsertDocObjectsLoop!()(doc_matters); -  SQLiteDbRun!()(db, _db_statement, doc_matters.opt.action, "table CREATE Tables, INSERT DocObjects"); +  _db_statement ~= SQLiteInsertMetadata!()(doc.matters); +  _db_statement ~= SQLiteInsertMetadataTopics!()(doc.matters); +  _db_statement ~= doc.SQLiteInsertDocObjectsLoop!(); +  SQLiteDbRun!()(db, _db_statement, doc.matters.opt.action, "table CREATE Tables, INSERT DocObjects");  }  db.close;  #+END_SRC @@ -1534,23 +1515,23 @@ string[string] table(M,O)(  #+NAME: sqlite_objects_loop  #+BEGIN_SRC d -auto format_and_sqlite_load = SQLiteFormatAndLoadObject!()(doc_matters); +auto format_and_sqlite_load = SQLiteFormatAndLoadObject!()(doc.matters);  string[string] obj_txt;  string doc_text;  string[] _insert_doc_objects; -foreach (part; doc_matters.has.keys_seq.sql) { -  foreach (obj; doc_abstraction[part]) { +foreach (part; doc.matters.has.keys_seq.sql) { +  foreach (obj; doc.abstraction[part]) {      switch (obj.metainfo.is_of_part) {      case "frontmatter":              assert(part == "head", part);        switch (obj.metainfo.is_of_type) {        case "para":          switch (obj.metainfo.is_a) {          case "heading": -          obj_txt = format_and_sqlite_load.heading(doc_matters, obj); +          obj_txt = format_and_sqlite_load.heading(doc.matters, obj);            break;          default:            { /+ debug +/ -            if (doc_matters.opt.action.debug_do_sqlite) { +            if (doc.matters.opt.action.debug_do_sqlite) {                writeln(__FILE__, ":", __LINE__, ": ", obj.metainfo.is_a);              }            } @@ -1559,7 +1540,7 @@ foreach (part; doc_matters.has.keys_seq.sql) {          break;        default:          { /+ debug +/ -          if (doc_matters.opt.action.debug_do_sqlite) { +          if (doc.matters.opt.action.debug_do_sqlite) {              writeln(__FILE__, ":", __LINE__, ": ", obj.metainfo.is_of_type);            }          } @@ -1576,14 +1557,14 @@ foreach (part; doc_matters.has.keys_seq.sql) {                writeln(__LINE__, ": ", obj.text);              }            } -          obj_txt = format_and_sqlite_load.heading(doc_matters, obj); +          obj_txt = format_and_sqlite_load.heading(doc.matters, obj);            break;          case "para": -          obj_txt = format_and_sqlite_load.para(doc_matters, obj); +          obj_txt = format_and_sqlite_load.para(doc.matters, obj);            break;          default:            { /+ debug +/ -            if (doc_matters.opt.action.debug_do_sqlite) { +            if (doc.matters.opt.action.debug_do_sqlite) {                writeln(__FILE__, ":", __LINE__, ": ", obj.metainfo.is_a);              }            } @@ -1593,28 +1574,28 @@ foreach (part; doc_matters.has.keys_seq.sql) {        case "block":          switch (obj.metainfo.is_a) {          case "quote": -          obj_txt = format_and_sqlite_load.quote(doc_matters, obj); +          obj_txt = format_and_sqlite_load.quote(doc.matters, obj);            break;          case "group": -          obj_txt = format_and_sqlite_load.group(doc_matters, obj); +          obj_txt = format_and_sqlite_load.group(doc.matters, obj);            break;          case "block": -          obj_txt = format_and_sqlite_load.block(doc_matters, obj); +          obj_txt = format_and_sqlite_load.block(doc.matters, obj);            break;          case "poem":                        // double check on keeping both poem & verse            break;          case "verse": -          obj_txt = format_and_sqlite_load.verse(doc_matters, obj); +          obj_txt = format_and_sqlite_load.verse(doc.matters, obj);            break;          case "code": -          obj_txt = format_and_sqlite_load.code(doc_matters, obj); +          obj_txt = format_and_sqlite_load.code(doc.matters, obj);            break;          case "table": -          obj_txt = format_and_sqlite_load.table(doc_matters, obj); +          obj_txt = format_and_sqlite_load.table(doc.matters, obj);            break;          default:            { /+ debug +/ -            if (doc_matters.opt.action.debug_do_sqlite) { +            if (doc.matters.opt.action.debug_do_sqlite) {                writeln(__FILE__, ":", __LINE__, ": ", obj.metainfo.is_a);              }            } @@ -1623,7 +1604,7 @@ foreach (part; doc_matters.has.keys_seq.sql) {          break;        default:          { /+ debug +/ -          if (doc_matters.opt.action.debug_do_sqlite) { +          if (doc.matters.opt.action.debug_do_sqlite) {              writeln(__FILE__, ":", __LINE__, ": ", obj.metainfo.is_of_type);            }          } @@ -1636,23 +1617,23 @@ foreach (part; doc_matters.has.keys_seq.sql) {        case "para":          switch (obj.metainfo.is_a) {          case "heading": -          obj_txt = format_and_sqlite_load.heading(doc_matters, obj); +          obj_txt = format_and_sqlite_load.heading(doc.matters, obj);            break;          case "glossary":             assert(part == "glossary", part); -          obj_txt = format_and_sqlite_load.para(doc_matters, obj); +          obj_txt = format_and_sqlite_load.para(doc.matters, obj);            break;          case "bibliography":         assert(part == "bibliography", part); -          obj_txt = format_and_sqlite_load.para(doc_matters, obj); +          obj_txt = format_and_sqlite_load.para(doc.matters, obj);            break;          case "bookindex":            assert(part == "bookindex", part); -          obj_txt = format_and_sqlite_load.para(doc_matters, obj); +          obj_txt = format_and_sqlite_load.para(doc.matters, obj);            break;          case "blurb":                assert(part == "blurb", part); -          obj_txt = format_and_sqlite_load.para(doc_matters, obj); +          obj_txt = format_and_sqlite_load.para(doc.matters, obj);            break;          default:            { /+ debug +/ -            if (doc_matters.opt.action.debug_do_sqlite) { +            if (doc.matters.opt.action.debug_do_sqlite) {                writeln(__FILE__, ":", __LINE__, ": ", obj.metainfo.is_a);              }            } @@ -1661,7 +1642,7 @@ foreach (part; doc_matters.has.keys_seq.sql) {          break;        default:          { /+ debug +/ -          if (doc_matters.opt.action.debug_do_sqlite) { +          if (doc.matters.opt.action.debug_do_sqlite) {              writeln(__FILE__, ":", __LINE__, ": ", obj.metainfo.is_of_type);            }          } @@ -1672,7 +1653,7 @@ foreach (part; doc_matters.has.keys_seq.sql) {        break;      default:        { /+ debug +/ -        if (doc_matters.opt.action.debug_do_sqlite) { +        if (doc.matters.opt.action.debug_do_sqlite) {            writeln(__FILE__, ":", __LINE__, ": ", obj.metainfo.is_of_part); // check where empty value could come from            writeln(__FILE__, ":", __LINE__, ": ", obj.metainfo.is_a);            writeln(__FILE__, ":", __LINE__, ": ", obj.text); // check where empty value could come from @@ -1681,9 +1662,9 @@ foreach (part; doc_matters.has.keys_seq.sql) {        break;      }      if (obj.metainfo.is_a == "heading") { -      if (doc_matters.opt.action.show_sqlite) { +      if (doc.matters.opt.action.show_sqlite) {          if (obj.metainfo.heading_lev_markup == 0) { -          writeln(doc_matters.src.filename); +          writeln(doc.matters.src.filename);          }          writeln(            "markup: ", obj.metainfo.heading_lev_markup,  | 
