1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2026-03-02 03:49:30 +00:00
This commit is contained in:
gnosygnu
2016-01-17 23:18:07 -05:00
parent 096045614c
commit 235228976e
314 changed files with 4458 additions and 2694 deletions

View File

@@ -0,0 +1,27 @@
/*
XOWA: the XOWA Offline Wiki Application
Copyright (C) 2012 gnosygnu@gmail.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.bldrs; import gplx.*; import gplx.xowa.*;
public abstract class Xob_cmd_base implements Xob_cmd {
public abstract String Cmd_key();
@gplx.Virtual public void Cmd_init(Xob_bldr bldr) {}
@gplx.Virtual public void Cmd_bgn(Xob_bldr bldr) {}
@gplx.Virtual public void Cmd_run() {}
@gplx.Virtual public void Cmd_end() {}
@gplx.Virtual public void Cmd_term() {}
@gplx.Virtual public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {return GfoInvkAble_.Rv_unhandled;}
}

View File

@@ -56,6 +56,7 @@ public class Xob_cmd_keys {
, Key_site_meta = "util.site_meta"
, Key_diff_build = "diff.build"
, Key_diff_merge = "diff.merge"
, Key_text_delete_page = "text.delete_page"
, Key_tdb_text_init = "tdb.text.init" // "core.init"
, Key_tdb_make_page = "tdb.text.page" // "core.make_page"

View File

@@ -37,6 +37,7 @@ public class Xob_cmd_mgr implements GfoInvkAble {
else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_text_cat_link)) return Add(new Xob_categorylinks_sql(bldr, wiki));
else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_text_cat_hidden)) return Add(new Xoctg_hiddencat_parser_sql(bldr, wiki));
else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_text_term)) return Add(new Xob_term_cmd(bldr, wiki));
else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_text_delete_page)) return Add(new Xob_page_delete_cmd(bldr, wiki));
else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_wiki_page_dump_make)) return Add(new Xob_page_dump_cmd_make(bldr, wiki));
else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_wiki_page_dump_drop)) return Add(new Xob_page_dump_cmd_drop(bldr, wiki));
else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_wiki_redirect)) return Add(new Xob_redirect_cmd(bldr, wiki));
@@ -142,7 +143,7 @@ public class Xob_cmd_mgr implements GfoInvkAble {
private Xowe_wiki Wiki_get_or_make(GfoMsg m) {
byte[] wiki_key = m.ReadBry("v");
Xoae_wiki_mgr wiki_mgr = bldr.App().Wiki_mgr();
Xowe_wiki rv = wiki_mgr.Get_by_key_or_make(wiki_key);
Xowe_wiki rv = wiki_mgr.Get_by_or_make(wiki_key);
rv.Lang().Init_by_load();
return rv;
}

View File

@@ -0,0 +1,40 @@
/*
XOWA: the XOWA Offline Wiki Application
Copyright (C) 2012 gnosygnu@gmail.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.bldrs.cmds.diffs; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.cmds.*;
import gplx.core.brys.*; import gplx.xowa.wikis.*;
class Bfr_arg__dump_dir implements Bfr_arg { // .dump_dir = "C:\xowa\wiki\en.wikipedia.org"
private final Xow_wiki wiki;
public Bfr_arg__dump_dir(Xow_wiki wiki) {this.wiki = wiki;}
public void Bfr_arg__add(Bry_bfr bfr) {
bfr.Add(wiki.Fsys_mgr().Root_dir().RawBry());
}
}
class Bfr_arg__dump_core implements Bfr_arg {// .dump_core = "en.wikipedia.org-core.xowa"
private final Xow_wiki wiki;
public Bfr_arg__dump_core(Xow_wiki wiki) {this.wiki = wiki;}
public void Bfr_arg__add(Bry_bfr bfr) {
bfr.Add(wiki.Data__core_mgr().Db__core().Url().RawBry());
}
}
class Bfr_arg__dump_domain implements Bfr_arg {// .dump_domain = en.wikipedia.org
private final Xow_wiki wiki;
public Bfr_arg__dump_domain(Xow_wiki wiki) {this.wiki = wiki;}
public void Bfr_arg__add(Bry_bfr bfr) {
bfr.Add(wiki.Domain_bry());
}
}

View File

@@ -17,39 +17,54 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.bldrs.cmds.diffs; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.cmds.*;
import gplx.core.brys.*; import gplx.core.brys.fmtrs.*;
import gplx.dbs.*; import gplx.dbs.diffs.*; import gplx.dbs.diffs.builds.*;
import gplx.dbs.*; import gplx.dbs.metas.*; import gplx.dbs.diffs.*; import gplx.dbs.diffs.builds.*;
class Xob_diff_build_wkr {
private final Gfdb_diff_bldr diff_bldr = new Gfdb_diff_bldr();
private Db_conn prev_conn, curr_conn, diff_conn;
public Xob_diff_build_wkr(Xob_bldr bldr, Xowe_wiki wiki, String prev_url, String curr_url, String diff_url, int commit_interval) {
private final Gfdb_diff_bldr dif_bldr = new Gfdb_diff_bldr();
private Db_conn prv_conn, cur_conn, dif_conn;
public Xob_diff_build_wkr(Xob_bldr bldr, Xowe_wiki wiki, String prv_url, String cur_url, String dif_url, int commit_interval) {
Bry_fmt url_fmt = Bry_fmt.New("").Args_(New_url_args(wiki));
Bry_bfr tmp_bfr = Bry_bfr.new_();
prev_conn = New_conn(wiki, url_fmt, prev_url, tmp_bfr);
curr_conn = New_conn(wiki, url_fmt, curr_url, tmp_bfr);
diff_conn = New_conn(wiki, url_fmt, diff_url, tmp_bfr);
// get Gfdb_diff_tbl; format urls
Tfds.Write(prev_conn, curr_conn, diff_conn);
prv_conn = New_conn(Bool_.N, wiki, url_fmt, prv_url, tmp_bfr);
cur_conn = New_conn(Bool_.N, wiki, url_fmt, cur_url, tmp_bfr);
dif_conn = New_conn(Bool_.Y, wiki, url_fmt, dif_url, tmp_bfr);
Tfds.Dbg(prv_conn, cur_conn, dif_conn);
}
public void Exec() {
diff_bldr.Init(null); // diff_db_wkr
diff_bldr.Compare(null, null); // lhs_tbl, rhs_tbl
Gfdb_diff_db dif_db = new Gfdb_diff_db(dif_conn);
Gfdb_diff_wkr__db dif_wkr = new Gfdb_diff_wkr__db();
dif_wkr.Init_conn(dif_db, 1000);
dif_bldr.Init(dif_wkr);
Dbmeta_tbl_mgr prv_tbl_mgr = prv_conn.Meta_tbl_load_all();
Dbmeta_tbl_mgr cur_tbl_mgr = prv_conn.Meta_tbl_load_all();
int cur_tbl_len = cur_tbl_mgr.Len();
for (int i = 0; i < cur_tbl_len; ++i) {
Dbmeta_tbl_itm cur_tbl = cur_tbl_mgr.Get_at(i);
Dbmeta_tbl_itm prv_tbl = prv_tbl_mgr.Get_by(cur_tbl.Name()); if (prv_tbl == null) continue;
Gfdb_diff_tbl dif_tbl = Gfdb_diff_tbl.New(cur_tbl);
dif_bldr.Compare(dif_tbl, prv_conn, cur_conn);
}
int prv_tbl_len = prv_tbl_mgr.Len();
for (int i = 0; i < prv_tbl_len; ++i) {
Dbmeta_tbl_itm prv_tbl = prv_tbl_mgr.Get_at(i);
Dbmeta_tbl_itm cur_tbl = cur_tbl_mgr.Get_by(prv_tbl.Name());
if (cur_tbl == null) {
// delete all
}
}
}
public static Db_conn New_conn(Xow_wiki wiki, Bry_fmt fmtr, String url_fmt, Bry_bfr tmp_bfr) {
public static Db_conn New_conn(boolean autocreate, Xow_wiki wiki, Bry_fmt fmtr, String url_fmt, Bry_bfr tmp_bfr) {
fmtr.Fmt_(url_fmt).Bld_bfr_many(tmp_bfr);
Db_conn conn = Db_conn_pool.Instance.Get_or_new(tmp_bfr.To_str_and_clear());
return conn;
return Db_conn_bldr.Instance.Get_or_autocreate(autocreate, Io_url_.new_any_(tmp_bfr.To_str_and_clear()));
}
private static Bfr_fmt_arg[] New_url_args(Xow_wiki wiki) {
return null;
Bfr_fmt_arg[] rv = new Bfr_fmt_arg[]
{ new Bfr_fmt_arg(Bry_.new_a7(".dump_dir"), new Bfr_arg__dump_dir(wiki))
, new Bfr_fmt_arg(Bry_.new_a7(".dump_core"), new Bfr_arg__dump_core(wiki))
, new Bfr_fmt_arg(Bry_.new_a7(".dump_domain"), new Bfr_arg__dump_domain(wiki))
};
return rv;
}
//prev_url='~{.dump_dir}-prev/~{.dump_core}';
//curr_url='~{.dump_dir}/~{.dump_core}';
//diff_url='~{.dump_dir}/~{.dump_domain}-diff.xowa';
//prv_url='~{.dump_dir}-prev/~{.dump_core}';
//cur_url='~{.dump_dir}/~{.dump_core}';
//dif_url='~{.dump_dir}/~{.dump_domain}-diff.xowa';
}
// class Bfr_arg__dump_dir : Bfr_arg {
// public void Bfr_arg__add(Bry_bfr bfr) {
// // dump_dir = bfr.Add("C:\xowa\wiki\en.wikipedia.org");
// // dump_core = en.wikipedia.org-core.xowa
// // dump_domain = en.wikipedia.org
// }
// }

View File

@@ -0,0 +1,49 @@
/*
XOWA: the XOWA Offline Wiki Application
Copyright (C) 2012 gnosygnu@gmail.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.bldrs.cmds.diffs; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.cmds.*;
import gplx.dbs.*; import gplx.dbs.metas.*; import gplx.dbs.diffs.*;
class Xob_diff_manifest {
// page|page_id|*
public static Gfdb_diff_tbl[] Parse(Db_conn conn, String src_str) {
// byte[][] rows_ary = Bry_split_.Split_lines(Bry_.new_u8(src_str));
// int rows_len = rows_ary.length;
// for (int i = 0; i < rows_len; ++i) {
// byte[] row = rows_ary[i];
// byte[][] itms_ary = Bry_split_.Split(row, Byte_ascii.Pipe);
// byte[] tbl_name = itms_ary[0];
// conn.Meta_tbl_exists
// int itms_len = itms_ary.length;
// for (int j = 0; j < itms_len; ++j) {
// byte[] itm = itms_ary[j];
// Tfds.Dbg(itm);
// }
// Gfdb_diff_tbl tbl = new Gfdb_diff_tbl(String_.new_u8(itms_ary[0]),keys, vals, Db_rdr_.Empty);
// }
return null;
}
}
/*
class Wkr {
public void Make() {
sdif_db_mgr sdif_db = new Sdif_db_mgr(conn);
for (int i = 0; i < rhs_tbl_len; ++i) {
}
}
}
*/

View File

@@ -60,7 +60,7 @@ class Xob_diff_regy_sql_runner {
fsdb_db_tid = Fsdb_db_tid_.Xto_tid(parts[2]);
}
public void Run_sql(Xoae_app app) {
Xowe_wiki wiki = app.Wiki_mgr().Get_by_key_or_null(Bry_.new_u8(wiki_domain));
Xowe_wiki wiki = (Xowe_wiki)app.Wiki_mgr().Get_by_or_null(Bry_.new_u8(wiki_domain));
app.Usr_dlg().Prog_many("", "", "running sql: url=~{0}", url.NameAndExt());
Db_conn conn = Get_conn(wiki, fsdb_db_id, fsdb_db_tid);
conn.Exec_sql(Io_mgr.Instance.LoadFilStr(url));

View File

@@ -35,8 +35,8 @@ public class Xob_diff_regy_make_cmd extends Xob_itm_basic_base implements Xob_cm
}
private void Make_join_indexes(Db_conn make_db_provider) {
try {
make_db_provider.Ddl_create_idx(Db_meta_idx.new_normal_by_name("fsdb_regy", "fsdb_regy__join", "fsdb_name", "fsdb_is_orig", "fsdb_repo", "fsdb_w", "fsdb_time", "fsdb_page"));
make_db_provider.Ddl_create_idx(Db_meta_idx.new_normal_by_name("xfer_regy", "xfer_regy__join", "lnki_ttl", "file_is_orig", "orig_repo", "file_w", "lnki_time", "lnki_page"));
make_db_provider.Ddl_create_idx(Dbmeta_idx_itm.new_normal_by_name("fsdb_regy", "fsdb_regy__join", "fsdb_name", "fsdb_is_orig", "fsdb_repo", "fsdb_w", "fsdb_time", "fsdb_page"));
make_db_provider.Ddl_create_idx(Dbmeta_idx_itm.new_normal_by_name("xfer_regy", "xfer_regy__join", "lnki_ttl", "file_is_orig", "orig_repo", "file_w", "lnki_time", "lnki_page"));
}
catch (Exception exc) {
app.Usr_dlg().Warn_many("", "", "error while making indexes: err=~{0}", Err_.Message_gplx_full(exc));

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.bldrs.cmds.files; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.cmds.*;
import gplx.dbs.*; import gplx.xowa.files.*;
class Xob_lnki_temp_tbl {
private static final Db_meta_fld_list flds = Db_meta_fld_list.new_();
private static final Dbmeta_fld_list flds = Dbmeta_fld_list.new_();
private static final String Tbl_name = "lnki_temp";
public static final String
Fld_lnki_id = flds.Add_int_pkey_autonum("lnki_id"); // NOTE: insertion order index; public b/c not used and want to bypass warning
@@ -39,7 +39,7 @@ class Xob_lnki_temp_tbl {
private Db_stmt stmt_insert;
public Xob_lnki_temp_tbl(Db_conn conn) {this.conn = conn;}
public Db_conn Conn() {return conn;} private final Db_conn conn;
public void Create_tbl() {conn.Ddl_create_tbl(Db_meta_tbl.new_(Tbl_name, flds));}
public void Create_tbl() {conn.Ddl_create_tbl(Dbmeta_tbl_itm.New(Tbl_name, flds));}
public void Insert_bgn() {conn.Txn_bgn("bldr__lnki_temp"); stmt_insert = conn.Stmt_insert(Tbl_name, flds);}
public void Insert_commit() {conn.Txn_sav();}
public void Insert_end() {conn.Txn_end(); stmt_insert = Db_stmt_.Rls(stmt_insert);}

View File

@@ -57,7 +57,7 @@ public class Xob_lnki_temp_wkr extends Xob_dump_mgr_base implements Xopg_redlink
wiki.Html_mgr().Page_wtr_mgr().Wkr(Xopg_page_.Tid_read).Ctgs_enabled_(false); // disable categories else progress messages written (also for PERF)
if (wiki.File__bin_mgr() != null)
wiki.File__bin_mgr().Wkrs__del(gplx.xowa.files.bins.Xof_bin_wkr_.Key_http_wmf); // remove wmf wkr, else will try to download images during parsing
commons_wiki = app.Wiki_mgr().Get_by_key_or_make(Xow_domain_itm_.Bry__commons);
commons_wiki = app.Wiki_mgr().Get_by_or_make(Xow_domain_itm_.Bry__commons);
Xop_log_mgr log_mgr = ctx.App().Log_mgr();
log_mgr.Log_dir_(wiki.Fsys_mgr().Root_dir()); // put log in wiki dir, instead of user.temp
invoke_wkr = this.Invoke_wkr(); // set member reference

View File

@@ -27,7 +27,7 @@ public class Xob_orig_regy_cmd extends Xob_itm_basic_base implements Xob_cmd {
public void Cmd_bgn(Xob_bldr bldr) {
Db_conn conn = Xob_db_file.new__file_make(wiki.Fsys_mgr().Root_dir()).Conn();
Xob_orig_regy_tbl.Create_table(conn);
Xowe_wiki commons_wiki = bldr.App().Wiki_mgr().Get_by_key_or_make(Xow_domain_itm_.Bry__commons).Init_assert();
Xowe_wiki commons_wiki = bldr.App().Wiki_mgr().Get_by_or_make(Xow_domain_itm_.Bry__commons).Init_assert();
Xowe_wiki repo_0 = wiki, repo_1 = commons_wiki;
if (repo_0_is_remote) { // NOTE: default is false; local_wiki will be preferred over commons_wiki
repo_0 = commons_wiki;

View File

@@ -25,7 +25,7 @@ public class Xob_page_regy_cmd extends Xob_itm_basic_base implements Xob_cmd {
public String Cmd_key() {return Xob_cmd_keys.Key_file_page_regy;}
public void Cmd_init(Xob_bldr bldr) {}
public void Cmd_bgn(Xob_bldr bldr) {
Xowe_wiki commons_wiki = bldr.App().Wiki_mgr().Get_by_key_or_make(Xow_domain_itm_.Bry__commons).Init_assert();
Xowe_wiki commons_wiki = bldr.App().Wiki_mgr().Get_by_or_make(Xow_domain_itm_.Bry__commons).Init_assert();
Db_conn page_regy_provider = Xob_db_file.new__page_regy(commons_wiki.Fsys_mgr().Root_dir()).Conn();
commons_wiki.Init_assert();
if (build_commons) {

View File

@@ -37,11 +37,12 @@ public class Xob_page_cmd extends Xob_itm_basic_base implements Xobd_wkr, GfoInv
this.page_core_tbl = db_mgr.Tbl__page();
this.text_zip_mgr = Xoa_app_.Utl__zip_mgr(); text_zip_tid = import_cfg.Zip_tid_text();
this.ns_to_db_mgr = new Xob_ns_to_db_mgr(new Xob_ns_to_db_wkr__text(), db_mgr, import_cfg.Text_db_max());
this.dg_match_mgr = app.Api_root().Bldr().Wiki().Filter().Dansguardian().New_mgr(wiki.Domain_str(), wiki.Fsys_mgr().Root_dir());
if (dg_match_mgr != null) redirect_id_enabled = true; // always enable redirect_id if dg_match_mgr enabled; DATE:2016-01-04
if (redirect_id_enabled) {
this.redirect_tbl = new Xob_redirect_tbl(wiki.Fsys_mgr().Root_dir(), gplx.langs.htmls.encoders.Gfo_url_encoder_.Http_url_ttl).Create_table();
redirect_tbl.Conn().Txn_bgn("bldr__page__redirect");
}
this.dg_match_mgr = app.Api_root().Bldr().Wiki().Filter().Dansguardian().New_mgr(wiki.Domain_str(), wiki.Fsys_mgr().Root_dir());
app.Bldr().Dump_parser().Trie_tab_del_(); // disable swapping &#09; for \t
byte[] ns_file_map = import_cfg.New_ns_file_map(wiki.Import_cfg().Src_rdr_len());
Xob_ns_file_itm.Init_ns_bldr_data(Xowd_db_file_.Tid_text, wiki.Ns_mgr(), ns_file_map);

View File

@@ -0,0 +1,85 @@
/*
XOWA: the XOWA Offline Wiki Application
Copyright (C) 2012 gnosygnu@gmail.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.bldrs.cmds.texts.sqls; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.cmds.*; import gplx.xowa.bldrs.cmds.texts.*;
import gplx.dbs.*; import gplx.xowa.wikis.data.*;
public class Xob_page_delete_cmd extends Xob_cmd_base {
private final Xow_wiki wiki;
public Xob_page_delete_cmd(Xob_bldr bldr, Xow_wiki wiki) {this.wiki = wiki;}
@Override public String Cmd_key() {return Xob_cmd_keys.Key_text_delete_page;}
@Override public void Cmd_run() {
wiki.Init_by_wiki();
Xowd_db_file core_db = wiki.Data__core_mgr().Db__core();
Db_conn core_db_conn = core_db.Conn();
Gfo_usr_dlg usr_dlg = Gfo_usr_dlg_.Instance;
usr_dlg.Plog_many("", "", "creating page_filter");
if (!core_db_conn.Meta_tbl_exists("page_filter")) {
core_db_conn.Ddl_create_tbl
( Dbmeta_tbl_itm.New("page_filter", new Dbmeta_fld_itm[]
{ Dbmeta_fld_itm.new_int("page_id").Primary_y_()
, Dbmeta_fld_itm.new_int("page_text_db_id")
}
, Dbmeta_idx_itm.new_normal_by_tbl("page_filter", "db_id", "page_text_db_id", "page_id")
));
}
core_db_conn.Exec_sql_plog_ntx("finding missing redirects", String_.Concat_lines_nl_skip_last
( "INSERT INTO page_filter (page_id, page_text_db_id)"
, "SELECT ptr.page_id, ptr.page_text_db_id"
, "FROM page ptr"
, " LEFT JOIN page orig ON ptr.page_redirect_id = orig.page_id"
, "WHERE ptr.page_is_redirect = 1"
, "AND orig.page_id IS NULL"
, "UNION"
, "SELECT ptr.page_id, ptr.page_text_db_id"
, "FROM page ptr"
, "WHERE ptr.page_is_redirect = 1"
, "AND ptr.page_redirect_id = -1"
, ";"
));
Xowd_db_file[] db_files = core_db.Tbl__db().Select_all(wiki.Data__core_mgr().Props(), wiki.Fsys_mgr().Root_dir());
int len = db_files.length;
for (int i = 0; i < len; ++i) {
boolean db_file_is_text = Bool_.N, db_file_is_cat = Bool_.N, db_file_is_search = Bool_.N;
Xowd_db_file db_file = db_files[i];
switch (db_file.Tid()) {
case Xowd_db_file_.Tid_core: case Xowd_db_file_.Tid_wiki_solo: case Xowd_db_file_.Tid_text_solo:
db_file_is_text = db_file_is_cat = db_file_is_search = Bool_.Y; break;
case Xowd_db_file_.Tid_text: db_file_is_text = Bool_.Y; break;
case Xowd_db_file_.Tid_cat: db_file_is_cat = Bool_.Y; break;
case Xowd_db_file_.Tid_search_core: db_file_is_search = Bool_.Y; break;
}
int db_id = db_file.Id();
if (db_file_is_text) Run_sql(core_db_conn, db_file.Url(), db_id, "deleting text: " + db_id, "DELETE FROM <attach_db>text WHERE page_id IN (SELECT page_id FROM page_filter WHERE page_text_db_id = {0});");
if (db_file_is_cat) Run_sql(core_db_conn, db_file.Url(), db_id, "deleting cat: " + db_id, "DELETE FROM <attach_db>cat_link WHERE cl_from IN (SELECT page_id FROM page_filter);");
if (db_file_is_cat) Run_sql(core_db_conn, db_file.Url(), db_id, "deleting search:" + db_id, "DELETE FROM <attach_db>search_link WHERE page_id IN (SELECT page_id FROM page_filter);");
if (db_file_is_text || db_file_is_cat || db_file_is_search)
db_file.Conn().Env_vacuum();
}
core_db_conn.Exec_sql_plog_ntx("deleting from table: page", "DELETE FROM page WHERE page_id IN (SELECT page_id FROM page_filter);");
// core_db_conn.Ddl_delete_tbl("page_filter");
core_db_conn.Env_vacuum();
usr_dlg.Plog_many("", "", "");
}
private void Run_sql(Db_conn core_db_conn, Io_url db_url, int db_id, String prog_msg, String sql) {
Db_attach_cmd.new_(core_db_conn, "data_db", db_url)
.Add_fmt(prog_msg , sql, db_id)
.Exec();
}
}

View File

@@ -28,6 +28,8 @@ public class Xob_term_cmd extends Xob_term_base {
cfg_tbl.Insert_bry(Xow_cfg_consts.Grp__wiki_init, "props.siteinfo_misc", wiki.Props().Siteinfo_misc());
cfg_tbl.Insert_bry(Xow_cfg_consts.Grp__wiki_init, "props.siteinfo_mainpage", wiki.Props().Siteinfo_mainpage());
gplx.fsdb.Fsdb_db_mgr__v2_bldr.Instance.Get_or_make(wiki, false);// always build file.user db; DATE:2015-05-12
if (wiki.Appe().Api_root().Bldr().Wiki().Filter().Dansguardian().Enabled()) // if dansguardian, delete missing pages; DATE:2016-01-06
new Xob_page_delete_cmd(wiki.Appe().Bldr(), wiki).Cmd_run();
wiki.Data__core_mgr().Rls();
}
}

View File

@@ -20,7 +20,7 @@ import gplx.dbs.*;
class Xobd_page_dump_tbl {
public final static String Tbl_name = "page_dump";
private final String fld_id, fld_title, fld_namespace, fld_is_redirect;
private final Db_conn conn; private final Db_meta_fld_list flds = Db_meta_fld_list.new_();
private final Db_conn conn; private final Dbmeta_fld_list flds = Dbmeta_fld_list.new_();
public Xobd_page_dump_tbl(Db_conn conn) {
this.conn = conn;
this.fld_id = flds.Add_int_pkey("page_id");
@@ -29,12 +29,12 @@ class Xobd_page_dump_tbl {
this.fld_is_redirect = flds.Add_int("page_is_redirect");
}
public void Create_data(Io_url page_db_url, int text_db_id) {
conn.Ddl_create_tbl(Db_meta_tbl.new_(Tbl_name, flds));
conn.Ddl_create_tbl(Dbmeta_tbl_itm.New(Tbl_name, flds));
conn.Stmt_delete(Tbl_name).Exec_delete(); // always clear tables again; allows commands to be rerun; DATE:2015-08-04
Db_attach_cmd.new_(conn, "page_db", page_db_url)
.Add_fmt("text_db_prep.clone_page", Sql_insert_data, text_db_id)
.Exec();
conn.Ddl_create_idx(Db_meta_idx.new_unique_by_tbl(Tbl_name, "main", fld_id, fld_namespace, fld_is_redirect, fld_title));
conn.Ddl_create_idx(Dbmeta_idx_itm.new_unique_by_tbl(Tbl_name, "main", fld_id, fld_namespace, fld_is_redirect, fld_title));
}
private static final String Sql_insert_data = String_.Concat_lines_nl
( "INSERT INTO page_dump (page_id, page_title, page_namespace, page_is_redirect)"

View File

@@ -43,7 +43,7 @@ class Dg_log_mgr {
public void Rls() {conn.Txn_end();}
}
class Dg_file_tbl {
private String tbl_name = "dg_file"; private final Db_meta_fld_list flds = Db_meta_fld_list.new_();
private String tbl_name = "dg_file"; private final Dbmeta_fld_list flds = Dbmeta_fld_list.new_();
private String fld_file_id, fld_file_path, fld_rule_count;
private Db_conn conn; private Db_stmt stmt_insert;
public void Conn_(Db_conn new_conn, boolean created) {
@@ -52,8 +52,8 @@ class Dg_file_tbl {
fld_file_path = flds.Add_str("file_path", 512);
fld_rule_count = flds.Add_int("rule_count");
if (created) {
Db_meta_tbl meta = Db_meta_tbl.new_(tbl_name, flds
, Db_meta_idx.new_unique_by_tbl(tbl_name, "file_id", fld_file_id)
Dbmeta_tbl_itm meta = Dbmeta_tbl_itm.New(tbl_name, flds
, Dbmeta_idx_itm.new_unique_by_tbl(tbl_name, "file_id", fld_file_id)
);
conn.Ddl_create_tbl(meta);
}
@@ -69,7 +69,7 @@ class Dg_file_tbl {
}
}
class Dg_rule_tbl implements Rls_able {
private String tbl_name = "dg_rule"; private final Db_meta_fld_list flds = Db_meta_fld_list.new_();
private String tbl_name = "dg_rule"; private final Dbmeta_fld_list flds = Dbmeta_fld_list.new_();
private String fld_file_id, fld_rule_id, fld_rule_idx, fld_rule_score, fld_rule_text;
private Db_conn conn; private Db_stmt stmt_insert;
public void Conn_(Db_conn new_conn, boolean created) {
@@ -80,8 +80,8 @@ class Dg_rule_tbl implements Rls_able {
fld_rule_score = flds.Add_int("rule_score");
fld_rule_text = flds.Add_str("rule_text", 1024);
if (created) {
Db_meta_tbl meta = Db_meta_tbl.new_(tbl_name, flds
, Db_meta_idx.new_unique_by_tbl(tbl_name, "pkey", fld_rule_id)
Dbmeta_tbl_itm meta = Dbmeta_tbl_itm.New(tbl_name, flds
, Dbmeta_idx_itm.new_unique_by_tbl(tbl_name, "pkey", fld_rule_id)
);
conn.Ddl_create_tbl(meta);
}
@@ -102,7 +102,7 @@ class Dg_rule_tbl implements Rls_able {
}
}
class Dg_page_score_tbl implements Rls_able {
private String tbl_name = "dg_page_score"; private final Db_meta_fld_list flds = Db_meta_fld_list.new_();
private String tbl_name = "dg_page_score"; private final Dbmeta_fld_list flds = Dbmeta_fld_list.new_();
private String fld_log_tid, fld_page_id, fld_page_ns, fld_page_ttl, fld_page_len, fld_page_score, fld_page_rule_count, fld_clude_type;
private Db_conn conn; private Db_stmt stmt_insert;
public void Conn_(Db_conn new_conn, boolean created) {
@@ -116,8 +116,8 @@ class Dg_page_score_tbl implements Rls_able {
fld_page_rule_count = flds.Add_int("page_rule_count");
fld_clude_type = flds.Add_int("page_clude_type");
if (created) {
Db_meta_tbl meta = Db_meta_tbl.new_(tbl_name, flds
, Db_meta_idx.new_unique_by_tbl(tbl_name, "pkey", fld_log_tid, fld_page_id)
Dbmeta_tbl_itm meta = Dbmeta_tbl_itm.New(tbl_name, flds
, Dbmeta_idx_itm.new_unique_by_tbl(tbl_name, "pkey", fld_log_tid, fld_page_id)
);
conn.Ddl_create_tbl(meta);
}
@@ -142,7 +142,7 @@ class Dg_page_score_tbl implements Rls_able {
}
}
class Dg_page_rule_tbl implements Rls_able {
private String tbl_name = "dg_page_rule"; private final Db_meta_fld_list flds = Db_meta_fld_list.new_();
private String tbl_name = "dg_page_rule"; private final Dbmeta_fld_list flds = Dbmeta_fld_list.new_();
private String fld_log_tid, fld_page_id, fld_rule_id, fld_rule_score_total;
private Db_conn conn; private Db_stmt stmt_insert;
public void Conn_(Db_conn new_conn, boolean created) {
@@ -152,8 +152,8 @@ class Dg_page_rule_tbl implements Rls_able {
fld_rule_id = flds.Add_int("rule_id");
fld_rule_score_total = flds.Add_int("rule_score_total");
if (created) {
Db_meta_tbl meta = Db_meta_tbl.new_(tbl_name, flds
, Db_meta_idx.new_unique_by_tbl(tbl_name, "pkey", fld_log_tid, fld_page_id, fld_rule_id)
Dbmeta_tbl_itm meta = Dbmeta_tbl_itm.New(tbl_name, flds
, Dbmeta_idx_itm.new_unique_by_tbl(tbl_name, "pkey", fld_log_tid, fld_page_id, fld_rule_id)
);
conn.Ddl_create_tbl(meta);
}

View File

@@ -45,7 +45,7 @@ abstract class Xoi_cmd_base implements Gfo_thread_cmd {
public void Process_async() {
Xoae_app app = install_mgr.App();
Xob_bldr bldr = app.Bldr();
Xowe_wiki wiki = app.Wiki_mgr().Get_by_key_or_make(Bry_.new_a7(wiki_key));
Xowe_wiki wiki = app.Wiki_mgr().Get_by_or_make(Bry_.new_a7(wiki_key));
wiki.Init_assert();
bldr.Cmd_mgr().Clear();
Process_async_init(app, wiki, bldr);
@@ -81,7 +81,7 @@ class Xoi_cmd_category2_categorylinks extends Xoi_cmd_wiki_download { public Xoi
class Xoi_cmd_category2_build extends Xoi_cmd_base {
public Xoi_cmd_category2_build(Xoi_setup_mgr install_mgr, String wiki_key) {this.Ctor(install_mgr, wiki_key); this.app = install_mgr.App(); this.wiki_key = wiki_key;} private Xoae_app app; private String wiki_key;
@Override public void Cmd_ctor() {
Xowe_wiki wiki = app.Wiki_mgr().Get_by_key_or_make(Bry_.new_u8(wiki_key));
Xowe_wiki wiki = app.Wiki_mgr().Get_by_or_make(Bry_.new_u8(wiki_key));
wiki.Import_cfg().Category_version_(gplx.xowa.wikis.ctgs.Xoa_ctg_mgr.Version_2);
}
@Override public String Async_key() {return KEY;} public static final String KEY = "wiki.category2.build";

View File

@@ -45,7 +45,7 @@ class Xoi_cmd_dumpfile {
return this;
}
public Gfo_thread_cmd Exec(Xoi_cmd_mgr cmd_mgr) {
Xowe_wiki wiki = cmd_mgr.App().Wiki_mgr().Get_by_key_or_make(domain);
Xowe_wiki wiki = cmd_mgr.App().Wiki_mgr().Get_by_or_make(domain);
if (bz2_unzip) { // unzip requested; add unzip cmd
GfoMsg unzip_msg = GfoMsg_.new_parse_(Gfo_thread_cmd_unzip.KEY).Add("v", Gfo_thread_cmd_unzip.KEY).Add("src", bz2_url.Raw()).Add("trg", xml_url.Raw());
Gfo_thread_cmd_unzip unzip_cmd = (Gfo_thread_cmd_unzip)cmd_mgr.Cmd_add(unzip_msg);

View File

@@ -95,7 +95,7 @@ public class Xoi_cmd_mgr implements GfoInvkAble {
if (dumpfile_cmd) {
if (String_.Eq(cmd.Async_key(), Xoi_cmd_wiki_download.Key_wiki_download)) continue; // skip download if wiki.dump_file
else if (String_.Eq(cmd.Async_key(), Xoi_cmd_wiki_unzip.KEY_dump)) {
Xowe_wiki wiki = app.Wiki_mgr().Get_by_key_or_make(Bry_.new_u8(wiki_key));
Xowe_wiki wiki = app.Wiki_mgr().Get_by_or_make(Bry_.new_u8(wiki_key));
if (wiki.Import_cfg().Src_fil_xml() != null) continue; // skip unzip if xml exists
}
else if (String_.Eq(cmd.Async_key(), Xoi_cmd_wiki_import.KEY)) {

View File

@@ -42,7 +42,7 @@ class Xoi_cmd_wiki_download extends Gfo_thread_cmd_download implements Gfo_threa
Dump_servers_offline_msg_shown = true;
}
}
Xowe_wiki wiki = app.Wiki_mgr().Get_by_key_or_make(dump_file.Domain_itm().Domain_bry());
Xowe_wiki wiki = app.Wiki_mgr().Get_by_or_make(dump_file.Domain_itm().Domain_bry());
Io_url root_dir = wiki.Fsys_mgr().Root_dir();
Io_url[] trg_fil_ary = Io_mgr.Instance.QueryDir_args(root_dir).FilPath_("*." + dump_type + Download_file_ext() + "*").ExecAsUrlAry();
Io_url trg = trg_fil_ary.length == 0 ? root_dir.GenSubFil(dump_file.File_name()) : trg_fil_ary[0];

View File

@@ -72,7 +72,7 @@ class Xoi_cmd_wiki_import implements Gfo_thread_cmd {
Xoae_app app = install_mgr.App();
app.Usr_dlg().Prog_one("", "", "preparing import: ~{0}", wiki_key);
Xob_bldr bldr = app.Bldr();
wiki = app.Wiki_mgr().Get_by_key_or_make(Bry_.new_a7(wiki_key));
wiki = app.Wiki_mgr().Get_by_or_make(Bry_.new_a7(wiki_key));
wiki.Init_assert();
bldr.Cmd_mgr().Clear();
bldr.Pause_at_end_(false);

View File

@@ -23,7 +23,7 @@ class Xoi_cmd_wiki_unzip extends Gfo_thread_cmd_unzip implements Gfo_thread_cmd
@Override public String Async_key() {return KEY_dump;}
@Override public byte Async_init() {
Xoae_app app = install_mgr.App(); Gfui_kit kit = app.Gui_mgr().Kit();
Xowe_wiki wiki = app.Wiki_mgr().Get_by_key_or_make(Bry_.new_u8(wiki_key));
Xowe_wiki wiki = app.Wiki_mgr().Get_by_or_make(Bry_.new_u8(wiki_key));
Io_url wiki_dir = wiki.Import_cfg().Src_dir();
Io_url[] urls = Io_mgr.Instance.QueryDir_args(wiki_dir).Recur_(false).FilPath_("*.xml.bz2").ExecAsUrlAry();
if (urls.length == 0) {

View File

@@ -47,7 +47,7 @@ class Xoi_cmd_wiki_zip implements Gfo_thread_cmd {
private void Process_async() {
Xoae_app app = install_mgr.App();
Xob_bldr bldr = app.Bldr();
wiki = app.Wiki_mgr().Get_by_key_or_make(Bry_.new_a7(wiki_key));
wiki = app.Wiki_mgr().Get_by_or_make(Bry_.new_a7(wiki_key));
wiki.Init_assert();
bldr.Cmd_mgr().Clear();
bldr.Pause_at_end_(false);

View File

@@ -66,7 +66,7 @@ public class Xoa_maint_mgr implements GfoInvkAble {
len = app.Wiki_mgr().Count();
Xoa_app_.Usr_dlg().Log_many("", "", "maint.wiki_count; count=~{0}", len);
for (int i = 0; i < len; i++) {
Xowe_wiki wiki = app.Wiki_mgr().Get_at(i);
Xowe_wiki wiki = app.Wiki_mgr().Get_at_or_null(i);
Xoa_app_.Usr_dlg().Log_many("", "", "maint.wiki_itm; wiki=~{0}", wiki.Domain_str());
Wmf_dump_itm itm = (Wmf_dump_itm)itms_hash.Get_by_bry(wiki.Domain_bry()); if (itm == null) continue;
wiki.Maint_mgr().Wmf_dump_date_(itm.Dump_date()).Wmf_dump_done_(itm.Status_tid() == Wmf_dump_itm.Status_tid_complete).Wmf_dump_status_(itm.Status_msg());

View File

@@ -23,7 +23,7 @@ public class Xoa_maint_wikis_mgr implements GfoInvkAble {
public Xowe_wiki Get_at(int i) {
if (init) Init();
byte[] domain = (byte[])hash.Get_at(i);
Xowe_wiki wiki = app.Wiki_mgr().Get_by_key_or_make(domain);
Xowe_wiki wiki = app.Wiki_mgr().Get_by_or_make(domain);
wiki.Init_assert();
return wiki;
}
@@ -32,7 +32,7 @@ public class Xoa_maint_wikis_mgr implements GfoInvkAble {
int len = this.Len();
for (int i = 0; i < len; i++) {
byte[] domain = (byte[])hash.Get_at(i);
Xowe_wiki wiki = app.Wiki_mgr().Get_by_key_or_make(domain);
Xowe_wiki wiki = app.Wiki_mgr().Get_by_or_make(domain);
wiki.Init_assert();
}
init = false;

View File

@@ -27,7 +27,7 @@ public class Xoa_wmf_mgr implements GfoInvkAble {
enabled = v;
int len = wiki_mgr.Count();
for (int i = 0; i < len; i++) {
Xowe_wiki wiki = wiki_mgr.Get_at(i);
Xowe_wiki wiki = wiki_mgr.Get_at_or_null(i);
wiki.File_mgr().Cfg_download().Enabled_(v);
}
}

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.bldrs.wms.sites; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.wms.*;
import gplx.dbs.*;
public class Site_core_tbl implements Db_tbl {
private static final String tbl_name = "site_core"; private final Db_meta_fld_list flds = new Db_meta_fld_list();
private static final String tbl_name = "site_core"; private final Dbmeta_fld_list flds = new Dbmeta_fld_list();
private final String fld_site_abrv, fld_site_domain, fld_json_completed, fld_json_date, fld_json_text;
private final Db_conn conn;
private Db_stmt stmt_select, stmt_insert, stmt_delete, stmt_update;
@@ -32,7 +32,7 @@ public class Site_core_tbl implements Db_tbl {
conn.Rls_reg(this);
}
public Db_conn Conn() {return conn;}
public void Create_tbl() {conn.Ddl_create_tbl(Db_meta_tbl.new_(tbl_name, flds, Db_meta_idx.new_unique_by_name(tbl_name, Db_meta_idx.Bld_idx_name(tbl_name, "main"), fld_site_abrv)));}
public void Create_tbl() {conn.Ddl_create_tbl(Dbmeta_tbl_itm.New(tbl_name, flds, Dbmeta_idx_itm.new_unique_by_name(tbl_name, Dbmeta_idx_itm.Bld_idx_name(tbl_name, "main"), fld_site_abrv)));}
public void Rls() {
stmt_select = Db_stmt_.Rls(stmt_select);
stmt_insert = Db_stmt_.Rls(stmt_insert);

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.bldrs.wms.sites; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.wms.*;
import gplx.dbs.*;
class Site_extension_tbl implements Db_tbl {
private static final String tbl_name = "site_extension"; private final Db_meta_fld_list flds = new Db_meta_fld_list();
private static final String tbl_name = "site_extension"; private final Dbmeta_fld_list flds = new Dbmeta_fld_list();
private final String fld_site_abrv, fld_type, fld_name, fld_namemsg, fld_description, fld_descriptionmsg, fld_author, fld_url, fld_version
, fld_vcs_system, fld_vcs_version, fld_vcs_url, fld_vcs_date, fld_license_name, fld_license, fld_credits;
private final Db_conn conn;
@@ -43,8 +43,8 @@ class Site_extension_tbl implements Db_tbl {
this.fld_credits = flds.Add_str("credits", 255);
conn.Rls_reg(this);
}
public void Create_tbl() {conn.Ddl_create_tbl(Db_meta_tbl.new_(tbl_name, flds, Db_meta_idx.new_unique_by_name(tbl_name, Db_meta_idx.Bld_idx_name(tbl_name, "main"), fld_site_abrv, fld_type, fld_name)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Db_meta_fld.Ary_empty).Exec_delete();}
public void Create_tbl() {conn.Ddl_create_tbl(Dbmeta_tbl_itm.New(tbl_name, flds, Dbmeta_idx_itm.new_unique_by_name(tbl_name, Dbmeta_idx_itm.Bld_idx_name(tbl_name, "main"), fld_site_abrv, fld_type, fld_name)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Dbmeta_fld_itm.Str_ary_empty).Exec_delete();}
public void Rls() {
stmt_select = Db_stmt_.Rls(stmt_select);
stmt_insert = Db_stmt_.Rls(stmt_insert);

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.bldrs.wms.sites; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.wms.*;
import gplx.dbs.*;
class Site_interwikimap_tbl implements Db_tbl {
private static final String tbl_name = "site_interwikimap"; private final Db_meta_fld_list flds = new Db_meta_fld_list();
private static final String tbl_name = "site_interwikimap"; private final Dbmeta_fld_list flds = new Dbmeta_fld_list();
private final String fld_site_abrv, fld_prefix, fld_local, fld_language, fld_localinterwiki, fld_url, fld_protorel;
private final Db_conn conn;
private Db_stmt stmt_select, stmt_insert, stmt_delete;
@@ -33,8 +33,8 @@ class Site_interwikimap_tbl implements Db_tbl {
this.fld_protorel = flds.Add_bool("protorel");
conn.Rls_reg(this);
}
public void Create_tbl() {conn.Ddl_create_tbl(Db_meta_tbl.new_(tbl_name, flds, Db_meta_idx.new_unique_by_name(tbl_name, Db_meta_idx.Bld_idx_name(tbl_name, "main"), fld_site_abrv, fld_prefix)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Db_meta_fld.Ary_empty).Exec_delete();}
public void Create_tbl() {conn.Ddl_create_tbl(Dbmeta_tbl_itm.New(tbl_name, flds, Dbmeta_idx_itm.new_unique_by_name(tbl_name, Dbmeta_idx_itm.Bld_idx_name(tbl_name, "main"), fld_site_abrv, fld_prefix)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Dbmeta_fld_itm.Str_ary_empty).Exec_delete();}
public void Rls() {
stmt_select = Db_stmt_.Rls(stmt_select);
stmt_insert = Db_stmt_.Rls(stmt_insert);

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.bldrs.wms.sites; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.wms.*;
import gplx.dbs.*;
class Site_kv_tbl implements Db_tbl {
private String tbl_name; private final Db_meta_fld_list flds = new Db_meta_fld_list();
private String tbl_name; private final Dbmeta_fld_list flds = new Dbmeta_fld_list();
private final String fld_site_abrv, fld_key, fld_val;
private final Db_conn conn;
private Db_stmt stmt_select, stmt_insert, stmt_delete;
@@ -29,8 +29,8 @@ class Site_kv_tbl implements Db_tbl {
this.fld_val = flds.Add_str("val", 255);
conn.Rls_reg(this);
}
public void Create_tbl() {conn.Ddl_create_tbl(Db_meta_tbl.new_(tbl_name, flds, Db_meta_idx.new_unique_by_name(tbl_name, Db_meta_idx.Bld_idx_name(tbl_name, "main"), fld_site_abrv, fld_key)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Db_meta_fld.Ary_empty).Exec_delete();}
public void Create_tbl() {conn.Ddl_create_tbl(Dbmeta_tbl_itm.New(tbl_name, flds, Dbmeta_idx_itm.new_unique_by_name(tbl_name, Dbmeta_idx_itm.Bld_idx_name(tbl_name, "main"), fld_site_abrv, fld_key)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Dbmeta_fld_itm.Str_ary_empty).Exec_delete();}
public void Rls() {
stmt_select = Db_stmt_.Rls(stmt_select);
stmt_insert = Db_stmt_.Rls(stmt_insert);

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.bldrs.wms.sites; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.wms.*;
import gplx.dbs.*;
class Site_language_tbl implements Db_tbl {
private static final String tbl_name = "site_language"; private final Db_meta_fld_list flds = new Db_meta_fld_list();
private static final String tbl_name = "site_language"; private final Dbmeta_fld_list flds = new Dbmeta_fld_list();
private final String fld_site_abrv, fld_code, fld_name;
private final Db_conn conn;
private Db_stmt stmt_select, stmt_insert, stmt_delete;
@@ -29,8 +29,8 @@ class Site_language_tbl implements Db_tbl {
this.fld_name = flds.Add_str("name", 255);
conn.Rls_reg(this);
}
public void Create_tbl() {conn.Ddl_create_tbl(Db_meta_tbl.new_(tbl_name, flds, Db_meta_idx.new_unique_by_name(tbl_name, Db_meta_idx.Bld_idx_name(tbl_name, "main"), fld_site_abrv, fld_code)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Db_meta_fld.Ary_empty).Exec_delete();}
public void Create_tbl() {conn.Ddl_create_tbl(Dbmeta_tbl_itm.New(tbl_name, flds, Dbmeta_idx_itm.new_unique_by_name(tbl_name, Dbmeta_idx_itm.Bld_idx_name(tbl_name, "main"), fld_site_abrv, fld_code)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Dbmeta_fld_itm.Str_ary_empty).Exec_delete();}
public void Rls() {
stmt_select = Db_stmt_.Rls(stmt_select);
stmt_insert = Db_stmt_.Rls(stmt_insert);

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.bldrs.wms.sites; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.wms.*;
import gplx.dbs.*;
class Site_library_tbl implements Db_tbl {
private static final String tbl_name = "site_library"; private final Db_meta_fld_list flds = new Db_meta_fld_list();
private static final String tbl_name = "site_library"; private final Dbmeta_fld_list flds = new Dbmeta_fld_list();
private final String fld_site_abrv, fld_name, fld_version;
private final Db_conn conn;
private Db_stmt stmt_select, stmt_insert, stmt_delete;
@@ -29,8 +29,8 @@ class Site_library_tbl implements Db_tbl {
this.fld_version = flds.Add_str("version", 255);
conn.Rls_reg(this);
}
public void Create_tbl() {conn.Ddl_create_tbl(Db_meta_tbl.new_(tbl_name, flds, Db_meta_idx.new_unique_by_name(tbl_name, Db_meta_idx.Bld_idx_name(tbl_name, "main"), fld_site_abrv, fld_name)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Db_meta_fld.Ary_empty).Exec_delete();}
public void Create_tbl() {conn.Ddl_create_tbl(Dbmeta_tbl_itm.New(tbl_name, flds, Dbmeta_idx_itm.new_unique_by_name(tbl_name, Dbmeta_idx_itm.Bld_idx_name(tbl_name, "main"), fld_site_abrv, fld_name)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Dbmeta_fld_itm.Str_ary_empty).Exec_delete();}
public void Rls() {
stmt_select = Db_stmt_.Rls(stmt_select);
stmt_insert = Db_stmt_.Rls(stmt_insert);

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.bldrs.wms.sites; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.wms.*;
import gplx.dbs.*;
class Site_magicword_tbl implements Db_tbl {
private static final String tbl_name = "site_magicword"; private final Db_meta_fld_list flds = new Db_meta_fld_list();
private static final String tbl_name = "site_magicword"; private final Dbmeta_fld_list flds = new Dbmeta_fld_list();
private final String fld_site_abrv, fld_name, fld_case_match, fld_aliases;
private final Db_conn conn;
private Db_stmt stmt_select, stmt_insert, stmt_delete;
@@ -30,8 +30,8 @@ class Site_magicword_tbl implements Db_tbl {
this.fld_aliases = flds.Add_str("aliases", 2048);
conn.Rls_reg(this);
}
public void Create_tbl() {conn.Ddl_create_tbl(Db_meta_tbl.new_(tbl_name, flds, Db_meta_idx.new_unique_by_name(tbl_name, Db_meta_idx.Bld_idx_name(tbl_name, "main"), fld_site_abrv, fld_name)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Db_meta_fld.Ary_empty).Exec_delete();}
public void Create_tbl() {conn.Ddl_create_tbl(Dbmeta_tbl_itm.New(tbl_name, flds, Dbmeta_idx_itm.new_unique_by_name(tbl_name, Dbmeta_idx_itm.Bld_idx_name(tbl_name, "main"), fld_site_abrv, fld_name)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Dbmeta_fld_itm.Str_ary_empty).Exec_delete();}
public void Rls() {
stmt_select = Db_stmt_.Rls(stmt_select);
stmt_insert = Db_stmt_.Rls(stmt_insert);

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.bldrs.wms.sites; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.wms.*;
import gplx.dbs.*;
public class Site_namespace_tbl implements Db_tbl {
private static final String tbl_name = "site_namespace"; private final Db_meta_fld_list flds = new Db_meta_fld_list();
private static final String tbl_name = "site_namespace"; private final Dbmeta_fld_list flds = new Dbmeta_fld_list();
private final String fld_site_abrv, fld_id, fld_case_tid, fld_canonical, fld_localized, fld_subpages, fld_content, fld_defaultcontentmodel;
private final Db_conn conn;
private Db_stmt stmt_select, stmt_insert, stmt_delete;
@@ -34,8 +34,8 @@ public class Site_namespace_tbl implements Db_tbl {
this.fld_defaultcontentmodel = flds.Add_str("defaultcontentmodel", 255);
conn.Rls_reg(this);
}
public void Create_tbl() {conn.Ddl_create_tbl(Db_meta_tbl.new_(tbl_name, flds, Db_meta_idx.new_unique_by_name(tbl_name, Db_meta_idx.Bld_idx_name(tbl_name, "main"), fld_site_abrv, fld_id)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Db_meta_fld.Ary_empty).Exec_delete();}
public void Create_tbl() {conn.Ddl_create_tbl(Dbmeta_tbl_itm.New(tbl_name, flds, Dbmeta_idx_itm.new_unique_by_name(tbl_name, Dbmeta_idx_itm.Bld_idx_name(tbl_name, "main"), fld_site_abrv, fld_id)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Dbmeta_fld_itm.Str_ary_empty).Exec_delete();}
public void Rls() {
stmt_select = Db_stmt_.Rls(stmt_select);
stmt_insert = Db_stmt_.Rls(stmt_insert);

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.bldrs.wms.sites; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.wms.*;
import gplx.dbs.*;
class Site_namespacealias_tbl implements Db_tbl {
private static final String tbl_name = "site_namespacealias"; private final Db_meta_fld_list flds = new Db_meta_fld_list();
private static final String tbl_name = "site_namespacealias"; private final Dbmeta_fld_list flds = new Dbmeta_fld_list();
private final String fld_site_abrv, fld_id, fld_alias;
private final Db_conn conn;
private Db_stmt stmt_select, stmt_insert, stmt_delete;
@@ -29,8 +29,8 @@ class Site_namespacealias_tbl implements Db_tbl {
this.fld_alias = flds.Add_str("alias", 2048);
conn.Rls_reg(this);
}
public void Create_tbl() {conn.Ddl_create_tbl(Db_meta_tbl.new_(tbl_name, flds, Db_meta_idx.new_normal_by_name(tbl_name, Db_meta_idx.Bld_idx_name(tbl_name, "main"), fld_site_abrv, fld_id, fld_alias)));} // NOTE: kk.w has duplicate entries in json
public void Delete_all() {conn.Stmt_delete(tbl_name, Db_meta_fld.Ary_empty).Exec_delete();}
public void Create_tbl() {conn.Ddl_create_tbl(Dbmeta_tbl_itm.New(tbl_name, flds, Dbmeta_idx_itm.new_normal_by_name(tbl_name, Dbmeta_idx_itm.Bld_idx_name(tbl_name, "main"), fld_site_abrv, fld_id, fld_alias)));} // NOTE: kk.w has duplicate entries in json
public void Delete_all() {conn.Stmt_delete(tbl_name, Dbmeta_fld_itm.Str_ary_empty).Exec_delete();}
public void Rls() {
stmt_select = Db_stmt_.Rls(stmt_select);
stmt_insert = Db_stmt_.Rls(stmt_insert);

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.bldrs.wms.sites; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.wms.*;
import gplx.dbs.*;
class Site_showhook_tbl implements Db_tbl {
private static final String tbl_name = "site_showhook"; private final Db_meta_fld_list flds = new Db_meta_fld_list();
private static final String tbl_name = "site_showhook"; private final Dbmeta_fld_list flds = new Dbmeta_fld_list();
private final String fld_site_abrv, fld_name, fld_scribunto, fld_subscribers;
private final Db_conn conn;
private Db_stmt stmt_select, stmt_insert, stmt_delete;
@@ -30,8 +30,8 @@ class Site_showhook_tbl implements Db_tbl {
this.fld_subscribers = flds.Add_str("subscribers", 2048);
conn.Rls_reg(this);
}
public void Create_tbl() {conn.Ddl_create_tbl(Db_meta_tbl.new_(tbl_name, flds, Db_meta_idx.new_unique_by_name(tbl_name, Db_meta_idx.Bld_idx_name(tbl_name, "main"), fld_site_abrv, fld_name)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Db_meta_fld.Ary_empty).Exec_delete();}
public void Create_tbl() {conn.Ddl_create_tbl(Dbmeta_tbl_itm.New(tbl_name, flds, Dbmeta_idx_itm.new_unique_by_name(tbl_name, Dbmeta_idx_itm.Bld_idx_name(tbl_name, "main"), fld_site_abrv, fld_name)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Dbmeta_fld_itm.Str_ary_empty).Exec_delete();}
public void Rls() {
stmt_select = Db_stmt_.Rls(stmt_select);
stmt_insert = Db_stmt_.Rls(stmt_insert);

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.bldrs.wms.sites; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.wms.*;
import gplx.dbs.*;
class Site_skin_tbl implements Db_tbl {
private static final String tbl_name = "site_skin"; private final Db_meta_fld_list flds = new Db_meta_fld_list();
private static final String tbl_name = "site_skin"; private final Dbmeta_fld_list flds = new Dbmeta_fld_list();
private final String fld_site_abrv, fld_code, fld_dflt, fld_name, fld_unusable;
private final Db_conn conn;
private Db_stmt stmt_select, stmt_insert, stmt_delete;
@@ -31,8 +31,8 @@ class Site_skin_tbl implements Db_tbl {
this.fld_unusable = flds.Add_bool("unusable");
conn.Rls_reg(this);
}
public void Create_tbl() {conn.Ddl_create_tbl(Db_meta_tbl.new_(tbl_name, flds, Db_meta_idx.new_unique_by_name(tbl_name, Db_meta_idx.Bld_idx_name(tbl_name, "main"), fld_site_abrv, fld_code)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Db_meta_fld.Ary_empty).Exec_delete();}
public void Create_tbl() {conn.Ddl_create_tbl(Dbmeta_tbl_itm.New(tbl_name, flds, Dbmeta_idx_itm.new_unique_by_name(tbl_name, Dbmeta_idx_itm.Bld_idx_name(tbl_name, "main"), fld_site_abrv, fld_code)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Dbmeta_fld_itm.Str_ary_empty).Exec_delete();}
public void Rls() {
stmt_select = Db_stmt_.Rls(stmt_select);
stmt_insert = Db_stmt_.Rls(stmt_insert);

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.bldrs.wms.sites; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.wms.*;
import gplx.dbs.*;
class Site_specialpagealias_tbl implements Db_tbl {
private static final String tbl_name = "site_specialpagealias"; private final Db_meta_fld_list flds = new Db_meta_fld_list();
private static final String tbl_name = "site_specialpagealias"; private final Dbmeta_fld_list flds = new Dbmeta_fld_list();
private final String fld_site_abrv, fld_realname, fld_aliases;
private final Db_conn conn;
private Db_stmt stmt_select, stmt_insert, stmt_delete;
@@ -29,8 +29,8 @@ class Site_specialpagealias_tbl implements Db_tbl {
this.fld_aliases = flds.Add_str("aliases", 2048);
conn.Rls_reg(this);
}
public void Create_tbl() {conn.Ddl_create_tbl(Db_meta_tbl.new_(tbl_name, flds, Db_meta_idx.new_unique_by_name(tbl_name, Db_meta_idx.Bld_idx_name(tbl_name, Db_meta_idx.Bld_idx_name(tbl_name, "main")), fld_site_abrv, fld_realname)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Db_meta_fld.Ary_empty).Exec_delete();}
public void Create_tbl() {conn.Ddl_create_tbl(Dbmeta_tbl_itm.New(tbl_name, flds, Dbmeta_idx_itm.new_unique_by_name(tbl_name, Dbmeta_idx_itm.Bld_idx_name(tbl_name, Dbmeta_idx_itm.Bld_idx_name(tbl_name, "main")), fld_site_abrv, fld_realname)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Dbmeta_fld_itm.Str_ary_empty).Exec_delete();}
public void Rls() {
stmt_select = Db_stmt_.Rls(stmt_select);
stmt_insert = Db_stmt_.Rls(stmt_insert);

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.bldrs.wms.sites; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.wms.*;
import gplx.dbs.*;
class Site_statistic_tbl implements Db_tbl {
private static final String tbl_name = "site_statistic"; private final Db_meta_fld_list flds = new Db_meta_fld_list();
private static final String tbl_name = "site_statistic"; private final Dbmeta_fld_list flds = new Dbmeta_fld_list();
private final String fld_site_abrv, fld_pages, fld_articles, fld_edits, fld_images, fld_users, fld_activeusers, fld_admins, fld_jobs, fld_queued_massmessages;
private final Db_conn conn;
private Db_stmt stmt_select, stmt_insert, stmt_delete;
@@ -36,8 +36,8 @@ class Site_statistic_tbl implements Db_tbl {
this.fld_queued_massmessages = flds.Add_long("queued_massmessages");
conn.Rls_reg(this);
}
public void Create_tbl() {conn.Ddl_create_tbl(Db_meta_tbl.new_(tbl_name, flds, Db_meta_idx.new_unique_by_name(tbl_name, Db_meta_idx.Bld_idx_name(tbl_name, "main"), fld_site_abrv)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Db_meta_fld.Ary_empty).Exec_delete();}
public void Create_tbl() {conn.Ddl_create_tbl(Dbmeta_tbl_itm.New(tbl_name, flds, Dbmeta_idx_itm.new_unique_by_name(tbl_name, Dbmeta_idx_itm.Bld_idx_name(tbl_name, "main"), fld_site_abrv)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Dbmeta_fld_itm.Str_ary_empty).Exec_delete();}
public void Rls() {
stmt_select = Db_stmt_.Rls(stmt_select);
stmt_insert = Db_stmt_.Rls(stmt_insert);

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.bldrs.wms.sites; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.wms.*;
import gplx.dbs.*;
class Site_val_tbl implements Db_tbl {
private String tbl_name; private final Db_meta_fld_list flds = new Db_meta_fld_list();
private String tbl_name; private final Dbmeta_fld_list flds = new Dbmeta_fld_list();
private final String fld_site_abrv, fld_val;
private final Db_conn conn;
private Db_stmt stmt_select, stmt_insert, stmt_delete;
@@ -29,8 +29,8 @@ class Site_val_tbl implements Db_tbl {
this.fld_val = flds.Add_str("val", 255);
conn.Rls_reg(this);
}
public void Create_tbl() {conn.Ddl_create_tbl(Db_meta_tbl.new_(tbl_name, flds, Db_meta_idx.new_unique_by_name(tbl_name, Db_meta_idx.Bld_idx_name(tbl_name, "main"), fld_site_abrv, fld_val)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Db_meta_fld.Ary_empty).Exec_delete();}
public void Create_tbl() {conn.Ddl_create_tbl(Dbmeta_tbl_itm.New(tbl_name, flds, Dbmeta_idx_itm.new_unique_by_name(tbl_name, Dbmeta_idx_itm.Bld_idx_name(tbl_name, "main"), fld_site_abrv, fld_val)));}
public void Delete_all() {conn.Stmt_delete(tbl_name, Dbmeta_fld_itm.Str_ary_empty).Exec_delete();}
public void Rls() {
stmt_select = Db_stmt_.Rls(stmt_select);
stmt_insert = Db_stmt_.Rls(stmt_insert);