From 64328be25c2744b976f751ce4f10e916dd66b300 Mon Sep 17 00:00:00 2001 From: gnosygnu Date: Wed, 19 Oct 2016 17:40:13 -0400 Subject: [PATCH] Dansguardian: Delete search_links from search_link database, not search_core database --- .../xowa/bldrs/cmds/texts/sqls/Xob_page_delete_cmd.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/sqls/Xob_page_delete_cmd.java b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/sqls/Xob_page_delete_cmd.java index 7d23a8250..16676aa89 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/sqls/Xob_page_delete_cmd.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/sqls/Xob_page_delete_cmd.java @@ -52,6 +52,8 @@ public class Xob_page_delete_cmd extends Xob_cmd_base { , "AND ptr.page_redirect_id = -1" , ";" )); + + String db_file_cur = ""; try { Xow_db_file[] db_file_ary = core_db.Tbl__db().Select_all(wiki.Data__core_mgr().Props(), wiki.Fsys_mgr().Root_dir()); int len = db_file_ary.length; @@ -66,16 +68,17 @@ public class Xob_page_delete_cmd extends Xob_cmd_base { break; case Xow_db_file_.Tid__text: db_file_is_text = Bool_.Y; break; case Xow_db_file_.Tid__cat: db_file_is_cat = Bool_.Y; break; - case Xow_db_file_.Tid__search_core: db_file_is_search = Bool_.Y; break; + case Xow_db_file_.Tid__search_link: db_file_is_search = Bool_.Y; break; // changed from search_data to search_link; DATE:2016-10-19 } + db_file_cur = db_file.Url().Raw(); 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 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 cat_link WHERE cl_from IN (SELECT page_id FROM page_filter);"); if (db_file_is_search) Run_sql(core_db_conn, db_file.Url(), db_id, "deleting search:" + db_id, "DELETE FROM 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) + if (db_file_is_text || db_file_is_cat || db_file_is_search) db_file.Conn().Env_vacuum(); } - } catch (Exception e) {Gfo_usr_dlg_.Instance.Warn_many("", "", "fatal error during page deletion: err=~{0}", Err_.Message_gplx_log(e));} + } catch (Exception e) {Gfo_usr_dlg_.Instance.Warn_many("", "", "fatal error during page deletion: cur=~{0} err=~{1}", db_file_cur, Err_.Message_gplx_log(e));} 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.Meta_tbl_delete("page_filter"); core_db_conn.Env_vacuum();