mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
'v3.4.2.1'
This commit is contained in:
@@ -111,10 +111,11 @@ public class Db_attach_mgr {
|
||||
Exec_sql(sql, args);
|
||||
return this;
|
||||
}
|
||||
public void Exec_sql(String sql, Object... args) {
|
||||
public Db_attach_mgr Exec_sql(String sql, Object... args) {
|
||||
String attach_sql = String_.Format(Resolve_sql(sql), args);
|
||||
this.Attach();
|
||||
try {main_conn.Exec_sql(attach_sql);}
|
||||
finally {this.Detach();}
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,6 +41,7 @@ public class Db_conn {
|
||||
public void Meta_tbl_delete(String tbl) {engine.Meta_tbl_delete(tbl);}
|
||||
public void Meta_tbl_remake(Dbmeta_tbl_itm meta) {engine.Meta_tbl_delete(meta.Name()); engine.Meta_tbl_create(meta);}
|
||||
public void Meta_idx_create(Dbmeta_idx_itm... idxs) {engine.Meta_idx_create(Gfo_usr_dlg_.Instance, idxs);}
|
||||
public void Meta_idx_delete(String idx) {engine.Meta_idx_delete(idx);}
|
||||
public void Meta_idx_create(Gfo_usr_dlg usr_dlg, Dbmeta_idx_itm... idxs) {engine.Meta_idx_create(usr_dlg, idxs);}
|
||||
public void Meta_fld_append(String tbl, Dbmeta_fld_itm fld) {engine.Meta_fld_append(tbl, fld);}
|
||||
public void Meta_fld_assert(String tbl, String fld, Dbmeta_fld_tid tid, Object dflt) {if (!Meta_fld_exists(tbl, fld)) this.Meta_fld_append(tbl, new Dbmeta_fld_itm(fld, tid).Default_(dflt));}
|
||||
|
||||
@@ -43,6 +43,9 @@ public class Db_rdr__basic implements Db_rdr {
|
||||
@gplx.Virtual public void Rls() {
|
||||
try {rdr.close();}
|
||||
catch (Exception e) {throw Err_.new_exc(e, "db", "close failed");}
|
||||
if (stmt != null) stmt.Rls();
|
||||
if (stmt != null) {
|
||||
stmt.Rls();
|
||||
stmt = null; // NOTE: must null reference else will throw SQLException during statements DATE:2016-04-10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ public interface Db_engine {
|
||||
void Meta_tbl_delete(String tbl);
|
||||
void Meta_fld_append(String tbl, Dbmeta_fld_itm fld);
|
||||
void Meta_idx_create(Gfo_usr_dlg usr_dlg, Dbmeta_idx_itm... ary);
|
||||
void Meta_idx_delete(String idx);
|
||||
Dbmeta_tbl_mgr Meta_mgr();
|
||||
boolean Meta_tbl_exists(String tbl);
|
||||
boolean Meta_fld_exists(String tbl, String fld);
|
||||
|
||||
@@ -70,6 +70,9 @@ public abstract class Db_engine_sql_base implements Db_engine {
|
||||
}
|
||||
this.Meta_mgr().Load_all();
|
||||
}
|
||||
@gplx.Virtual public void Meta_idx_delete(String idx) {
|
||||
if (Meta_idx_exists(idx)) Exec_as_int("DROP INDEX " + idx);
|
||||
}
|
||||
public void Meta_fld_append(String tbl, Dbmeta_fld_itm fld) {
|
||||
Gfo_usr_dlg_.Instance.Plog_many("", "", "adding column to table: db=~{0} tbl=~{1} fld=~{2}", conn_info.Database(), tbl, fld.Name());
|
||||
try {
|
||||
|
||||
@@ -56,6 +56,7 @@ public class Mem_engine implements Db_engine {
|
||||
if (tbl != null) tbl.rows.Clear();
|
||||
}
|
||||
public void Meta_idx_create(Gfo_usr_dlg usr_dlg, Dbmeta_idx_itm... ary) {} // TODO: implement unique index
|
||||
public void Meta_idx_delete(String idx) {}
|
||||
public void Meta_fld_append(String tbl, Dbmeta_fld_itm fld) {}
|
||||
public Dbmeta_tbl_mgr Meta_mgr() {return meta_mgr;} private final Dbmeta_tbl_mgr meta_mgr = new Dbmeta_tbl_mgr(Dbmeta_reload_cmd_.Noop);
|
||||
public boolean Meta_tbl_exists(String tbl) {return tbl_hash.Has(tbl);}
|
||||
|
||||
@@ -37,9 +37,10 @@ public class Noop_engine implements Db_engine {
|
||||
public void Txn_sav() {}
|
||||
public Object Exec_as_obj(Db_qry cmd) {return cmd.Exec_is_rdr() ? (Object)DataRdr_.Null : -1;}
|
||||
public void Meta_tbl_create(Dbmeta_tbl_itm meta) {}
|
||||
public void Meta_idx_create(Gfo_usr_dlg usr_dlg, Dbmeta_idx_itm... ary) {}
|
||||
public void Meta_fld_append(String tbl, Dbmeta_fld_itm fld) {}
|
||||
public void Meta_tbl_delete(String tbl) {}
|
||||
public void Meta_idx_create(Gfo_usr_dlg usr_dlg, Dbmeta_idx_itm... ary) {}
|
||||
public void Meta_idx_delete(String idx) {}
|
||||
public void Meta_fld_append(String tbl, Dbmeta_fld_itm fld) {}
|
||||
public void Env_db_attach(String alias, Db_conn conn) {}
|
||||
public void Env_db_attach(String alias, Io_url db_url) {}
|
||||
public void Env_db_detach(String alias) {}
|
||||
|
||||
@@ -62,6 +62,7 @@ public class TdbEngine implements Db_engine {
|
||||
}
|
||||
public void Meta_tbl_create(Dbmeta_tbl_itm meta) {throw Err_.new_unimplemented();}
|
||||
public void Meta_idx_create(Gfo_usr_dlg usr_dlg, Dbmeta_idx_itm... ary) {throw Err_.new_unimplemented();}
|
||||
public void Meta_idx_delete(String idx) {throw Err_.new_unimplemented();}
|
||||
public void Meta_fld_append(String tbl, Dbmeta_fld_itm fld) {throw Err_.new_unimplemented();}
|
||||
public void Meta_tbl_delete(String tbl) {}
|
||||
public boolean Meta_tbl_exists(String name) {return false;}
|
||||
|
||||
Reference in New Issue
Block a user