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

Personal_wikis: Update invalid page_ids to valid page_ids

This commit is contained in:
gnosygnu
2017-02-18 11:09:32 -05:00
parent 95632e0e98
commit caa1eb2237
5 changed files with 37 additions and 27 deletions

View File

@@ -34,19 +34,10 @@ public class Srch_search_addon implements Xoax_addon_itm, Srch_search_addon_api
public void Search(Srch_search_qry qry, Srch_rslt_cbk cbk) {search_mgr.Search(qry, cbk);}
public void Clear_rslts_cache() {search_mgr.Clear_rslts_cache();}
public void Delete_links(int ns_id, int page_id) {
if (db_mgr.Tbl__link__len() == 0) return;// NOTE: personal_wikis may not have search_link; exit early else assert will fail; DATE:2017-02-15
int search_link_db_id = db_mgr.Tbl__link__get_idx(ns_id);
Srch_link_tbl search_link_tbl = db_mgr.Tbl__link__get_at(search_link_db_id);
if (search_link_tbl.conn.Meta_tbl_exists("search_link")) { // NOTE: personal_wikis may not have search_link; exit early else delete will fail; DATE:2017-02-15
search_link_tbl.Delete(page_id);
}
this.Clear_rslts_cache();
}
public void Update_links(int ns_id, int old_id, int new_id) {
int search_link_db_id = db_mgr.Tbl__link__get_idx(ns_id);
Srch_link_tbl search_link_tbl = db_mgr.Tbl__link__get_at(search_link_db_id);
if (search_link_tbl.conn.Meta_tbl_exists("search_link")) { // NOTE: personal_wikis may not have search_link; exit early else delete will fail; DATE:2017-02-15
search_link_tbl.Update_page_id(old_id, new_id);
}
search_link_tbl.Delete(page_id);
this.Clear_rslts_cache();
}

View File

@@ -99,6 +99,13 @@ public class Srch_db_mgr {
Tbl__link__ary__new(tbl__lreg, tbl__link__ary, db_mgr, 1, Bool_.N, null);
}
}
public void Update_links(int ns_id, int old_id, int new_id) {
if (this.Tbl__link__len() == 0) return;// NOTE: personal_wikis may not have search_link; exit early else assert will fail; DATE:2017-02-15
int search_link_db_id = this.Tbl__link__get_idx(ns_id);
Srch_link_tbl search_link_tbl = this.Tbl__link__get_at(search_link_db_id);
search_link_tbl.Update_page_id(old_id, new_id);
}
private static Srch_link_tbl Tbl__link__ary__set(Srch_link_tbl[] ary, int idx, Xow_db_file db) {
Srch_link_tbl tbl = new Srch_link_tbl(db.Conn());
ary[idx] = tbl;