aboutsummaryrefslogtreecommitdiffhomepage
path: root/org/out_sqlite.org
diff options
context:
space:
mode:
Diffstat (limited to 'org/out_sqlite.org')
-rw-r--r--org/out_sqlite.org161
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,