1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2026-03-02 03:49:30 +00:00

Allow hxtn command to be run multiple times during xomp_resume [#482]

This commit is contained in:
gnosygnu
2019-06-07 21:50:18 -04:00
parent 3b6efe4274
commit c459454da3
7 changed files with 20 additions and 10 deletions

View File

@@ -40,7 +40,8 @@ public class Hxtn_blob_tbl implements Rls_able {
}
public void Stmt_end() {
this.Rls();
conn.Meta_idx_create(Dbmeta_idx_itm.new_unique_by_tbl(tbl_name, "pkey", fld_blob_id, fld_wiki_id, fld_blob_tid));
if (!conn.Meta_idx_exists(tbl_name, "pkey"))
conn.Meta_idx_create(Dbmeta_idx_itm.new_unique_by_tbl(tbl_name, "pkey", fld_blob_id, fld_wiki_id, fld_blob_tid));
}
public void Insert_by_rdr(Db_rdr rdr) {
Db_stmt_.Insert_by_rdr(flds, rdr, stmt_insert);

View File

@@ -38,7 +38,8 @@ public class Hxtn_page_tbl implements Rls_able {
}
public void Stmt_end() {
this.Rls();
conn.Meta_idx_create(Dbmeta_idx_itm.new_unique_by_tbl(tbl_name, "pkey", fld_page_id, fld_wkr_id, fld_data_id));
if (!conn.Meta_idx_exists(tbl_name, "pkey"))
conn.Meta_idx_create(Dbmeta_idx_itm.new_unique_by_tbl(tbl_name, "pkey", fld_page_id, fld_wkr_id, fld_data_id));
}
public void Insert_by_rdr(Db_rdr rdr) {
Db_stmt_.Insert_by_rdr(flds, rdr, stmt_insert);

View File

@@ -19,9 +19,11 @@ public class Hxtn_wiki_mgr {
private Hxtn_wiki_tbl wiki_tbl;
public void Init_by_xomp_merge(Db_conn conn, String wiki_domain) {
wiki_tbl = new Hxtn_wiki_tbl(conn);
wiki_tbl.Create_tbl();
wiki_tbl.Insert(Hxtn_wiki_itm.Tid__self , wiki_domain);
wiki_tbl.Insert(Hxtn_wiki_itm.Tid__commons , "commons.wikimedia.org");
wiki_tbl.Insert(Hxtn_wiki_itm.Tid__wikidata, "www.wikidata.org");
if (!conn.Meta_tbl_exists(wiki_tbl.Tbl_name())) {
wiki_tbl.Create_tbl();
wiki_tbl.Insert(Hxtn_wiki_itm.Tid__self , wiki_domain);
wiki_tbl.Insert(Hxtn_wiki_itm.Tid__commons , "commons.wikimedia.org");
wiki_tbl.Insert(Hxtn_wiki_itm.Tid__wikidata, "www.wikidata.org");
}
}
}

View File

@@ -25,6 +25,7 @@ public class Hxtn_wiki_tbl implements Rls_able {
this.conn = conn;
conn.Rls_reg(this);
}
public String Tbl_name() {return tbl_name;}
public void Create_tbl() {
conn.Meta_tbl_create(Dbmeta_tbl_itm.New(tbl_name, flds));
}

View File

@@ -20,8 +20,10 @@ public class Hxtn_wkr_mgr {
private Hxtn_wkr_tbl wkr_tbl;
public void Init_by_xomp_merge(Db_conn conn) {
wkr_tbl = new Hxtn_wkr_tbl(conn);
wkr_tbl.Create_tbl();
Reg_wkr(new gplx.xowa.xtns.template_styles.Hxtn_page_wkr__template_styles(null)); // TODO:do formal registration of extensions; WHEN: rework tkn_mkr
if (!conn.Meta_tbl_exists(wkr_tbl.Tbl_name())) {
wkr_tbl.Create_tbl();
Reg_wkr(new gplx.xowa.xtns.template_styles.Hxtn_page_wkr__template_styles(null)); // TODO:do formal registration of extensions; WHEN: rework tkn_mkr
}
}
private void Reg_wkr(Hxtn_page_wkr wkr) {
wkr_tbl.Insert(wkr.Id(), wkr.Key());

View File

@@ -26,6 +26,7 @@ public class Hxtn_wkr_tbl implements Rls_able {
this.conn = conn;
conn.Rls_reg(this);
}
public String Tbl_name() {return tbl_name;}
public void Create_tbl() {
conn.Meta_tbl_create(Dbmeta_tbl_itm.New(tbl_name, flds));
}