Mass_parse: Refactor log_tbl

pull/620/head
gnosygnu 8 years ago
parent c869327a63
commit 063cc43047

@ -18,50 +18,44 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.parsers.logs; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; package gplx.xowa.parsers.logs; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*;
import gplx.dbs.*; import gplx.dbs.qrys.*; import gplx.dbs.engines.sqlite.*; import gplx.dbs.*; import gplx.dbs.qrys.*; import gplx.dbs.engines.sqlite.*;
public class Xop_log_basic_tbl implements Db_tbl { public class Xop_log_basic_tbl implements Db_tbl {
public final Dbmeta_fld_list flds = new Dbmeta_fld_list();
public final String fld__log_id, fld__log_tid, fld__log_msg, fld__log_time, fld__page_id, fld__page_ttl, fld__args_len, fld__args_str, fld__src_len, fld__src_str;
private Db_stmt stmt_insert; private Db_stmt stmt_insert;
public Xop_log_basic_tbl(Db_conn conn){ public Xop_log_basic_tbl(Db_conn conn){
this.conn = conn; this.conn = conn;
this.tbl_name = "log_basic_temp";
this.fld__log_id = flds.Add_int_pkey_autonum("log_id");
this.fld__log_tid = flds.Add_int("log_tid");
this.fld__log_msg = flds.Add_str("log_msg", 255);
this.fld__log_time = flds.Add_int("log_time");
this.fld__page_id = flds.Add_int("page_id");
this.fld__page_ttl = flds.Add_str("page_ttl", 255);
this.fld__args_len = flds.Add_int("args_len");
this.fld__args_str = flds.Add_str("args_str", 4096);
this.fld__src_len = flds.Add_int("src_len");
this.fld__src_str = flds.Add_str("src_str", 4096);
conn.Rls_reg(this);
this.Create_tbl(); this.Create_tbl();
} }
public Db_conn Conn() {return conn;} private final Db_conn conn; public Db_conn Conn() {return conn;} private final Db_conn conn;
public String Tbl_name() {return TBL_NAME;} public String Tbl_name() {return tbl_name;} private final String tbl_name;
public void Create_tbl() {Sqlite_engine_.Tbl_create(conn, TBL_NAME, Tbl_sql);} public void Create_tbl() {conn.Meta_tbl_create(Dbmeta_tbl_itm.New(tbl_name, flds));}
public void Delete() {conn.Exec_qry(Db_qry_delete.new_all_(TBL_NAME));} public void Delete() {conn.Exec_qry(Db_qry_delete.new_all_(tbl_name));}
public void Insert(int log_tid, String log_msg, int log_time, int page_id, String page_ttl, int args_len, String args_str, int src_len, String src_str) { public void Insert(int log_tid, String log_msg, int log_time, int page_id, String page_ttl, int args_len, String args_str, int src_len, String src_str) {
if (stmt_insert == null) stmt_insert = Db_stmt_.new_insert_(conn, TBL_NAME, Fld_log_tid, Fld_log_msg, Fld_log_time, Fld_page_id, Fld_page_ttl, Fld_args_len, Fld_args_str, Fld_src_len, Fld_src_str); if (stmt_insert == null) stmt_insert = Db_stmt_.new_insert_(conn, tbl_name, fld__log_tid, fld__log_msg, fld__log_time, fld__page_id, fld__page_ttl, fld__args_len, fld__args_str, fld__src_len, fld__src_str);
stmt_insert.Clear() stmt_insert.Clear()
.Val_int(log_tid) .Val_int(fld__log_tid, log_tid)
.Val_str(log_msg) .Val_str(fld__log_msg, log_msg)
.Val_int(log_time) .Val_int(fld__log_time, log_time)
.Val_int(page_id) .Val_int(fld__page_id, page_id)
.Val_str(page_ttl) .Val_str(fld__page_ttl, page_ttl)
.Val_int(args_len) .Val_int(fld__args_len, args_len)
.Val_str(args_str) .Val_str(fld__args_str, args_str)
.Val_int(src_len) .Val_int(fld__src_len, src_len)
.Val_str(src_str) .Val_str(fld__src_str, src_str)
.Exec_insert(); .Exec_insert();
} }
public void Rls() { public void Rls() {
stmt_insert.Rls(); stmt_insert = Db_stmt_.Rls(stmt_insert);
} }
public static final String TBL_NAME = "log_basic_temp"
, Fld_log_tid = "log_tid", Fld_log_msg = "log_msg", Fld_log_time = "log_time"
, Fld_page_id = "page_id", Fld_page_ttl = "page_ttl"
, Fld_args_len = "args_len", Fld_args_str = "args_str"
, Fld_src_len = "src_len", Fld_src_str = "src_str"
;
private static final String Tbl_sql = String_.Concat_lines_nl
( "CREATE TABLE IF NOT EXISTS log_basic_temp"
, "( log_id integer NOT NULL PRIMARY KEY AUTOINCREMENT"
, ", log_tid integer NOT NULL"
, ", log_msg varchar(255) NOT NULL"
, ", log_time integer NOT NULL"
, ", page_id integer NOT NULL"
, ", page_ttl varchar(255) NOT NULL"
, ", args_len integer NOT NULL"
, ", args_str varchar(4096) NOT NULL"
, ", src_len integer NOT NULL"
, ", src_str varchar(4096) NOT NULL"
, ");"
);
} }

@ -41,8 +41,10 @@ public class Xop_log_mgr implements Gfo_invk {
public Xop_log_invoke_wkr Make_wkr_invoke() {return new Xop_log_invoke_wkr(this.Conn());} public Xop_log_invoke_wkr Make_wkr_invoke() {return new Xop_log_invoke_wkr(this.Conn());}
public Xop_log_property_wkr Make_wkr_property() {return new Xop_log_property_wkr(this.Conn());} public Xop_log_property_wkr Make_wkr_property() {return new Xop_log_property_wkr(this.Conn());}
public Xop_log_basic_wkr Make_wkr() { public Xop_log_basic_wkr Make_wkr() {
if (log_tbl == null) if (log_tbl == null) {
log_tbl = new Xop_log_basic_tbl(this.Conn()); log_tbl = new Xop_log_basic_tbl(this.Conn());
this.Conn().Meta_tbl_assert(log_tbl);
}
return new Xop_log_basic_wkr(log_tbl); return new Xop_log_basic_wkr(log_tbl);
} }
public void Commit_chk() { public void Commit_chk() {

@ -23,7 +23,10 @@ public class Xop_log_wkr_factory {
public Xop_log_invoke_wkr Make__invoke() {return new Xop_log_invoke_wkr(conn);} public Xop_log_invoke_wkr Make__invoke() {return new Xop_log_invoke_wkr(conn);}
public Xop_log_property_wkr Make__property() {return new Xop_log_property_wkr(conn);} public Xop_log_property_wkr Make__property() {return new Xop_log_property_wkr(conn);}
public Xop_log_basic_wkr Make__generic() { public Xop_log_basic_wkr Make__generic() {
if (log_tbl == null) log_tbl = new Xop_log_basic_tbl(conn); if (log_tbl == null) {
log_tbl = new Xop_log_basic_tbl(conn);
conn.Meta_tbl_assert(log_tbl);
}
return new Xop_log_basic_wkr(log_tbl); return new Xop_log_basic_wkr(log_tbl);
} }
} }

@ -25,14 +25,15 @@ class Xomath_check_mgr {
// get db, conn, rdr // get db, conn, rdr
Xob_db_file log_db = Xob_db_file.New__file_make(wiki.Fsys_mgr().Root_dir()); Xob_db_file log_db = Xob_db_file.New__file_make(wiki.Fsys_mgr().Root_dir());
Db_conn log_conn = log_db.Conn(); Db_conn log_conn = log_db.Conn();
Db_rdr rdr = log_conn.Stmt_sql("SELECT * FROM " + Xop_log_basic_tbl.TBL_NAME).Exec_select__rls_auto(); Xop_log_basic_tbl log_tbl = new Xop_log_basic_tbl(log_conn);
Db_rdr rdr = log_conn.Stmt_select_all(log_tbl.Tbl_name(), log_tbl.flds).Exec_select__rls_auto();
// loop // loop
try { try {
while (rdr.Move_next()) { while (rdr.Move_next()) {
// get page_id, src // get page_id, src
int page_id = rdr.Read_int(Xop_log_basic_tbl.Fld_page_id); int page_id = rdr.Read_int(log_tbl.fld__page_id);
byte[] src = rdr.Read_bry_by_str(Xop_log_basic_tbl.Fld_src_str); byte[] src = rdr.Read_bry_by_str(log_tbl.fld__src_str);
count_total++; count_total++;
src = Assert_flanking_math_ndes(page_id, src); src = Assert_flanking_math_ndes(page_id, src);

Loading…
Cancel
Save