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:
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user