1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2026-03-02 03:49:30 +00:00
This commit is contained in:
gnosygnu
2014-09-07 22:38:50 -04:00
parent be63adc5af
commit a022d7f26c
293 changed files with 2546 additions and 1942 deletions

View File

@@ -19,14 +19,14 @@ package gplx.dbs; import gplx.*;
import org.junit.*;
public class TdbConnectInfo_tst {
@Test public void Full() {
Db_connect connectInfo = Db_connect_.parse_("gplx_key=tdb;url=C:\\dir\\xmpl.tdb;format=dsv;");
Db_conn_info connectInfo = Db_conn_info_.parse_("gplx_key=tdb;url=C:\\dir\\xmpl.tdb;format=dsv;");
tst_Parse(connectInfo, Io_url_.new_any_("C:\\dir\\xmpl.tdb"), "dsv");
}
@Test public void DefaultFormat() {
Db_connect connectInfo = Db_connect_.parse_("gplx_key=tdb;url=C:\\dir\\xmpl.tdb"); // dsv Format inferred
Db_conn_info connectInfo = Db_conn_info_.parse_("gplx_key=tdb;url=C:\\dir\\xmpl.tdb"); // dsv Format inferred
tst_Parse(connectInfo, Io_url_.new_any_("C:\\dir\\xmpl.tdb"), "dsv");
}
void tst_Parse(Db_connect connectInfo, Io_url url, String format) {
Tfds.Eq(((Db_connect_tdb)connectInfo).Url(), url);
void tst_Parse(Db_conn_info connectInfo, Io_url url, String format) {
Tfds.Eq(((Db_conn_info__tdb)connectInfo).Url(), url);
}
}

View File

@@ -43,5 +43,5 @@ public class TdbDatabase {
}
int FileId_next = TdbFile.MainFileId + 1;
int TableId_next = 1;
// public static Io_url UrlOf(Db_connect url) {return Io_url_.new_any_(url.ServerName());}
// public static Io_url UrlOf(Db_conn_info url) {return Io_url_.new_any_(url.ServerName());}
}

View File

@@ -18,17 +18,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.dbs; import gplx.*;
class TdbEngine implements Db_engine {
public String Key() {return KeyDef;} public static final String KeyDef = "tdb";
public Db_connect ConnectInfo() {return connectInfo;} Db_connect connectInfo;
public Db_conn_info Conn_info() {return conn_info;} Db_conn_info conn_info;
public TdbDatabase Db() {return db;} TdbDatabase db;
public Db_engine MakeEngine(Db_connect connectInfo) {
TdbEngine rv = new TdbEngine();
rv.CtorTdbEngine(connectInfo);
return rv;
}
public void Connect() {
String urlStr = (String)connectInfo.Server();
public void Conn_open() {
String urlStr = (String)conn_info.Server();
db = loadMgr.LoadTbls(Io_url_.new_any_(urlStr));
}
public void Conn_term() {}
public void Txn_bgn() {}
public void Txn_end() {}
public Db_engine Make_new(Db_conn_info conn_info) {
TdbEngine rv = new TdbEngine();
rv.CtorTdbEngine(conn_info);
return rv;
}
public Object Execute(Db_qry cmd) {
Db_qryWkr wkr = (Db_qryWkr)wkrs.FetchOrFail(cmd.KeyOfDb_qry());
return wkr.Exec(this, cmd);
@@ -36,8 +39,7 @@ class TdbEngine implements Db_engine {
public DataRdr NewDataRdr(java.sql.ResultSet rdr, String sql) {return DataRdr_.Null;}
public Db_stmt New_db_stmt(Db_provider provider, Db_qry qry) {return new Db_stmt_sql().Parse(Sql_cmd_wtr_.Ansi.XtoSqlQry(qry, true));}
public Object New_db_cmd(String sql) {throw Err_.not_implemented_();}
public void Txn_bgn() {}
public void Txn_end() {}
public Db_rdr New_db_rdr(Object o, String sql) {return Db_rdr_.Null;}
public TdbTable FetchTbl(String name) {
TdbTable tbl = db.Tables().FetchOrFail(name);
if (!tbl.IsLoaded()) loadMgr.LoadTbl(db, tbl);
@@ -49,13 +51,12 @@ class TdbEngine implements Db_engine {
public void FlushTbl(TdbTable tbl) {
saveMgr.SaveFile(db, tbl.File());
}
public void Rls() {}
HashAdp wkrs = HashAdp_.new_(); TdbDbLoadMgr loadMgr = TdbDbLoadMgr.new_(); TdbDbSaveMgr saveMgr = TdbDbSaveMgr.new_();
@gplx.Internal protected static final TdbEngine _ = new TdbEngine();
//TdbEngine() {this.connectInfo = TdbConnectUrl._;}
void CtorTdbEngine(Db_connect connectInfo) {
this.connectInfo = connectInfo;
//TdbEngine() {this.conn_info = TdbConnectUrl._;}
void CtorTdbEngine(Db_conn_info conn_info) {
this.conn_info = conn_info;
wkrs.Add(Db_qry_select.KeyConst, TdbSelectWkr._);
wkrs.Add(Db_qry_insert.KeyConst, TdbInsertWkr.new_());
wkrs.Add(Db_qry_update.KeyConst, TdbUpdateWkr.new_());

View File

@@ -81,9 +81,9 @@ public class TdbFlush_tst {
}
class TdbEngineFxt {
public TdbEngine run_MakeEngine(Io_url url) {
Db_connect connectInfo = Db_connect_.tdb_(url);
TdbEngine engine = (TdbEngine)TdbEngine._.MakeEngine(connectInfo);
engine.Connect();
Db_conn_info connectInfo = Db_conn_info_.tdb_(url);
TdbEngine engine = (TdbEngine)TdbEngine._.Make_new(connectInfo);
engine.Conn_open();
return engine;
}
public TdbFile run_MakeFile(TdbEngine engine, Io_url url) {return engine.Db().MakeFile(url);}