/* XOWA: the XOWA Offline Wiki Application Copyright (C) 2012-2017 gnosygnu@gmail.com XOWA is licensed under the terms of the General Public License (GPL) Version 3, or alternatively under the terms of the Apache License Version 2.0. You may use XOWA according to either of these licenses as is most appropriate for your project on a case-by-case basis. The terms of each license can be found in the source code repository: GPLv3 License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-GPLv3.txt Apache License: https://github.com/gnosygnu/xowa/blob/master/LICENSE-APACHE2.txt */ package gplx.dbs.updates; import gplx.*; import gplx.dbs.*; import gplx.dbs.stmts.*; /* sql = UPDATE page SET page_score = page_len WHERE page_id >= ? AND page_id < ? state = -1|100000 */ public class Sql_runner { private final Db_stmt_arg_list list = new Db_stmt_arg_list(); public Db_conn Conn() {return conn;} public void Conn_(Db_conn v) {conn = v;} private Db_conn conn; public boolean Quiet() {return quiet;} public void Quiet_(boolean v) {quiet = v;} private boolean quiet; public String Sql_fmt() {return sql_fmt;} public void Sql_fmt_(String v) {sql_fmt = v;} private String sql_fmt; // public Db_stmt_arg[] Sql_args() {return sql_args;} public void Sql_args_(Db_stmt_arg[] v) {sql_args = v;} private Db_stmt_arg[] sql_args; public String Msg() {return msg;} public void Msg_(String v) {msg = v;} private String msg; public String Fill_next(String state) { String[] vals = String_.Split(state, "|"); int val_lo = Int_.parse(vals[0]); int interval = Int_.parse(vals[1]); int val_hi = val_lo + interval; Db_stmt_arg arg = list.Get_at(0); arg.Val = val_lo; arg = list.Get_at(1); arg.Val = val_hi; return String_.Concat_with_str("|", Int_.To_str(val_hi), vals[1]); } public void Run() { Db_stmt stmt = conn.Stmt_sql(sql_fmt); // foreach (itme) Db_stmt_arg_list list = Db_stmt_arg_list Gfo_usr_dlg_.Instance.Note_many("", "", msg); stmt.Exec_update(); // increment ranges } }