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

v2.10.3.1

This commit is contained in:
gnosygnu
2015-10-18 22:17:57 -04:00
parent 8e18af05b6
commit 4f43f51b18
1935 changed files with 12500 additions and 12889 deletions

View File

@@ -45,7 +45,7 @@ public class Db_conn {
public void Env_db_detach(String alias) {engine.Env_db_detach(alias);}
public void Env_vacuum() {Exec_sql_plog_ntx("vacuuming: url=" + this.Conn_info().Xto_api(), "VACUUM;");}
public void Ddl_create_tbl(Db_meta_tbl meta) {engine.Ddl_create_tbl(meta); engine.Ddl_create_idx(Gfo_usr_dlg_.Noop, meta.Idxs());}
public void Ddl_create_idx(Db_meta_idx... idxs) {engine.Ddl_create_idx(Gfo_usr_dlg_.I, idxs);}
public void Ddl_create_idx(Db_meta_idx... idxs) {engine.Ddl_create_idx(Gfo_usr_dlg_.Instance, idxs);}
public void Ddl_create_idx(Gfo_usr_dlg usr_dlg, Db_meta_idx... idxs) {engine.Ddl_create_idx(usr_dlg, idxs);}
public void Ddl_append_fld(String tbl, Db_meta_fld fld) {engine.Ddl_append_fld(tbl, fld);}
public void Ddl_delete_tbl(String tbl) {engine.Ddl_delete_tbl(tbl);}
@@ -59,18 +59,18 @@ public class Db_conn {
itm.Rls();
}
engine.Conn_term();
Db_conn_pool.I.Del(engine.Conn_info());
Db_conn_pool.Instance.Del(engine.Conn_info());
}
public int Exec_sql(String sql) {return this.Exec_qry(Db_qry_sql.dml_(sql));}
public Db_rdr Exec_sql_as_rdr_v2(String sql) {return this.Stmt_new(Db_qry_sql.dml_(sql)).Exec_select__rls_auto();}
public int Exec_sql_plog_ntx(String msg, String sql) {return Exec_sql_plog(Bool_.N, msg, sql);}
public int Exec_sql_plog_txn(String msg, String sql) {return Exec_sql_plog(Bool_.Y, msg, sql);}
public int Exec_sql_plog(boolean txn, String msg, String sql) {
Gfo_usr_dlg_.I.Plog_many("", "", msg);
Gfo_usr_dlg_.Instance.Plog_many("", "", msg);
if (txn) this.Txn_bgn(msg);
int rv = Exec_sql(sql);
if (txn) this.Txn_end();
Gfo_usr_dlg_.I.Plog_many("", "", "done:" + msg);
Gfo_usr_dlg_.Instance.Plog_many("", "", "done:" + msg);
return rv;
}
public int Exec_qry(Db_qry qry) {return Int_.cast(engine.Exec_as_obj(qry));}

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.dbs; import gplx.*;
import gplx.dbs.qrys.*;
public class Db_conn_ {
public static final Db_conn Noop = Db_conn_pool.I.Get_or_new(Db_conn_info_.Null);
public static final Db_conn Noop = Db_conn_pool.Instance.Get_or_new(Db_conn_info_.Null);
public static int Select_fld0_as_int_or(Db_conn p, String sql, int or) {
DataRdr rdr = DataRdr_.Null;
try {

View File

@@ -18,8 +18,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.dbs; import gplx.*;
public class Db_conn_bldr {
private Db_conn_bldr_wkr wkr;
public void Reg_default_sqlite() {wkr = Db_conn_bldr_wkr__sqlite.I; wkr.Clear_for_tests();}
public void Reg_default_mem() {wkr = Db_conn_bldr_wkr__mem.I; wkr.Clear_for_tests();}
public void Reg_default_sqlite() {wkr = Db_conn_bldr_wkr__sqlite.Instance; wkr.Clear_for_tests();}
public void Reg_default_mem() {wkr = Db_conn_bldr_wkr__mem.Instance; wkr.Clear_for_tests();}
public boolean Exists(Io_url url) {return wkr.Exists(url);}
public Db_conn Get(Io_url url) {return wkr.Get(url);}
public Db_conn New(Io_url url) {return wkr.New(url);}
@@ -32,5 +32,5 @@ public class Db_conn_bldr {
Db_conn rv = wkr.Get(url);
return rv == null ? Db_conn_.Noop : rv;
}
public static final Db_conn_bldr I = new Db_conn_bldr(); Db_conn_bldr() {}
public static final Db_conn_bldr Instance = new Db_conn_bldr(); Db_conn_bldr() {}
}

View File

@@ -25,25 +25,25 @@ public interface Db_conn_bldr_wkr {
}
class Db_conn_bldr_wkr__sqlite implements Db_conn_bldr_wkr {
public void Clear_for_tests() {}
public boolean Exists(Io_url url) {return Io_mgr.I.ExistsFil(url);}
public boolean Exists(Io_url url) {return Io_mgr.Instance.ExistsFil(url);}
public Db_conn Get(Io_url url) {
if (!Io_mgr.I.ExistsFil(url)) return null;
if (!Io_mgr.Instance.ExistsFil(url)) return null;
Db_conn_info db_url = Db_conn_info_.sqlite_(url);
return Db_conn_pool.I.Get_or_new(db_url);
return Db_conn_pool.Instance.Get_or_new(db_url);
}
public Db_conn New(Io_url url) {
Io_mgr.I.CreateDirIfAbsent(url.OwnerDir()); // must assert that dir exists
Io_mgr.Instance.CreateDirIfAbsent(url.OwnerDir()); // must assert that dir exists
Db_conn_info db_url = Sqlite_conn_info.make_(url);
Db_conn conn = Db_conn_pool.I.Get_or_new(db_url);
Db_conn conn = Db_conn_pool.Instance.Get_or_new(db_url);
Sqlite_engine_.Pragma_page_size(conn, 4096);
// conn.Conn_term(); // close conn after PRAGMA adjusted
return conn;
}
public static final Db_conn_bldr_wkr__sqlite I = new Db_conn_bldr_wkr__sqlite(); Db_conn_bldr_wkr__sqlite() {}
public static final Db_conn_bldr_wkr__sqlite Instance = new Db_conn_bldr_wkr__sqlite(); Db_conn_bldr_wkr__sqlite() {}
}
class Db_conn_bldr_wkr__mem implements Db_conn_bldr_wkr {
private final Hash_adp hash = Hash_adp_.new_();
public void Clear_for_tests() {hash.Clear(); Db_conn_pool.I.Clear();}
public void Clear_for_tests() {hash.Clear(); Db_conn_pool.Instance.Clear();}
public boolean Exists(Io_url url) {
String io_url_str = url.Xto_api();
return hash.Has(io_url_str);
@@ -51,12 +51,12 @@ class Db_conn_bldr_wkr__mem implements Db_conn_bldr_wkr {
public Db_conn Get(Io_url url) {
String io_url_str = url.Xto_api();
if (!hash.Has(io_url_str)) return null;
return Db_conn_pool.I.Get_or_new__mem(url.Xto_api());
return Db_conn_pool.Instance.Get_or_new__mem(url.Xto_api());
}
public Db_conn New(Io_url url) {
String io_url_str = url.Xto_api();
hash.Add(io_url_str, io_url_str);
return Db_conn_pool.I.Get_or_new__mem(url.Xto_api());
return Db_conn_pool.Instance.Get_or_new__mem(url.Xto_api());
}
public static final Db_conn_bldr_wkr__mem I = new Db_conn_bldr_wkr__mem(); Db_conn_bldr_wkr__mem() {}
public static final Db_conn_bldr_wkr__mem Instance = new Db_conn_bldr_wkr__mem(); Db_conn_bldr_wkr__mem() {}
}

View File

@@ -19,19 +19,19 @@ package gplx.dbs; import gplx.*;
import gplx.dbs.engines.nulls.*; import gplx.dbs.engines.mems.*; import gplx.dbs.engines.sqlite.*; import gplx.dbs.engines.tdbs.*;
import gplx.dbs.engines.mysql.*; import gplx.dbs.engines.postgres.*;
public class Db_conn_info_ {
public static final Db_conn_info Null = Noop_conn_info.I;
public static final Db_conn_info Null = Noop_conn_info.Instance;
public static final Db_conn_info Test = Mysql_conn_info.new_("127.0.0.1", "unit_tests", "root", "mysql7760");
public static Db_conn_info parse(String raw) {return Db_conn_info_pool._.Parse(raw);}
public static Db_conn_info parse(String raw) {return Db_conn_info_pool.Instance.Parse(raw);}
public static Db_conn_info sqlite_(Io_url url) {return Sqlite_conn_info.load_(url);}
public static Db_conn_info tdb_(Io_url url) {return Tdb_conn_info.new_(url);}
public static Db_conn_info mem_(String db) {return Db_conn_info__mem.new_(db);}
public static final String Key_tdb = Tdb_conn_info.Tid_const;
}
class Db_conn_info_pool {
private Ordered_hash regy = Ordered_hash_.new_();
private Ordered_hash regy = Ordered_hash_.New();
public Db_conn_info_pool() {
this.Add(Noop_conn_info.I).Add(Tdb_conn_info._).Add(Mysql_conn_info._).Add(Postgres_conn_info._).Add(Sqlite_conn_info._);
this.Add(Db_conn_info__mem.I);
this.Add(Noop_conn_info.Instance).Add(Tdb_conn_info.Instance).Add(Mysql_conn_info.Instance).Add(Postgres_conn_info.Instance).Add(Sqlite_conn_info.Instance);
this.Add(Db_conn_info__mem.Instance);
}
public Db_conn_info_pool Add(Db_conn_info itm) {regy.Add_if_dupe_use_nth(itm.Tid(), itm); return this;}
public Db_conn_info Parse(String raw) {// assume each pair has format of: name=val;
@@ -52,5 +52,5 @@ class Db_conn_info_pool {
}
catch(Exception exc) {throw Err_.new_parse_exc(exc, Db_conn_info.class, raw);}
}
public static final Db_conn_info_pool _ = new Db_conn_info_pool();
public static final Db_conn_info_pool Instance = new Db_conn_info_pool();
}

View File

@@ -47,6 +47,6 @@ public abstract class Db_conn_info__base implements Db_conn_info {
bfr.Add_str_u8(itm);
bfr.Add_byte(i % 2 == 0 ? Byte_ascii.Eq : Byte_ascii.Semic);
}
return bfr.Xto_str();
return bfr.To_str();
}
}

View File

@@ -19,7 +19,7 @@ package gplx.dbs; import gplx.*;
import org.junit.*;
public class Db_conn_info_tst {
@Before public void setup() {
regy.Add(Db_conn_info_mock._);
regy.Add(Db_conn_info_mock.Instance);
} private final Db_conn_info_pool regy = new Db_conn_info_pool();
@Test public void Parse() {
tst_Parse("gplx_key=mock;id=1;", kv_("id", "1")); // one; gplx_key removed
@@ -42,5 +42,5 @@ class Db_conn_info_mock extends Db_conn_info__base {
rv.kvs[i] = m.Args_getAt(i);
return rv;
}
public static final Db_conn_info_mock _ = new Db_conn_info_mock(); Db_conn_info_mock() {}
public static final Db_conn_info_mock Instance = new Db_conn_info_mock(); Db_conn_info_mock() {}
}

View File

@@ -39,8 +39,8 @@ public class Db_conn_pool {
for (Db_engine itm : ary)
engine_hash.Add(itm.Tid(), itm);
}
public static final Db_conn_pool I = new Db_conn_pool(); Db_conn_pool() {this.Init();}
public static final Db_conn_pool Instance = new Db_conn_pool(); Db_conn_pool() {this.Init();}
private void Init() {
this.Engines__add(Noop_engine._, TdbEngine._, Mysql_engine._, Postgres_engine._, Sqlite_engine._, Db_engine__mem._);
this.Engines__add(Noop_engine.Instance, TdbEngine.Instance, Mysql_engine.Instance, Postgres_engine.Instance, Sqlite_engine.Instance, Db_engine__mem.Instance);
}
}

View File

@@ -20,7 +20,7 @@ import org.junit.*;
import gplx.core.criterias.*;
public class Db_crt_tst {
@Before public void setup() {
row = GfoNde_.vals_(GfoFldList_.new_().Add("id", IntClassXtn._).Add("name", StringClassXtn._), Object_.Ary(1, "me"));
row = GfoNde_.vals_(GfoFldList_.new_().Add("id", IntClassXtn.Instance).Add("name", StringClassXtn.Instance), Object_.Ary(1, "me"));
}
@Test public void EqualTest() {
crt = Db_crt_.eq_("id", 1);

View File

@@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.dbs; import gplx.*;
public class Db_meta_fld_list {
private final Ordered_hash flds = Ordered_hash_.new_();
private final Ordered_hash flds = Ordered_hash_.New();
private final List_adp keys = List_adp_.new_();
public void Clear() {flds.Clear(); keys.Clear();}
public Db_meta_fld Get_by(String name) {return (Db_meta_fld)flds.Get_by(name);}

View File

@@ -23,7 +23,7 @@ public class Db_meta_idx {
public String Name() {return name;} private final String name;
public boolean Unique() {return unique;} private final boolean unique;
public String[] Flds() {return flds;} private final String[] flds;
public String To_sql_create() {return Db_sqlbldr__sqlite.I.Bld_create_idx(this);}
public String To_sql_create() {return Db_sqlbldr__sqlite.Instance.Bld_create_idx(this);}
public static Db_meta_idx new_unique_by_name(String tbl, String idx_name, String... flds) {return new Db_meta_idx(tbl, idx_name, Bool_.Y, flds);}
public static Db_meta_idx new_normal_by_name(String tbl, String idx_name, String... flds) {return new Db_meta_idx(tbl, idx_name, Bool_.N, flds);}
public static Db_meta_idx new_unique_by_tbl(String tbl, String name, String... flds) {return new Db_meta_idx(tbl, Bld_idx_name(tbl, name), Bool_.Y, flds);}

View File

@@ -26,7 +26,7 @@ public class Db_meta_tbl {
public Db_meta_fld[] Flds() {return flds;} private final Db_meta_fld[] flds;
public boolean Flds_has(String fld) {
if (flds_hash == null) {
flds_hash = Ordered_hash_.new_();
flds_hash = Ordered_hash_.New();
int len = flds.length;
for (int i = 0; i < len; ++i) {
Db_meta_fld fld_itm = flds[i];
@@ -36,7 +36,7 @@ public class Db_meta_tbl {
return flds_hash.Has(fld);
} private Ordered_hash flds_hash;
public Db_meta_idx[] Idxs() {return idxs;} private final Db_meta_idx[] idxs;
public String To_sql_create() {return Db_sqlbldr__sqlite.I.Bld_create_tbl(this);}
public String To_sql_create() {return Db_sqlbldr__sqlite.Instance.Bld_create_tbl(this);}
public static Db_meta_tbl new_(String name, Db_meta_fld_list flds, Db_meta_idx... idxs) {return new Db_meta_tbl(name, flds.To_fld_ary(), idxs);}
public static Db_meta_tbl new_(String name, Db_meta_fld[] flds, Db_meta_idx... idxs) {return new Db_meta_tbl(name, flds, idxs);}
public static Db_meta_tbl new_(String name, Db_meta_fld... flds) {return new Db_meta_tbl(name, flds, null);}

View File

@@ -30,7 +30,7 @@ class Db_sql_qry__select {
// public int Limit() {return limit;} private int limit;
// public int Offset() {return offset;} private int offset;
public Db_sql_qry__select Select_all_() {this.select = Db_sql_col_.Ary(new Db_sql_col__all(0, from)); return this;}
public Db_sql_qry__select Select_flds_(String... ary) {this.select = Db_sql_col_bldr.I.new_fld_many(ary); return this;}
public Db_sql_qry__select Select_flds_(String... ary) {this.select = Db_sql_col_bldr.Instance.new_fld_many(ary); return this;}
public static Db_sql_qry__select new_(String from) {return new Db_sql_qry__select(from);}
}
class Db_sql_bldr {
@@ -63,7 +63,7 @@ class Db_sql_col_bldr {
}
return (Db_sql_col[])tmp_list.To_ary_and_clear(Db_sql_col.class);
}
public static final Db_sql_col_bldr I = new Db_sql_col_bldr(); Db_sql_col_bldr() {}
public static final Db_sql_col_bldr Instance = new Db_sql_col_bldr(); Db_sql_col_bldr() {}
}
class Db_sql_col__name {
public Db_sql_col__name(int ord, String key) {this.ord = ord; this.key = key;}

View File

@@ -26,6 +26,7 @@ public interface Db_stmt extends RlsAble {
Db_stmt Val_byte(byte v);
Db_stmt Crt_int(String k, int v);
Db_stmt Val_int(String k, int v);
Db_stmt Val_int_by_bool(String k, boolean v);
Db_stmt Val_int(int v);
Db_stmt Crt_long(String k, long v);
Db_stmt Val_long(String k, long v);

View File

@@ -65,16 +65,16 @@ public abstract class Db_engine_sql_base implements Db_engine {
}
}
public void Ddl_append_fld(String tbl, Db_meta_fld fld) {
Gfo_usr_dlg_.I.Plog_many("", "", "adding column to table: db=~{0} tbl=~{1} fld=~{2}", conn_info.Database(), tbl, fld.Name());
Gfo_usr_dlg_.Instance.Plog_many("", "", "adding column to table: db=~{0} tbl=~{1} fld=~{2}", conn_info.Database(), tbl, fld.Name());
try {
Exec_as_int(Db_sqlbldr__sqlite.I.Bld_alter_tbl_add(tbl, fld));
Gfo_usr_dlg_.I.Plog_many("", "", "column added to table: db=~{0} tbl=~{1} fld=~{2}", conn_info.Database(), tbl, fld.Name());
Exec_as_int(Db_sqlbldr__sqlite.Instance.Bld_alter_tbl_add(tbl, fld));
Gfo_usr_dlg_.Instance.Plog_many("", "", "column added to table: db=~{0} tbl=~{1} fld=~{2}", conn_info.Database(), tbl, fld.Name());
}
catch (Exception e) { // catch error if column already added to table
Gfo_usr_dlg_.I.Warn_many("", "", "column not added to table: db=~{0} tbl=~{1} fld=~{2} err=~{3}", conn_info.Database(), tbl, fld.Name(), Err_.Message_gplx_full(e));
Gfo_usr_dlg_.Instance.Warn_many("", "", "column not added to table: db=~{0} tbl=~{1} fld=~{2} err=~{3}", conn_info.Database(), tbl, fld.Name(), Err_.Message_gplx_full(e));
}
}
public void Ddl_delete_tbl(String tbl) {Exec_as_int(Db_sqlbldr__sqlite.I.Bld_drop_tbl(tbl));}
public void Ddl_delete_tbl(String tbl) {Exec_as_int(Db_sqlbldr__sqlite.Instance.Bld_drop_tbl(tbl));}
@gplx.Virtual public void Env_db_attach(String alias, Io_url db_url) {}
@gplx.Virtual public void Env_db_detach(String alias) {}
@gplx.Virtual public boolean Meta_tbl_exists(String tbl) {return false;}

View File

@@ -29,5 +29,5 @@ public class Db_conn_info__mem extends Db_conn_info__base {
, "database", database
));
}
public static final Db_conn_info__mem I = new Db_conn_info__mem(); Db_conn_info__mem() {}
public static final Db_conn_info__mem Instance = new Db_conn_info__mem(); Db_conn_info__mem() {}
}

View File

@@ -52,5 +52,5 @@ public class Db_engine__mem implements Db_engine {
return mem_tbl.Meta().Flds_has(fld);
}
// public boolean Meta_fld_exists(String name) {return tbl_hash.Has(name);}
public static final Db_engine__mem _ = new Db_engine__mem(); Db_engine__mem() {}
public static final Db_engine__mem Instance = new Db_engine__mem(); Db_engine__mem() {}
}

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.dbs.engines.mems; import gplx.*; import gplx.dbs.*; import gplx.dbs.engines.*;
public class Db_stmt__mem implements Db_stmt {
private static final String Key_na = ""; // key is not_available; only called by procs with signature of Val(<type> v);
private final Ordered_hash val_list = Ordered_hash_.new_();
private final Ordered_hash val_list = Ordered_hash_.New();
public Db_stmt__mem(Db_engine__mem engine, Db_qry qry) {Ctor_stmt(engine, qry);} private Db_engine__mem engine;
public void Ctor_stmt(Db_engine engine, Db_qry qry) {this.engine = (Db_engine__mem)engine; this.qry = qry;}
public Hash_adp Crts() {return crt_hash;} private final Hash_adp crt_hash = Hash_adp_.new_();
@@ -45,6 +45,7 @@ public class Db_stmt__mem implements Db_stmt {
return this;
}
public Db_stmt Crt_int(String k, int v) {return Add_int(Bool_.Y, k, v);}
public Db_stmt Val_int_by_bool(String k, boolean v) {return Add_int(Bool_.N, k, v ? 1 : 0);}
public Db_stmt Val_int(String k, int v) {return Add_int(Bool_.N, k, v);}
public Db_stmt Val_int(int v) {return Add_int(Bool_.N, Key_na, v);}
private Db_stmt Add_int(boolean where, String k, int v) {
@@ -101,7 +102,7 @@ public class Db_stmt__mem implements Db_stmt {
try {
Bry_bfr bfr = Bry_bfr.new_();
gplx.ios.Io_stream_rdr_.Load_all_to_bfr(bfr, v);
Add("", Bool_.N, bfr.Xto_str_and_clear());
Add("", Bool_.N, bfr.To_str_and_clear());
} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "rdr", "val", v);}
return this;
}

View File

@@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.dbs.engines.mems; import gplx.*; import gplx.dbs.*; import gplx.dbs.engines.*;
public class Mem_row implements GfoInvkAble {
private final Ordered_hash hash = Ordered_hash_.new_();
private final Ordered_hash hash = Ordered_hash_.New();
public Object Get_by(String key) {return hash.Get_by(key);}
public Object Get_at(int i) {return hash.Get_at(i);}
public void Set_by(String key, Object val) {hash.Add_if_dupe_use_nth(key, val);}

View File

@@ -37,5 +37,5 @@ public class Mysql_conn_info extends Db_conn_info__base {
rv.pwd = m.ReadStr("pwd");
return rv;
}
public static final Mysql_conn_info _ = new Mysql_conn_info(); Mysql_conn_info() {}
public static final Mysql_conn_info Instance = new Mysql_conn_info(); Mysql_conn_info() {}
}

View File

@@ -31,7 +31,7 @@ public class Mysql_engine extends Db_engine_sql_base {
Mysql_conn_info conn_info_as_mysql = (Mysql_conn_info)conn_info;
return Conn_make_by_url("jdbc:mysql://localhost/" + conn_info_as_mysql.Database() + "?characterEncoding=UTF8", conn_info_as_mysql.Uid(), conn_info_as_mysql.Pwd());
}
public static final Mysql_engine _ = new Mysql_engine(); Mysql_engine() {}
public static final Mysql_engine Instance = new Mysql_engine(); Mysql_engine() {}
}
class Mysql_rdr extends Db_data_rdr {
//PATCH:MYSQL:byte actually returned as int by Jdbc ResultSet (or MYSQL impmentation); convert to byte

View File

@@ -19,5 +19,5 @@ package gplx.dbs.engines.nulls; import gplx.*; import gplx.dbs.*; import gplx.db
public class Noop_conn_info extends Db_conn_info__base {
@Override public String Tid() {return Tid_const;} public static final String Tid_const = "null_db";
@Override public Db_conn_info New_self(String raw, GfoMsg m) {return this;}
public static final Noop_conn_info I = new Noop_conn_info(); Noop_conn_info() {this.Ctor("", "", "gplx_key=null_db", "");}
public static final Noop_conn_info Instance = new Noop_conn_info(); Noop_conn_info() {this.Ctor("", "", "gplx_key=null_db", "");}
}

View File

@@ -40,5 +40,5 @@ public class Noop_engine implements Db_engine {
public void Env_db_detach(String alias) {}
public boolean Meta_tbl_exists(String tbl) {return false;}
public boolean Meta_fld_exists(String tbl, String fld) {return false;}
public static final Noop_engine _ = new Noop_engine(); Noop_engine() {}
public static final Noop_engine Instance = new Noop_engine(); Noop_engine() {}
}

View File

@@ -38,5 +38,5 @@ public class Postgres_conn_info extends Db_conn_info__base {
rv.pwd = m.ReadStr("password");
return rv;
}
public static final Postgres_conn_info _ = new Postgres_conn_info(); Postgres_conn_info() {}
public static final Postgres_conn_info Instance = new Postgres_conn_info(); Postgres_conn_info() {}
}

View File

@@ -31,5 +31,5 @@ public class Postgres_engine extends Db_engine_sql_base {
Postgres_conn_info conn_info_as_postgres = (Postgres_conn_info)conn_info;
return Conn_make_by_url("jdbc:" + conn_info_as_postgres.Tid() + "://localhost/" + conn_info_as_postgres.Database(), conn_info_as_postgres.Uid(), conn_info_as_postgres.Pwd());
}
public static final Postgres_engine _ = new Postgres_engine(); Postgres_engine() {}
public static final Postgres_engine Instance = new Postgres_engine(); Postgres_engine() {}
}

View File

@@ -35,7 +35,7 @@ public class Sqlite_conn_info extends Db_conn_info__base {
));
}
public static Db_conn_info make_(Io_url url) {
Io_mgr.I.CreateDirIfAbsent(url.OwnerDir());
Io_mgr.Instance.CreateDirIfAbsent(url.OwnerDir());
return Db_conn_info_.parse(Bld_raw
( "gplx_key" , Tid_const
, "data source" , url.Xto_api()
@@ -43,5 +43,5 @@ public class Sqlite_conn_info extends Db_conn_info__base {
));
}
public static final Sqlite_conn_info _ = new Sqlite_conn_info(); Sqlite_conn_info() {}
public static final Sqlite_conn_info Instance = new Sqlite_conn_info(); Sqlite_conn_info() {}
}

View File

@@ -54,7 +54,7 @@ public class Sqlite_engine extends Db_engine_sql_base {
Connection rv = Conn_make_by_url("jdbc:sqlite://" + String_.Replace(conn_info_as_sqlite.Url().Raw(), "\\", "/"), "", "");
return rv;
}
public static final Sqlite_engine _ = new Sqlite_engine();
public static final Sqlite_engine Instance = new Sqlite_engine();
}
class Db_rdr__sqlite extends Db_rdr__basic { @Override public byte Read_byte(String k) {try {return (byte)Int_.cast(rdr.getObject(k));} catch (Exception e) {throw Err_.new_exc(e, "db", "read failed", "k", k, "type", Byte_.Cls_val_name);}}
@Override public boolean Read_bool_by_byte(String k) {

View File

@@ -51,7 +51,7 @@ public class Sqlite_engine_ {
p.Exec_qry(qry);
}
public static void Pragma_page_size(Db_conn p, int val) {
Db_qry qry = Db_qry_sql.ddl_("PRAGMA page_size = " + Int_.Xto_str(val) + ";");
Db_qry qry = Db_qry_sql.ddl_("PRAGMA page_size = " + Int_.To_str(val) + ";");
p.Exec_qry(qry);
}
public static void Idx_create(Gfo_usr_dlg usr_dlg, Db_conn conn, String tbl, Db_meta_idx[] idx_ary) {
@@ -75,10 +75,10 @@ public class Sqlite_engine_ {
}
}
public static Db_conn Conn_load_or_make_(Io_url url, Bool_obj_ref created) {
boolean exists = Io_mgr.I.ExistsFil(url);
boolean exists = Io_mgr.Instance.ExistsFil(url);
created.Val_(!exists);
Db_conn_info connect = exists ? Sqlite_conn_info.load_(url) : Sqlite_conn_info.make_(url);
Db_conn p = Db_conn_pool.I.Get_or_new(connect);
Db_conn p = Db_conn_pool.Instance.Get_or_new(connect);
if (!exists)
Pragma_page_size(p, 4096);
return p;

View File

@@ -34,7 +34,7 @@ public class Sqlite_schema_mgr {
}
private void Init(Db_engine engine) {
init = false;
Gfo_usr_dlg_.I.Log_many("", "", "db.schema.load.bgn: conn=~{0}", engine.Conn_info().Xto_api());
Gfo_usr_dlg_.Instance.Log_many("", "", "db.schema.load.bgn: conn=~{0}", engine.Conn_info().Xto_api());
Meta_parser__tbl tbl_parser = new Meta_parser__tbl();
Db_qry__select_in_tbl qry = Db_qry__select_in_tbl.new_("sqlite_master", String_.Ary_empty, String_.Ary("type", "name", "sql"), Db_qry__select_in_tbl.Order_by_null);
Db_rdr rdr = engine.New_stmt_prep(qry).Exec_select__rls_auto();
@@ -56,11 +56,11 @@ public class Sqlite_schema_mgr {
idx_mgr.Add(idx_itm);
break;
default:
Gfo_usr_dlg_.I.Log_many("", "", "db.schema.unknown type: conn=~{0} type=~{1} name=~{2} sql=~{3}", engine.Conn_info().Xto_api(), type_str, name, sql);
Gfo_usr_dlg_.Instance.Log_many("", "", "db.schema.unknown type: conn=~{0} type=~{1} name=~{2} sql=~{3}", engine.Conn_info().Xto_api(), type_str, name, sql);
break;
}
}
} finally {rdr.Rls();}
Gfo_usr_dlg_.I.Log_many("", "", "db.schema.load.end");
Gfo_usr_dlg_.Instance.Log_many("", "", "db.schema.load.end");
}
}

View File

@@ -43,7 +43,7 @@ public class Sqlite_txn_mgr {
txn_list.Add(name);
}
public String Txn_end() {
if (txn_list.Count() == 0) {Gfo_usr_dlg_.I.Warn_many("", "", "no txns in stack;"); return "";}
if (txn_list.Count() == 0) {Gfo_usr_dlg_.Instance.Warn_many("", "", "no txns in stack;"); return "";}
String txn_last = (String)List_adp_.Pop_last(txn_list);
if (txn_list.Count() == 0) {// no txns left; commit it
engine.Exec_as_obj(Db_qry_sql.xtn_("COMMIT TRANSACTION;"));
@@ -54,7 +54,7 @@ public class Sqlite_txn_mgr {
return txn_last;
}
public void Txn_cxl() {
if (txn_list.Count() == 0) {Gfo_usr_dlg_.I.Warn_many("", "", "no txns in stack;"); return;}
if (txn_list.Count() == 0) {Gfo_usr_dlg_.Instance.Warn_many("", "", "no txns in stack;"); return;}
String txn_last = (String)List_adp_.Pop_last(txn_list);
if (txn_list.Count() == 0) {// no txns left; rollback
engine.Exec_as_obj(Db_qry_sql.xtn_("ROLLBACK TRANSACTION;"));
@@ -64,7 +64,7 @@ public class Sqlite_txn_mgr {
engine.Exec_as_obj(Db_qry_sql.xtn_(String_.Format("ROLBACK TRANSACTION TO SAVEPOINT {0};", txn_last)));
}
public void Txn_sav() {
if (txn_list.Count() == 0) {Gfo_usr_dlg_.I.Warn_many("", "", "no txns in stack;"); return;}
if (txn_list.Count() == 0) {Gfo_usr_dlg_.Instance.Warn_many("", "", "no txns in stack;"); return;}
String name = (String)txn_list.Get_at(txn_list.Count() - 1);
this.Txn_end(); this.Txn_bgn(name);
}

View File

@@ -19,7 +19,7 @@ package gplx.dbs.engines.tdbs; import gplx.*; import gplx.dbs.*; import gplx.dbs
class TdbDbLoadMgr {
public TdbDatabase LoadTbls(Io_url dbInfo) {
TdbDatabase db = TdbDatabase.new_(dbInfo);
if (!Io_mgr.I.ExistsFil(dbInfo)) {
if (!Io_mgr.Instance.ExistsFil(dbInfo)) {
db.IsNew_set(true);
return db;
}
@@ -42,7 +42,7 @@ class TdbDbLoadMgr {
if (db.Files().Count() == 0) throw Err_.new_wo_type("fatal error: db has no files", "connectInfo", db.DbUrl());
}
DataRdr MakeDataRdr(Io_url fil) {
String text = Io_mgr.I.LoadFilStr(fil);
String text = Io_mgr.Instance.LoadFilStr(fil);
return TdbStores.rdr_(text);
}
public static TdbDbLoadMgr new_() {return new TdbDbLoadMgr();} TdbDbLoadMgr() {}

View File

@@ -48,7 +48,7 @@ class TdbDbSaveMgr {
TdbTable tbl = (TdbTable)tblObj;
tbl.DataObj_Wtr(wtr);
}
Io_mgr.I.SaveFilStr(fil.Path(), wtr.To_str());
Io_mgr.Instance.SaveFilStr(fil.Path(), wtr.To_str());
}
List_adp FetchTablesWithSamePath(TdbDatabase db, Io_url filPath) {
List_adp list = List_adp_.new_();

View File

@@ -67,8 +67,8 @@ public class TdbDbSaveMgr_tst {
, "================================, ,\" \",//"
);
TdbTable tbl = db.MakeTbl("tbl", TdbFile.MainFileId);
tbl.Flds().Add("id", IntClassXtn._);
tbl.Flds().Add("name", StringClassXtn._);
tbl.Flds().Add("id", IntClassXtn.Instance);
tbl.Flds().Add("name", StringClassXtn.Instance);
tbl.DataObj_Wtr(wtr);
String actl = wtr.To_str();

View File

@@ -41,7 +41,7 @@ public class TdbEngine implements Db_engine {
Db_qryWkr wkr = (Db_qryWkr)wkrs.Get_by_or_fail(qry.Tid());
return wkr.Exec(this, qry);
}
public Db_stmt New_stmt_prep(Db_qry qry) {return new Db_stmt_sql().Parse(qry, Sql_qry_wtr_.I.Xto_str(qry, true));}
public Db_stmt New_stmt_prep(Db_qry qry) {return new Db_stmt_sql().Parse(qry, Sql_qry_wtr_.Instance.Xto_str(qry, true));}
public Object New_stmt_prep_as_obj(String sql) {throw Err_.new_unimplemented();}
public Db_rdr New_rdr__rls_manual(Object rdr_obj, String sql) {return Db_rdr_.Empty;}
public Db_rdr New_rdr__rls_auto(Db_stmt stmt, Object rdr_obj, String sql) {return Db_rdr_.Empty;}
@@ -67,10 +67,10 @@ public class TdbEngine implements Db_engine {
public boolean Meta_fld_exists(String tbl, String fld) {return false;}
Hash_adp wkrs = Hash_adp_.new_(); TdbDbLoadMgr loadMgr = TdbDbLoadMgr.new_(); TdbDbSaveMgr saveMgr = TdbDbSaveMgr.new_();
public static final TdbEngine _ = new TdbEngine();
public static final TdbEngine Instance = new TdbEngine();
void CtorTdbEngine(Db_conn_info conn_info) {
this.conn_info = conn_info;
wkrs.Add(Db_qry_.Tid_select, TdbSelectWkr._);
wkrs.Add(Db_qry_.Tid_select, TdbSelectWkr.Instance);
wkrs.Add(Db_qry_.Tid_insert, TdbInsertWkr.new_());
wkrs.Add(Db_qry_.Tid_update, TdbUpdateWkr.new_());
wkrs.Add(Db_qry_.Tid_delete, TdbDeleteWkr.new_());

View File

@@ -59,5 +59,5 @@ public class TdbFileList extends Ordered_hash_base {
DsvStoreLayout layout;
public static final String StoreTblName = "_files";
static final String Fld_id = "id"; static final String Fld_path = "url";
static final GfoFldList FldList = GfoFldList_.new_().Add(Fld_id, IntClassXtn._).Add(Fld_path, StringClassXtn._).Add("format", StringClassXtn._);
static final GfoFldList FldList = GfoFldList_.new_().Add(Fld_id, IntClassXtn.Instance).Add(Fld_path, StringClassXtn.Instance).Add("format", StringClassXtn.Instance);
}

View File

@@ -20,7 +20,7 @@ import org.junit.*;
import gplx.ios.*; /*IoMgrFxt*/ import gplx.dbs.qrys.*;
public class TdbFlush_tst {
@Before public void setup() {
Io_mgr.I.InitEngine_mem();
Io_mgr.Instance.InitEngine_mem();
engine = fx_engine.run_MakeEngine(dbPath);
}
TdbEngine engine; Io_url dbPath = Io_url_.mem_fil_("mem/dir/db0.dsv"); DateAdp time = DateAdp_.parse_gplx("2001-01-01");
@@ -82,14 +82,14 @@ public class TdbFlush_tst {
class TdbEngineFxt {
public TdbEngine run_MakeEngine(Io_url url) {
Db_conn_info connectInfo = Db_conn_info_.tdb_(url);
TdbEngine engine = (TdbEngine)TdbEngine._.New_clone(connectInfo);
TdbEngine engine = (TdbEngine)TdbEngine.Instance.New_clone(connectInfo);
engine.Conn_open();
return engine;
}
public TdbFile run_MakeFile(TdbEngine engine, Io_url url) {return engine.Db().MakeFile(url);}
public TdbTable run_MakeTbl(TdbEngine engine, String tblName, int srcId) {
TdbTable rv = engine.Db().MakeTbl(tblName, srcId);
rv.Flds().Add("id", IntClassXtn._);
rv.Flds().Add("id", IntClassXtn.Instance);
return rv;
}
public void run_InsertRow(TdbEngine engine, String tblName, int idVal) {
@@ -106,14 +106,14 @@ class TdbEngineFxt {
public static TdbEngineFxt new_() {return new TdbEngineFxt();} TdbEngineFxt() {}
}
class IoMgrFxt {
public void run_UpdateFilModifiedTime(Io_url url, DateAdp val) {Io_mgr.I.UpdateFilModifiedTime(url, val);}
public void run_UpdateFilModifiedTime(Io_url url, DateAdp val) {Io_mgr.Instance.UpdateFilModifiedTime(url, val);}
public void tst_QueryFilModified(boolean expdMatch, Io_url url, DateAdp expt) {
IoItmFil filItem = Io_mgr.I.QueryFil(url);
IoItmFil filItem = Io_mgr.Instance.QueryFil(url);
DateAdp actl = filItem.ModifiedTime();
boolean actlMatch = String_.Eq(expt.XtoStr_gplx(), actl.XtoStr_gplx());
Tfds.Eq(expdMatch, actlMatch, expt.XtoStr_gplx() + (expdMatch ? "!=" : "==") + actl.XtoStr_gplx());
}
public void tst_Exists(boolean expd, Io_url url) {Tfds.Eq(expd, Io_mgr.I.ExistsFil(url));}
public void tst_Exists(boolean expd, Io_url url) {Tfds.Eq(expd, Io_mgr.Instance.ExistsFil(url));}
public static IoMgrFxt new_() {return new IoMgrFxt();} IoMgrFxt() {}
}

View File

@@ -29,7 +29,7 @@ class TdbInsertWkr implements Db_qryWkr {
}
int InsertRowsBySelect(TdbEngine engine, TdbTable tbl, Db_qry_insert insert) {
int count = 0;
DataRdr rdr = (DataRdr)TdbSelectWkr._.Exec(engine, insert.Select());
DataRdr rdr = (DataRdr)TdbSelectWkr.Instance.Exec(engine, insert.Select());
Sql_select_fld_list insertFlds = insert.Cols(); int insertFldsCount = insertFlds.Count();
GfoFldList selectFldsForNewRow = null;
try {selectFldsForNewRow = insertFlds.XtoGfoFldLst(tbl);}

View File

@@ -44,12 +44,12 @@ class TdbSelectWkr implements Db_qryWkr {
}
return rv;
}
public static final TdbSelectWkr _ = new TdbSelectWkr(); TdbSelectWkr() {}
public static final TdbSelectWkr Instance = new TdbSelectWkr(); TdbSelectWkr() {}
}
class TdbGroupByWkr {
public static GfoNdeList GroupByExec(Db_qry__select_cmd select, GfoNdeList selectRows, TdbTable tbl) {
GfoNdeList rv = GfoNdeList_.new_();
Ordered_hash groupByHash = Ordered_hash_.new_();
Ordered_hash groupByHash = Ordered_hash_.New();
List_adp groupByFlds = select.GroupBy().Flds();
GfoFldList selectFldsForNewRow = select.Cols().Flds().XtoGfoFldLst(tbl);
Sql_select_fld_list selectFlds = select.Cols().Flds();
@@ -85,7 +85,7 @@ class TdbGroupByWkr {
}
else {
if (o == null) {
Ordered_hash nextHash = Ordered_hash_.new_();
Ordered_hash nextHash = Ordered_hash_.New();
curHash.Add(val, nextHash);
curHash = nextHash;
}

View File

@@ -59,5 +59,5 @@ public class TdbTableList extends Ordered_hash_base {
DsvStoreLayout layout;
public static final String StoreTableName = "_tables";
static final String Fld_id = "id"; static final String Fld_name = "name"; static final String Fld_file_id = "file_id";
static final GfoFldList FldList = GfoFldList_.new_().Add(Fld_id, IntClassXtn._).Add(Fld_name, StringClassXtn._).Add(Fld_file_id, IntClassXtn._);
static final GfoFldList FldList = GfoFldList_.new_().Add(Fld_id, IntClassXtn.Instance).Add(Fld_name, StringClassXtn.Instance).Add(Fld_file_id, IntClassXtn.Instance);
}

View File

@@ -33,5 +33,5 @@ public class Tdb_conn_info extends Db_conn_info__base {
rv.url = url;
return rv;
}
public static final Tdb_conn_info _ = new Tdb_conn_info();
public static final Tdb_conn_info Instance = new Tdb_conn_info();
}

View File

@@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.dbs.metas; import gplx.*; import gplx.dbs.*;
public class Meta_fld_mgr {
private final Ordered_hash hash = Ordered_hash_.new_();
private final Ordered_hash hash = Ordered_hash_.New();
public int Len() {return hash.Count();}
public void Add(Meta_fld_itm itm) {hash.Add(itm.Name(), itm);}
public boolean Has(String name) {return hash.Has(name);}

View File

@@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.dbs.metas; import gplx.*; import gplx.dbs.*;
public class Meta_idx_mgr {
private final Ordered_hash hash = Ordered_hash_.new_();
private final Ordered_hash hash = Ordered_hash_.New();
public void Add(Meta_idx_itm itm) {hash.Add(itm.Name(), itm);}
public boolean Has(String name) {return hash.Has(name);}
public Meta_idx_itm Get(String name) {return (Meta_idx_itm)hash.Get_by(name);}

View File

@@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.dbs.metas; import gplx.*; import gplx.dbs.*;
public class Meta_tbl_mgr {
private final Ordered_hash hash = Ordered_hash_.new_();
private final Ordered_hash hash = Ordered_hash_.New();
public void Add(Meta_tbl_itm itm) {hash.Add(itm.Name(), itm);}
public boolean Has(String name) {return hash.Has(name);}
public Meta_tbl_itm Get_by(String name) {return (Meta_tbl_itm)hash.Get_by(name);}

View File

@@ -45,14 +45,14 @@ class Meta_fld_wkr__end_comma extends Meta_fld_wkr__base {
@Override public int Tid() {return Tid_end_comma;}
@Override protected void When_match(Meta_fld_itm fld) {}
private static final byte[] Hook = Bry_.new_a7(",");
public static final Meta_fld_wkr__end_comma I = new Meta_fld_wkr__end_comma();
public static final Meta_fld_wkr__end_comma Instance = new Meta_fld_wkr__end_comma();
}
class Meta_fld_wkr__end_paren extends Meta_fld_wkr__base {
public Meta_fld_wkr__end_paren() {this.Ctor(Hook);}
@Override public int Tid() {return Tid_end_paren;}
@Override protected void When_match(Meta_fld_itm fld) {}
private static final byte[] Hook = Bry_.new_a7(")");
public static final Meta_fld_wkr__end_paren I = new Meta_fld_wkr__end_paren();
public static final Meta_fld_wkr__end_paren Instance = new Meta_fld_wkr__end_paren();
}
class Meta_fld_wkr__nullable_null extends Meta_fld_wkr__base {
public Meta_fld_wkr__nullable_null() {this.Ctor(Hook);}
@@ -60,7 +60,7 @@ class Meta_fld_wkr__nullable_null extends Meta_fld_wkr__base {
fld.Nullable_tid_(Meta_fld_itm.Nullable_null);
}
private static final byte[] Hook = Bry_.new_a7("null");
public static final Meta_fld_wkr__nullable_null I = new Meta_fld_wkr__nullable_null();
public static final Meta_fld_wkr__nullable_null Instance = new Meta_fld_wkr__nullable_null();
}
class Meta_fld_wkr__nullable_not extends Meta_fld_wkr__base {
public Meta_fld_wkr__nullable_not() {this.Ctor(Hook, Bry_null);}
@@ -68,7 +68,7 @@ class Meta_fld_wkr__nullable_not extends Meta_fld_wkr__base {
fld.Nullable_tid_(Meta_fld_itm.Nullable_not_null);
}
private static final byte[] Hook = Bry_.new_a7("not"), Bry_null = Bry_.new_a7("null");
public static final Meta_fld_wkr__nullable_not I = new Meta_fld_wkr__nullable_not();
public static final Meta_fld_wkr__nullable_not Instance = new Meta_fld_wkr__nullable_not();
}
class Meta_fld_wkr__primary_key extends Meta_fld_wkr__base {
public Meta_fld_wkr__primary_key() {this.Ctor(Hook, Bry_key);}
@@ -76,7 +76,7 @@ class Meta_fld_wkr__primary_key extends Meta_fld_wkr__base {
fld.Primary_key_y_();
}
private static final byte[] Hook = Bry_.new_a7("primary"), Bry_key = Bry_.new_a7("key");
public static final Meta_fld_wkr__primary_key I = new Meta_fld_wkr__primary_key();
public static final Meta_fld_wkr__primary_key Instance = new Meta_fld_wkr__primary_key();
}
class Meta_fld_wkr__autonumber extends Meta_fld_wkr__base {
public Meta_fld_wkr__autonumber() {this.Ctor(Hook);}
@@ -84,7 +84,7 @@ class Meta_fld_wkr__autonumber extends Meta_fld_wkr__base {
fld.Autonumber_y_();
}
private static final byte[] Hook = Bry_.new_a7("autoincrement");
public static final Meta_fld_wkr__autonumber I = new Meta_fld_wkr__autonumber();
public static final Meta_fld_wkr__autonumber Instance = new Meta_fld_wkr__autonumber();
}
class Meta_fld_wkr__default extends Meta_fld_wkr__base {
public Meta_fld_wkr__default() {this.Ctor(Hook);}
@@ -113,5 +113,5 @@ class Meta_fld_wkr__default extends Meta_fld_wkr__base {
}
@Override protected void When_match(Meta_fld_itm fld) {}
private static final byte[] Hook = Bry_.new_a7("default");
public static final Meta_fld_wkr__default I = new Meta_fld_wkr__default();
public static final Meta_fld_wkr__default Instance = new Meta_fld_wkr__default();
}

View File

@@ -63,11 +63,11 @@ public class Meta_parser__fld {
// return fld; // NOTE: will happen for tests; EX: "fld_1 int" vs "fld_1 int,"
}
private static final Btrie_slim_mgr fld_trie = fld_trie_init
( Meta_fld_wkr__nullable_null.I
, Meta_fld_wkr__nullable_not.I
, Meta_fld_wkr__autonumber.I
, Meta_fld_wkr__primary_key.I
, Meta_fld_wkr__default.I
( Meta_fld_wkr__nullable_null.Instance
, Meta_fld_wkr__nullable_not.Instance
, Meta_fld_wkr__autonumber.Instance
, Meta_fld_wkr__primary_key.Instance
, Meta_fld_wkr__default.Instance
);
private static Btrie_slim_mgr fld_trie_init(Meta_fld_wkr__base... wkrs) {
Btrie_slim_mgr rv = Btrie_slim_mgr.ci_a7();

View File

@@ -21,8 +21,8 @@ public class Db_qry__select_cmd implements Db_qry {
public int Tid() {return Db_qry_.Tid_select;}
public boolean Exec_is_rdr() {return true;}
public String Base_table() {return from.BaseTable().TblName();}
public String Xto_sql() {return Sql_qry_wtr_.I.Xto_str(this, false);}
public String Xto_sql_prepare() {return Sql_qry_wtr_.I.Xto_str(this, true);}
public String Xto_sql() {return Sql_qry_wtr_.Instance.Xto_str(this, false);}
public String Xto_sql_prepare() {return Sql_qry_wtr_.Instance.Xto_str(this, true);}
public DataRdr Exec_qry_as_rdr(Db_conn conn) {return conn.Exec_qry_as_rdr(this);}
public GfoNde ExecRdr_nde(Db_conn conn) {
DataRdr rdr = DataRdr_.Null;

View File

@@ -73,7 +73,7 @@ public class Db_qry__select_in_tbl implements Db_qry {
if (i != 0) bfr.Add_byte_comma();
bfr.Add_str_a7(order_fld);
}
order_by_sql = bfr.Xto_str_and_clear();
order_by_sql = bfr.To_str_and_clear();
break;
}
}

View File

@@ -22,7 +22,7 @@ public class Db_qry_delete implements Db_qry {
public int Tid() {return Db_qry_.Tid_delete;}
public boolean Exec_is_rdr() {return false;}
public String Base_table() {return base_table;} private final String base_table;
public String Xto_sql() {return Sql_qry_wtr_.I.Xto_str(this, false);}
public String Xto_sql() {return Sql_qry_wtr_.Instance.Xto_str(this, false);}
public Criteria Where() {return where;} private final Criteria where;
public int Exec_qry(Db_conn conn) {return conn.Exec_qry(this);}
public static Db_qry_delete new_all_(String tbl) {return new Db_qry_delete(tbl, Criteria_.All);}

View File

@@ -21,7 +21,7 @@ public class Db_qry_flush implements Db_qry {
public int Tid() {return Db_qry_.Tid_flush;}
public boolean Exec_is_rdr() {return false;}
public String Base_table() {return tableNames[0];}
public String Xto_sql() {return Sql_qry_wtr_.I.Xto_str(this, false);}
public String Xto_sql() {return Sql_qry_wtr_.Instance.Xto_str(this, false);}
public int Exec_qry(Db_conn conn) {return conn.Exec_qry(this);}
public String[] TableNames() {return tableNames;} private String[] tableNames;

View File

@@ -21,7 +21,7 @@ public class Db_qry_insert implements Db_qry_arg_owner {
public Db_qry_insert(String base_table) {this.base_table = base_table;}
public int Tid() {return Db_qry_.Tid_insert;}
public boolean Exec_is_rdr() {return false;}
public String Xto_sql() {return Sql_qry_wtr_.I.Xto_str(this, false);}
public String Xto_sql() {return Sql_qry_wtr_.Instance.Xto_str(this, false);}
public int Exec_qry(Db_conn conn) {return conn.Exec_qry(this);}
public String Base_table() {return base_table;} private String base_table;
public String[] Cols_for_insert() {return cols_for_insert;} private String[] cols_for_insert;

View File

@@ -52,7 +52,7 @@ public class Db_qry_sql implements Db_qry {
Gen_sql_arg(bfr, args[args_idx++]);
pos = question_pos + 1;
}
return bfr.Xto_str_and_clear();
return bfr.To_str_and_clear();
}
private static void Gen_sql_arg(Bry_bfr bfr, Object val) {
if (val == null) {bfr.Add(Bry_null); return;}

View File

@@ -20,7 +20,7 @@ import gplx.core.criterias.*; import gplx.dbs.sqls.*;
public class Db_qry_update implements Db_qry_arg_owner {
public int Tid() {return Db_qry_.Tid_update;}
public boolean Exec_is_rdr() {return false;}
public String Xto_sql() {return Sql_qry_wtr_.I.Xto_str(this, false);}
public String Xto_sql() {return Sql_qry_wtr_.Instance.Xto_str(this, false);}
public int Exec_qry(Db_conn conn) {return conn.Exec_qry(this);}
public String Base_table() {return base_table;} private String base_table;
public String[] Cols_for_update() {return cols_for_update;} private String[] cols_for_update;

View File

@@ -26,7 +26,7 @@ public class Db_stmt_cmd implements Db_stmt {
public Db_stmt_cmd(Db_engine engine, Db_qry qry) {Ctor_stmt(engine, qry);}
public void Ctor_stmt(Db_engine engine, Db_qry qry) {
this.engine = engine;
sql = qry.Tid() == Db_qry_.Tid_select_in_tbl ? ((Db_qry__select_in_tbl)qry).Xto_sql() : Sql_qry_wtr_.I.Xto_str(qry, true);
sql = qry.Tid() == Db_qry_.Tid_select_in_tbl ? ((Db_qry__select_in_tbl)qry).Xto_sql() : Sql_qry_wtr_.Instance.Xto_str(qry, true);
Reset_stmt();
}
public Db_stmt Reset_stmt() {
@@ -46,6 +46,7 @@ public class Db_stmt_cmd implements Db_stmt {
return this;
}
public Db_stmt Crt_int(String k, int v) {return Add_int(Bool_.Y, k, v);}
public Db_stmt Val_int_by_bool(String k, boolean v) {return Add_int(Bool_.N, k, v ? 1 : 0);}
public Db_stmt Val_int(String k, int v) {return Add_int(Bool_.N, k, v);}
public Db_stmt Val_int(int v) {return Add_int(Bool_.N, Key_na, v);}
private Db_stmt Add_int(boolean where, String k, int v) {

View File

@@ -37,31 +37,32 @@ public class Db_stmt_sql implements Db_stmt {// used for formatting SQL statemen
return this;
}
public Db_stmt Crt_int(String k, int v) {return Add_int(Bool_.Y, k, v);}
public Db_stmt Val_int_by_bool(String k, boolean v) {return Add_int(Bool_.N, k, v ? 1 : 0);}
public Db_stmt Val_int(String k, int v) {return Add_int(Bool_.N, k, v);}
public Db_stmt Val_int(int v) {return Add_int(Bool_.N, Key_na, v);}
private Db_stmt Add_int(boolean where, String k, int v) {
try {Add(k, Int_.Xto_str(v));} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "int", "val", v);}
try {Add(k, Int_.To_str(v));} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "int", "val", v);}
return this;
}
public Db_stmt Crt_long(String k, long v) {return Add_long(Bool_.Y, k, v);}
public Db_stmt Val_long(String k, long v) {return Add_long(Bool_.N, k, v);}
public Db_stmt Val_long(long v) {return Add_long(Bool_.N, Key_na, v);}
private Db_stmt Add_long(boolean where, String k, long v) {
try {Add(k, Long_.Xto_str(v));} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "long", "val", v);}
try {Add(k, Long_.To_str(v));} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "long", "val", v);}
return this;
}
public Db_stmt Crt_float(String k, float v) {return Add_float(Bool_.Y, k, v);}
public Db_stmt Val_float(String k, float v) {return Add_float(Bool_.N, k, v);}
public Db_stmt Val_float(float v) {return Add_float(Bool_.N, Key_na, v);}
private Db_stmt Add_float(boolean where, String k, float v) {
try {Add(k, Float_.Xto_str(v));} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "float", "val", v);}
try {Add(k, Float_.To_str(v));} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "float", "val", v);}
return this;
}
public Db_stmt Crt_double(String k, double v) {return Add_double(Bool_.Y, k, v);}
public Db_stmt Val_double(String k, double v) {return Add_double(Bool_.N, k, v);}
public Db_stmt Val_double(double v) {return Add_double(Bool_.N, Key_na, v);}
private Db_stmt Add_double(boolean where, String k, double v) {
try {Add(k, Double_.Xto_str(v));} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "double", "val", v);}
try {Add(k, Double_.To_str(v));} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "double", "val", v);}
return this;
}
public Db_stmt Crt_decimal(String k, Decimal_adp v) {return Add_decimal(Bool_.Y, k, v);}
@@ -93,7 +94,7 @@ public class Db_stmt_sql implements Db_stmt {// used for formatting SQL statemen
try {
Bry_bfr bfr = Bry_bfr.new_();
gplx.ios.Io_stream_rdr_.Load_all_to_bfr(bfr, v);
Add(Key_na, bfr.Xto_str_and_clear());
Add(Key_na, bfr.To_str_and_clear());
} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "rdr", "val", v);}
return this;
}
@@ -128,7 +129,7 @@ public class Db_stmt_sql implements Db_stmt {// used for formatting SQL statemen
}
public String Xto_sql() {
tmp_fmtr.Bld_bfr_many(tmp_bfr, (Object[])args.To_ary_and_clear(Object.class));
return tmp_bfr.Xto_str_and_clear();
return tmp_bfr.To_str_and_clear();
}
public int Args_len() {return args.Count();}
public String Args_get_at(int i) {return (String)args.Get_at(i);}
@@ -153,7 +154,7 @@ public class Db_stmt_sql implements Db_stmt {// used for formatting SQL statemen
pos_prv = pos_cur + 1;
}
tmp_bfr.Add_mid(sql_bry, pos_prv, sql_bry.length);
tmp_fmtr.Fmt_(tmp_bfr.Xto_bry_and_clear());
tmp_fmtr.Fmt_(tmp_bfr.To_bry_and_clear());
}
public static String Xto_str(Bry_bfr tmp_bfr, Bry_fmtr tmp_fmtr, String sql_str, List_adp args) {
Init_fmtr(tmp_bfr, tmp_fmtr, sql_str);
@@ -172,6 +173,6 @@ public class Db_stmt_sql implements Db_stmt {// used for formatting SQL statemen
ary[i] = str;
}
tmp_fmtr.Bld_bfr_many(tmp_bfr, ary);
return tmp_bfr.Xto_str_and_clear();
return tmp_bfr.To_str_and_clear();
}
}

View File

@@ -31,12 +31,12 @@ class Db_obj_ary_fxt {
public Db_obj_ary_fxt Init_fld(String name, int tid) {flds_list.Add(new Db_fld(name, tid)); return this;} private List_adp flds_list = List_adp_.new_();
public Db_obj_ary_fxt Init_vals(Object... ary) {vals_list.Add(ary); return this;} private List_adp vals_list = List_adp_.new_();
public Db_obj_ary_fxt Test_sql(String expd) {
Sql_qry_wtr_ansi cmd_wtr = (Sql_qry_wtr_ansi)Sql_qry_wtr_.I;
Sql_qry_wtr_ansi cmd_wtr = (Sql_qry_wtr_ansi)Sql_qry_wtr_.Instance;
String_bldr sb = String_bldr_.new_();
crt.Flds_((Db_fld[])flds_list.To_ary_and_clear(Db_fld.class));
crt.Vals_((Object[][])vals_list.To_ary_and_clear(Object[].class));
cmd_wtr.Append_db_obj_ary(sb, crt);
Tfds.Eq(expd, sb.Xto_str_and_clear());
Tfds.Eq(expd, sb.To_str_and_clear());
return this;
}
}

View File

@@ -37,7 +37,7 @@ public class Db_sqlbldr__sqlite implements Db_sqlbldr {
tmp_bfr.Add_str_a7(fld);
}
tmp_bfr.Add_str_a7(");");
return tmp_bfr.Xto_str_and_clear();
return tmp_bfr.To_str_and_clear();
}
public String Bld_create_tbl(Db_meta_tbl tbl) {
tmp_bfr.Add_str_a7("CREATE TABLE IF NOT EXISTS ").Add_str_a7(tbl.Name()).Add_byte_nl();
@@ -50,13 +50,13 @@ public class Db_sqlbldr__sqlite implements Db_sqlbldr {
tmp_bfr.Add_byte_nl();
}
tmp_bfr.Add_str_a7(");");
return tmp_bfr.Xto_str_and_clear();
return tmp_bfr.To_str_and_clear();
}
public String Bld_alter_tbl_add(String tbl, Db_meta_fld fld) {
tmp_bfr.Add_str_a7("ALTER TABLE ").Add_str_a7(tbl).Add_str_a7(" ADD ");
Bld_fld(tmp_bfr, fld);
tmp_bfr.Add_byte_semic();
return tmp_bfr.Xto_str_and_clear();
return tmp_bfr.To_str_and_clear();
}
public String Bld_drop_tbl(String tbl) {
return String_.Format("DROP TABLE IF EXISTS {0};", tbl);
@@ -95,5 +95,5 @@ public class Db_sqlbldr__sqlite implements Db_sqlbldr {
default: throw Err_.new_unhandled(tid);
}
}
public static final Db_sqlbldr__sqlite I = new Db_sqlbldr__sqlite(); Db_sqlbldr__sqlite() {}
public static final Db_sqlbldr__sqlite Instance = new Db_sqlbldr__sqlite(); Db_sqlbldr__sqlite() {}
}

View File

@@ -61,7 +61,7 @@ public class Db_sqlbldr_tst {
}
}
class Db_sqlbldr_fxt {
private Db_sqlbldr__sqlite sqlbldr = Db_sqlbldr__sqlite.I;
private Db_sqlbldr__sqlite sqlbldr = Db_sqlbldr__sqlite.Instance;
public void Test_create_idx(Db_meta_idx idx, String expd) {Tfds.Eq(expd, sqlbldr.Bld_create_idx(idx));}
public void Test_create_tbl(Db_meta_tbl tbl, String expd) {Tfds.Eq_str_lines(expd, sqlbldr.Bld_create_tbl(tbl));}
public void Test_alter_tbl_add(String tbl, Db_meta_fld fld, String expd) {Tfds.Eq_str_lines(expd, sqlbldr.Bld_alter_tbl_add(tbl, fld));}

View File

@@ -19,6 +19,6 @@ package gplx.dbs.sqls; import gplx.*; import gplx.dbs.*;
public class Sql_qry_wtr_ {
public static Sql_qry_wtr new_ansi() {return new Sql_qry_wtr_ansi();}
public static Sql_qry_wtr new_escape_backslash() {return new Sql_qry_wtr_ansi_escape_backslash();}
public static final Sql_qry_wtr I = new Sql_qry_wtr_ansi();
public static String Gen_placeholder_parameters(Db_qry qry) {return Sql_qry_wtr_.I.Xto_str(qry, true);} // replace arguments with ?; EX: UPDATE a SET b = ? WHERE c = ?;
public static final Sql_qry_wtr Instance = new Sql_qry_wtr_ansi();
public static String Gen_placeholder_parameters(Db_qry qry) {return Sql_qry_wtr_.Instance.Xto_str(qry, true);} // replace arguments with ?; EX: UPDATE a SET b = ? WHERE c = ?;
}

View File

@@ -38,7 +38,7 @@ public class Sql_qry_wtr_ansi implements Sql_qry_wtr {
private String Bld_qry_delete(Db_qry_delete cmd) {
sb.Add_many("DELETE FROM ", cmd.Base_table());
Bld_where(sb, cmd.Where());
return sb.Xto_str_and_clear();
return sb.To_str_and_clear();
}
private String Bld_qry_insert(Db_qry_insert cmd) {
if (cmd.Select() != null) {
@@ -49,7 +49,7 @@ public class Sql_qry_wtr_ansi implements Sql_qry_wtr {
sb.Add(i == cmd.Cols().Count() - 1 ? ") " : ", ");
}
sb.Add(Bld_qry_select(cmd.Select()));
return sb.Xto_str_and_clear();
return sb.To_str_and_clear();
}
int arg_count = cmd.Args().Count(); if (arg_count == 0) throw Err_.new_wo_type("Db_qry_insert has no columns", "base_table", cmd.Base_table());
int last = arg_count - 1;
@@ -66,7 +66,7 @@ public class Sql_qry_wtr_ansi implements Sql_qry_wtr {
this.Bld_val(sb, arg);
sb.Add(i == last ? ")" : ", ");
}
return sb.Xto_str_and_clear();
return sb.To_str_and_clear();
}
private String Bld_qry_update(Db_qry_update cmd) {
int arg_count = cmd.Args().Count(); if (arg_count == 0) throw Err_.new_wo_type("Db_qry_update has no columns", "base_table", cmd.Base_table());
@@ -79,7 +79,7 @@ public class Sql_qry_wtr_ansi implements Sql_qry_wtr {
this.Bld_val(sb, (Db_arg)pair.Val());
}
Bld_where(sb, cmd.Where());
return sb.Xto_str_and_clear();
return sb.To_str_and_clear();
}
private String Bld_qry_select(Db_qry__select_cmd cmd) {
sb.Add("SELECT ");
@@ -97,7 +97,7 @@ public class Sql_qry_wtr_ansi implements Sql_qry_wtr {
Bld_select_group_by(sb, cmd.GroupBy());
Bld_select_order_by(sb, cmd.OrderBy());
Bld_select_limit(sb, cmd.Limit());
return sb.Xto_str_and_clear();
return sb.To_str_and_clear();
}
private void Bld_select_group_by(String_bldr sb, Sql_group_by groupBy) {
if (groupBy == null) return;

View File

@@ -25,6 +25,6 @@ public class Sql_select {
public void Add(String fldName, String alias) {flds.Add(Sql_select_fld_.new_fld(Sql_select_fld_base.Tbl_null, fldName, alias));}
public void Add(Sql_select_fld_base fld) {flds.Add(fld);}
public static final Sql_select All = all_(); static Sql_select all_() {Sql_select rv = new_(); rv.Add(Sql_select_fld_wild._); return rv;}
public static final Sql_select All = all_(); static Sql_select all_() {Sql_select rv = new_(); rv.Add(Sql_select_fld_wild.Instance); return rv;}
public static Sql_select new_() {return new Sql_select();} Sql_select() {}
}

View File

@@ -39,7 +39,7 @@ class Sql_select_fld_fld extends Sql_select_fld_base {
class Sql_select_fld_count extends Sql_select_fld_func_base {
public Sql_select_fld_count(String tbl, String fld, String alias) {this.ctor_(tbl, fld, alias);}
@Override public String XtoSql_functionName() {return "COUNT";}
@Override public void GroupBy_type(GfoFld fld) {this.ValType_set(IntClassXtn._);}
@Override public void GroupBy_type(GfoFld fld) {this.ValType_set(IntClassXtn.Instance);}
@Override public Object GroupBy_eval(Object groupByVal, Object curVal, ClassXtn type) {
if (groupByVal == null) return 1;
return Int_.cast(groupByVal) + 1;
@@ -48,7 +48,7 @@ class Sql_select_fld_count extends Sql_select_fld_func_base {
class Sql_select_fld_sum extends Sql_select_fld_func_base {
public Sql_select_fld_sum(String tbl, String fld, String alias) {this.ctor_(tbl, fld, alias);}
@Override public String XtoSql_functionName() {return "SUM";}
@Override public void GroupBy_type(GfoFld fld) {this.ValType_set(IntClassXtn._);}
@Override public void GroupBy_type(GfoFld fld) {this.ValType_set(IntClassXtn.Instance);}
@Override public Object GroupBy_eval(Object groupByVal, Object curVal, ClassXtn type) {
if (groupByVal == null) return Int_.cast(curVal);
return Int_.cast(groupByVal) + Int_.cast(curVal);

View File

@@ -20,7 +20,7 @@ public abstract class Sql_select_fld_base {
public String Tbl() {return tbl;} public void Tbl_set(String val) {tbl = val;} private String tbl;
public String Fld() {return fld;} public void Fld_set(String val) {fld = val;} private String fld;
public String Alias() {return alias;} public void Alias_set(String val) {alias = val;} private String alias;
public ClassXtn ValType() {return valType;} public void ValType_set(ClassXtn val) {valType = val;} ClassXtn valType = ObjectClassXtn._;
public ClassXtn ValType() {return valType;} public void ValType_set(ClassXtn val) {valType = val;} ClassXtn valType = ObjectClassXtn.Instance;
public abstract Object GroupBy_eval(Object groupByVal, Object curVal, ClassXtn type);
@gplx.Virtual public void GroupBy_type(GfoFld fld) {this.ValType_set(fld.Type());}
@gplx.Virtual public boolean Type_fld() {return true;}
@@ -34,7 +34,7 @@ class Sql_select_fld_wild extends Sql_select_fld_base {
@Override public Object GroupBy_eval(Object groupByVal, Object curVal, ClassXtn type) {throw Err_.new_wo_type("group by eval not allowed on *");}
@Override public void GroupBy_type(GfoFld fld) {throw Err_.new_wo_type("group by type not allowed on *");}
@Override public String XtoSql() {return "*";}
public static final Sql_select_fld_wild _ = new Sql_select_fld_wild(); Sql_select_fld_wild() {this.ctor_(Tbl_null, "*", "*");}
public static final Sql_select_fld_wild Instance = new Sql_select_fld_wild(); Sql_select_fld_wild() {this.ctor_(Tbl_null, "*", "*");}
}
abstract class Sql_select_fld_func_base extends Sql_select_fld_base {
public abstract String XtoSql_functionName();

View File

@@ -52,6 +52,6 @@ public class Sql_select_fld_list {
}
return sb.To_str();
}
Ordered_hash hash = Ordered_hash_.new_();
Ordered_hash hash = Ordered_hash_.New();
public static Sql_select_fld_list new_() {return new Sql_select_fld_list();} Sql_select_fld_list() {}
}

View File

@@ -50,9 +50,9 @@ public class Db_cmd_backup implements GfoInvkAble {
this.InitVars();
Io_url bkpCmdFil = bkpDir.GenSubFil_ary("backup_", dbName, ".cmd");
// Io_url bkpCmdFil = Io_url_.new_dir_("/home/").GenSubFil_ary("backup_", dbName, ".cmd"); // LNX: uncomment
Io_mgr.I.SaveFilStr_args(bkpCmdFil, cmdText).Exec(); // explicitly state utf8;
Io_mgr.Instance.SaveFilStr_args(bkpCmdFil, cmdText).Exec(); // explicitly state utf8;
ProcessAdp.run_wait_(bkpCmdFil);
Io_mgr.I.DeleteFil(bkpCmdFil);
Io_mgr.Instance.DeleteFil(bkpCmdFil);
return this;
}
@gplx.Internal protected Db_cmd_backup InitVars() {

View File

@@ -24,7 +24,7 @@ public abstract class Db_in_wkr__base {
@gplx.Virtual protected boolean Show_progress() {return false;}
public void Select_in(Cancelable cancelable, Db_conn conn, int full_bgn, int full_end) {
int part_len = Interval();
Gfo_usr_dlg usr_dlg = Gfo_usr_dlg_.I;
Gfo_usr_dlg usr_dlg = Gfo_usr_dlg_.Instance;
boolean show_progress = this.Show_progress();
for (int part_bgn = full_bgn; part_bgn < full_end; part_bgn += part_len) {
int part_end = part_bgn + part_len;

View File

@@ -32,9 +32,9 @@ public class PoolIds {
return rv;
}
public int FetchNextAndCommit(String dbInfo, String url) {
Db_conn conn = Db_conn_pool.I.Get_or_new(dbInfo);
int rv = PoolIds._.FetchNext(conn, url);
PoolIds._.Commit(conn, url, rv + 1);
Db_conn conn = Db_conn_pool.Instance.Get_or_new(dbInfo);
int rv = PoolIds.Instance.FetchNext(conn, url);
PoolIds.Instance.Commit(conn, url, rv + 1);
return rv;
}
public void Commit(Db_conn conn, String url, int val) {
@@ -47,5 +47,5 @@ public class PoolIds {
public static final String Tbl_Name = "pool_ids";
@gplx.Internal protected static final String Fld_id_path = "id_path";
@gplx.Internal protected static final String Fld_id_next_id = "id_next_id";
public static final PoolIds _ = new PoolIds(); PoolIds() {}
public static final PoolIds Instance = new PoolIds(); PoolIds() {}
}

View File

@@ -19,9 +19,9 @@ package gplx.dbs.utls; import gplx.*; import gplx.dbs.*;
import org.junit.*;
public class PoolIds_tst {
@Before public void setup() {
conn = Db_conn_pool.I.Get_or_new(Db_conn_info_.Test);
conn = Db_conn_pool.Instance.Get_or_new(Db_conn_info_.Test);
Db_qry_fxt.DeleteAll(conn, PoolIds.Tbl_Name);
mgr = PoolIds._;
mgr = PoolIds.Instance;
}
@Test public void FetchNextId() {
tst_Fetch("/test0", 0);