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
2015-01-25 20:56:50 -05:00
parent 1b0042ef8a
commit efaf9dcd00
447 changed files with 10258 additions and 3016 deletions

View File

@@ -17,9 +17,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.dbs; import gplx.*;
import org.junit.*;
import gplx.criterias.*;
import gplx.criterias.*; import gplx.dbs.sqls.*;
public class AnsiSqlWtr_tst {
Sql_cmd_wtr sqlWtr = Sql_cmd_wtr_ansi_.default_();
Sql_qry_wtr sqlWtr = Sql_qry_wtr_.new_ansi();
@Test public void Insert() {
tst_XtoSql
( Db_qry_.insert_("people").Arg_("id", 1).Arg_("name", "me")
@@ -95,5 +95,5 @@ public class AnsiSqlWtr_tst {
);
}
void tst_XtoSql(Db_qry cmd, String expd) {tst_XtoSql(cmd, expd, false);}
void tst_XtoSql(Db_qry cmd, String expd, boolean prepare) {Tfds.Eq(expd, sqlWtr.XtoSqlQry(cmd, prepare));}
void tst_XtoSql(Db_qry cmd, String expd, boolean prepare) {Tfds.Eq(expd, sqlWtr.Xto_str(cmd, prepare));}
}

View File

@@ -0,0 +1,54 @@
/*
XOWA: the XOWA Offline Wiki Application
Copyright (C) 2012 gnosygnu@gmail.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.dbs; import gplx.*;
public class Db_conn_fxt implements RlsAble {
public Db_conn Conn() {return conn;} public Db_conn_fxt Conn_(Db_conn v) {conn = v; return this;} Db_conn conn;
public void DmlAffectedAvailable_(boolean v) {dmlAffectedAvailable = v;} private boolean dmlAffectedAvailable = true;
public void ini_DeleteAll(String tbl) {conn.Exec_qry(Db_qry_.delete_tbl_(tbl));}
public void tst_ExecDml(int expd, Db_qry qry) {
int actl = conn.Exec_qry(qry);
if (dmlAffectedAvailable)
Tfds.Eq(expd, actl, "Exec_qry failed: sql={0}", qry.Xto_sql());
}
public void tst_ExecRdrTbl(int expd, String tblName) {tst_ExecRdr(expd, Db_qry_.select_tbl_(tblName));}
public void tst_ExecRdr(int expd, Db_qry qry) {
DataRdr rdr = DataRdr_.Null;
try {
rdr = conn.Exec_qry_as_rdr(qry);
tbl = GfoNde_.rdr_(rdr);
}
catch (Exception e) {Err_.Noop(e); rdr.Rls();}
Tfds.Eq(expd, tbl.Subs().Count(), "Exec_qry_as_rdr failed: sql={0}", qry.Xto_sql());
} GfoNde tbl;
public GfoNde tst_RowAry(int index, Object... expdValAry) {
GfoNde record = tbl.Subs().FetchAt_asGfoNde(index);
Object[] actlValAry = new Object[expdValAry.length];
for (int i = 0; i < actlValAry.length; i++)
actlValAry[i] = record.ReadAt(i);
Tfds.Eq_ary(actlValAry, expdValAry);
return record;
}
public void Rls() {conn.Conn_term();}
public static Db_conn Mysql() {return Db_conn_.new_and_open_(Db_url__mysql.new_("127.0.0.1", "unit_tests", "gplx_user", "gplx_password"));}
public static Db_conn Tdb(String fileName) {return Db_conn_.new_and_open_(Db_url_.tdb_(Tfds.RscDir.GenSubDir_nest("140_dbs", "tdbs").GenSubFil(fileName)));}
public static Db_conn Postgres() {return Db_conn_.new_and_open_(Db_url__postgres.new_("127.0.0.1", "unit_tests", "gplx_user", "gplx_password"));}
public static Db_conn Sqlite() {return Db_conn_.new_and_open_(Db_url__sqlite.load_(Tfds.RscDir.GenSubFil_nest("140_dbs", "sqlite", "unit_tests.db")));}
// public static Db_conn Mssql() {return MssqlConnectUrl.WindowsAuth(".", "unit_tests");
public static final boolean SkipPostgres = Tfds.SkipDb || true;
}

View File

@@ -17,27 +17,27 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.dbs; import gplx.*;
public class Db_qry_fxt {
public static void Insert_kvo(Db_provider provider, String tblName, KeyValList kvList) {
public static void Insert_kvo(Db_conn conn, String tblName, KeyValList kvList) {
Db_qry_insert qry = Db_qry_.insert_(tblName);
for (int i = 0; i < kvList.Count(); i++) {
KeyVal kv = kvList.GetAt(i);
qry.Arg_obj_(kv.Key(), kv.Val());
}
qry.Exec_qry(provider);
qry.Exec_qry(conn);
}
public static GfoNde SelectAll(Db_provider provider, String tblName) {
return Db_qry_.select_tbl_(tblName).ExecRdr_nde(provider);
public static GfoNde SelectAll(Db_conn conn, String tblName) {
return Db_qry_.select_tbl_(tblName).ExecRdr_nde(conn);
}
public static int SelectAll_count(Db_provider provider, String tblName) {
GfoNde nde = Db_qry_fxt.SelectAll(provider, tblName);
public static int SelectAll_count(Db_conn conn, String tblName) {
GfoNde nde = Db_qry_fxt.SelectAll(conn, tblName);
return nde.Subs().Count();
}
public static void DeleteAll(Db_provider provider, String... ary) {
public static void DeleteAll(Db_conn conn, String... ary) {
for (String s : ary)
Db_qry_.delete_tbl_(s).Exec_qry(provider);
Db_qry_.delete_tbl_(s).Exec_qry(conn);
}
public static void tst_Select(Db_provider provider, String tblName, DbTstRow... expdAry) {
GfoNde nde = Db_qry_fxt.SelectAll(provider, tblName);
public static void tst_Select(Db_conn conn, String tblName, DbTstRow... expdAry) {
GfoNde nde = Db_qry_fxt.SelectAll(conn, tblName);
int len = Array_.Len(expdAry);
for (int i = 0; i < len; i++) {
DbTstRow expdRow = expdAry[i];

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.dbs; import gplx.*;
import org.junit.*;
import gplx.criterias.*; /*Criteria_base*/
import gplx.ios.*;
import gplx.ios.*; import gplx.dbs.sqls.*;
public class IoSqlCriteriaWriter_tst {
@Test public void Type() {
fld = IoItm_base_.Prop_Type;
@@ -53,8 +53,8 @@ public class IoSqlCriteriaWriter_tst {
String fld;
void tst_Write(String expd, Criteria crt) {
String_bldr sb = String_bldr_.new_();
Sql_cmd_wtr whereWtr = Sql_cmd_wtr_ansi_.default_();
whereWtr.BldWhere(sb, crt);
Sql_qry_wtr_ansi whereWtr = (Sql_qry_wtr_ansi)Sql_qry_wtr_.new_ansi();
whereWtr.Bld_where(sb, crt);
Tfds.Eq(expd, sb.XtoStr());
}
}

View File

@@ -19,8 +19,8 @@ package gplx.dbs; import gplx.*;
import org.junit.*;
public class PoolIds_tst {
@Before public void setup() {
provider = Db_provider_pool._.Get_or_new(Db_conn_info_.Test);
Db_qry_fxt.DeleteAll(provider, PoolIds.Tbl_Name);
conn = Db_conn_pool_old._.Get_or_new(Db_url_.Test);
Db_qry_fxt.DeleteAll(conn, PoolIds.Tbl_Name);
mgr = PoolIds._;
}
@Test public void FetchNextId() {
@@ -45,12 +45,12 @@ public class PoolIds_tst {
tst_Fetch("/test1", 1);
}
void run_Change(String url, int expd) {
mgr.Commit(provider, url, expd);
mgr.Commit(conn, url, expd);
}
void tst_Fetch(String url, int expd) {
int actl = mgr.FetchNext(provider, url);
int actl = mgr.FetchNext(conn, url);
Tfds.Eq(expd, actl);
}
Db_provider provider;
Db_conn conn;
PoolIds mgr;
}

View File

@@ -18,41 +18,41 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.dbs.groupBys; import gplx.*; import gplx.dbs.*;
import org.junit.*;
public abstract class GroupBys_base_tst {
protected abstract Db_provider provider_();
protected Db_provider provider;
protected abstract Db_conn provider_();
protected Db_conn conn;
@Before public void setup() {
provider = provider_();
Db_qry_.delete_tbl_("dbs_group_bys").Exec_qry(provider);
conn = provider_();
Db_qry_.delete_tbl_("dbs_group_bys").Exec_qry(conn);
}
@After public void teardown() {
provider.Conn_term();
conn.Conn_term();
}
protected void GroupBy_1fld_hook() {
provider.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("val_int", 1));
provider.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("val_int", 2));
conn.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("val_int", 1));
conn.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("val_int", 2));
DataRdr rdr = Db_qry_.select_().From_("dbs_group_bys")
.Cols_("key1")
.GroupBy_("key1")
.Exec_qry_as_rdr(provider);
.Exec_qry_as_rdr(conn);
GfoNde nde = GfoNde_.rdr_(rdr);
GfoNdeTstr.tst_ValsByCol(nde, "key1", "a");
}
protected void GroupBy_2fld_hook() {
provider.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("key2", "b").Arg_("val_int", 1));
provider.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("key2", "b").Arg_("val_int", 2));
conn.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("key2", "b").Arg_("val_int", 1));
conn.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("key2", "b").Arg_("val_int", 2));
DataRdr rdr = Db_qry_.select_().From_("dbs_group_bys")
.Cols_("key1", "key2")
.GroupBy_("key1", "key2")
.Exec_qry_as_rdr(provider);
.Exec_qry_as_rdr(conn);
GfoNde nde = GfoNde_.rdr_(rdr);
GfoNdeTstr.tst_ValsByCol(nde, "key1", "a");
GfoNdeTstr.tst_ValsByCol(nde, "key2", "b");
}
protected void MinMax_hook(boolean min) {
provider.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("val_int", 1));
provider.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("val_int", 2));
conn.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("val_int", 1));
conn.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("val_int", 2));
Db_qry_select qry = Db_qry_.select_().From_("dbs_group_bys")
.Cols_("key1")
@@ -63,31 +63,31 @@ public abstract class GroupBys_base_tst {
else
qry.Cols_groupBy_max("val_int", "val_int_func");
DataRdr rdr = qry.Exec_qry_as_rdr(provider);
DataRdr rdr = qry.Exec_qry_as_rdr(conn);
GfoNde nde = GfoNde_.rdr_(rdr);
GfoNdeTstr.tst_ValsByCol(nde, "key1", "a");
GfoNdeTstr.tst_ValsByCol(nde, "val_int_func", expd);
}
protected void Count_hook() {
provider.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("val_int", 10));
provider.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("val_int", 20));
conn.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("val_int", 10));
conn.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("val_int", 20));
DataRdr rdr = Db_qry_.select_().From_("dbs_group_bys")
.Cols_("key1").Cols_groupBy_count("val_int", "val_int_func")
.GroupBy_("key1")
.Exec_qry_as_rdr(provider);
.Exec_qry_as_rdr(conn);
GfoNde nde = GfoNde_.rdr_(rdr);
GfoNdeTstr.tst_ValsByCol(nde, "key1", "a");
GfoNdeTstr.tst_ValsByCol(nde, "val_int_func", 2);
}
protected void Sum_hook() {
provider.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("val_int", 10));
provider.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("val_int", 20));
conn.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("val_int", 10));
conn.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("val_int", 20));
DataRdr rdr = Db_qry_.select_().From_("dbs_group_bys")
.Cols_("key1").Cols_groupBy_sum("val_int", "val_int_func")
.GroupBy_("key1")
.Exec_qry_as_rdr(provider);
.Exec_qry_as_rdr(conn);
GfoNde nde = GfoNde_.rdr_(rdr);
GfoNdeTstr.tst_ValsByCol(nde, "key1", "a");
GfoNdeTstr.tst_ValsByCol(nde, "val_int_func", 30);

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.dbs.groupBys; import gplx.*; import gplx.dbs.*;
import org.junit.*;
public class GroupBys_mysql_tst extends GroupBys_base_tst {
@Override protected Db_provider provider_() {return Db_provider_fxt.Mysql();}
@Override protected Db_conn provider_() {return Db_conn_fxt.Mysql();}
@Test public void GroupBy_1fld() {super.GroupBy_1fld_hook();}
@Test public void GroupBy_2fld() {super.GroupBy_2fld_hook();}
@Test public void Min() {super.MinMax_hook(true);}

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.dbs.groupBys; import gplx.*; import gplx.dbs.*;
import org.junit.*;
public class GroupBys_tdb_tst extends GroupBys_base_tst {
@Override protected Db_provider provider_() {return Db_provider_fxt.Tdb("130_dbs_group_bys.dsv");}
@Override protected Db_conn provider_() {return Db_conn_fxt.Tdb("130_dbs_group_bys.dsv");}
@Test public void GroupBy_1fld() {super.GroupBy_1fld_hook();}
@Test public void GroupBy_2fld() {super.GroupBy_2fld_hook();}
@Test public void Min() {super.MinMax_hook(true);}

View File

@@ -18,42 +18,42 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.dbs.insertIntos; import gplx.*; import gplx.dbs.*;
import org.junit.*;
public abstract class InsertIntos_base_tst {
protected abstract Db_provider provider_();
protected Db_provider provider;
protected abstract Db_conn provider_();
protected Db_conn conn;
@Before public void setup() {
provider = provider_();
provider.Exec_qry(Db_qry_delete.new_().BaseTable_("dbs_group_bys"));
provider.Exec_qry(Db_qry_delete.new_().BaseTable_("dbs_insert_intos"));
conn = provider_();
conn.Exec_qry(Db_qry_delete.new_("dbs_group_bys"));
conn.Exec_qry(Db_qry_delete.new_("dbs_insert_intos"));
}
@After public void teardown() {
provider.Conn_term();
conn.Conn_term();
}
protected void Select_hook() {
provider.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("val_int", 1));
conn.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("val_int", 1));
provider.Exec_qry
conn.Exec_qry
(Db_qry_.insert_("dbs_insert_intos")
.Cols_("key1", "val_int")
.Select_
( Db_qry_select.new_().Cols_("key1", "val_int").From_("dbs_group_bys")
)
);
DataRdr rdr = provider.Exec_qry_as_rdr(Db_qry_select.new_().Cols_("key1", "val_int").From_("dbs_insert_intos"));
DataRdr rdr = conn.Exec_qry_as_rdr(Db_qry_select.new_().Cols_("key1", "val_int").From_("dbs_insert_intos"));
GfoNde nde = GfoNde_.rdr_(rdr);
GfoNdeTstr.tst_ValsByCol(nde, "key1", "a");
}
protected void GroupBy_hook() {
provider.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("val_int", 1));
provider.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("val_int", 2));
conn.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("val_int", 1));
conn.Exec_qry(Db_qry_.insert_("dbs_group_bys").Arg_("key1", "a").Arg_("val_int", 2));
provider.Exec_qry
conn.Exec_qry
(Db_qry_.insert_("dbs_insert_intos")
.Cols_("key1", "val_int")
.Select_
( Db_qry_select.new_().Cols_("key1").Cols_groupBy_sum("val_int", "val_int_func")
.From_("dbs_group_bys").GroupBy_("key1")
));
DataRdr rdr = provider.Exec_qry_as_rdr(Db_qry_select.new_().Cols_("key1", "val_int").From_("dbs_insert_intos"));
DataRdr rdr = conn.Exec_qry_as_rdr(Db_qry_select.new_().Cols_("key1", "val_int").From_("dbs_insert_intos"));
GfoNde nde = GfoNde_.rdr_(rdr);
GfoNdeTstr.tst_ValsByCol(nde, "val_int", 3);
}

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.dbs.insertIntos; import gplx.*; import gplx.dbs.*;
import org.junit.*;
public class InsertIntos_mysql_tst extends InsertIntos_base_tst {
@Override protected Db_provider provider_() {return Db_provider_fxt.Mysql();}
@Override protected Db_conn provider_() {return Db_conn_fxt.Mysql();}
@Test public void Select() {super.Select_hook();}
@Test public void GroupBy() {super.GroupBy_hook();}
}

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.dbs.insertIntos; import gplx.*; import gplx.dbs.*;
import org.junit.*;
public class InsertIntos_tdb_tst extends InsertIntos_base_tst {
@Override protected Db_provider provider_() {return Db_provider_fxt.Tdb("140_dbs_insert_intos.dsv");}
@Override protected Db_conn provider_() {return Db_conn_fxt.Tdb("140_dbs_insert_intos.dsv");}
@Test public void Select() {super.Select_hook();}
@Test public void GroupBy() {super.GroupBy_hook();}
}

View File

@@ -16,29 +16,29 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.dbs.joins; import gplx.*; import gplx.dbs.*;
import org.junit.*;
import org.junit.*; import gplx.dbs.sqls.*;
public abstract class Joins_base_tst {
protected Db_provider provider;
protected Db_conn conn;
@Before public void setup() {
provider = provider_();
Db_qry_delete.new_().BaseTable_("dbs_crud_ops").Exec_qry(provider);
Db_qry_delete.new_().BaseTable_("dbs_join1").Exec_qry(provider);
conn = provider_();
Db_qry_delete.new_("dbs_crud_ops").Exec_qry(conn);
Db_qry_delete.new_("dbs_join1").Exec_qry(conn);
}
@After public void teardown() {
provider.Conn_term();
conn.Conn_term();
}
protected void InnerJoin_hook() {
provider.Exec_qry(Db_qry_insert.new_().BaseTable_("dbs_crud_ops").Arg_("id", 0).Arg_("name", "me"));
provider.Exec_qry(Db_qry_insert.new_().BaseTable_("dbs_crud_ops").Arg_("id", 1).Arg_("name", "you"));
provider.Exec_qry(Db_qry_insert.new_().BaseTable_("dbs_join1").Arg_("join_id", 0).Arg_("join_data", "data0"));
provider.Exec_qry(Db_qry_insert.new_().BaseTable_("dbs_join1").Arg_("join_id", 1).Arg_("join_data", "data1"));
conn.Exec_qry(new Db_qry_insert("dbs_crud_ops").Arg_("id", 0).Arg_("name", "me"));
conn.Exec_qry(new Db_qry_insert("dbs_crud_ops").Arg_("id", 1).Arg_("name", "you"));
conn.Exec_qry(new Db_qry_insert("dbs_join1").Arg_("join_id", 0).Arg_("join_data", "data0"));
conn.Exec_qry(new Db_qry_insert("dbs_join1").Arg_("join_id", 1).Arg_("join_data", "data1"));
Db_qry_select select = Db_qry_select.new_().From_("dbs_crud_ops").Join_("dbs_join1", "j1", Sql_join_itm.new_("join_id", "dbs_crud_ops", "id")).Cols_("id", "name", "join_data");
DataRdr rdr = provider.Exec_qry_as_rdr(select);
DataRdr rdr = conn.Exec_qry_as_rdr(select);
GfoNde table = GfoNde_.rdr_(rdr);
Tfds.Eq(table.Subs().Count(), 2);
Tfds.Eq(table.Subs().FetchAt_asGfoNde(0).Read("join_data"), "data0");
Tfds.Eq(table.Subs().FetchAt_asGfoNde(1).Read("join_data"), "data1");
}
protected abstract Db_provider provider_();
protected abstract Db_conn provider_();
}

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.dbs.joins; import gplx.*; import gplx.dbs.*;
import org.junit.*;
public class Joins_tdb_tst extends Joins_base_tst {
@Override protected Db_provider provider_() {return Db_provider_fxt.Tdb("120_dbs_joins.dsv");}
@Override protected Db_conn provider_() {return Db_conn_fxt.Tdb("120_dbs_joins.dsv");}
@Test public void InnerJoin() {
try {
InnerJoin_hook();

View File

@@ -19,15 +19,15 @@ package gplx.dbs.orderBys; import gplx.*; import gplx.dbs.*;
import org.junit.*;
public abstract class OrderBys_base_tst {
@Before public void setup() {
provider = provider_();
fx.Provider_(provider);
Db_qry_delete.new_().BaseTable_("dbs_crud_ops").Exec_qry(provider);
} protected Db_provider_fxt fx = new Db_provider_fxt();
@After public void teardown() {provider.Conn_term();}
protected abstract Db_provider provider_(); protected Db_provider provider;
conn = provider_();
fx.Conn_(conn);
Db_qry_delete.new_("dbs_crud_ops").Exec_qry(conn);
} protected Db_conn_fxt fx = new Db_conn_fxt();
@After public void teardown() {conn.Conn_term();}
protected abstract Db_conn provider_(); protected Db_conn conn;
protected void Basic_hook() {
fx.tst_ExecDml(1, Db_qry_insert.new_().BaseTable_("dbs_crud_ops").Arg_("id", 1).Arg_("name", "you"));
fx.tst_ExecDml(1, Db_qry_insert.new_().BaseTable_("dbs_crud_ops").Arg_("id", 0).Arg_("name", "me"));
fx.tst_ExecDml(1, new Db_qry_insert("dbs_crud_ops").Arg_("id", 1).Arg_("name", "you"));
fx.tst_ExecDml(1, new Db_qry_insert("dbs_crud_ops").Arg_("id", 0).Arg_("name", "me"));
fx.tst_ExecRdr(2, Db_qry_select.new_().From_("dbs_crud_ops").OrderBy_("id", true));
fx.tst_RowAry(0, 0, "me");
@@ -38,8 +38,8 @@ public abstract class OrderBys_base_tst {
fx.tst_RowAry(1, 0, "me");
}
protected void SameVals_hook() {
fx.tst_ExecDml(1, Db_qry_insert.new_().BaseTable_("dbs_crud_ops").Arg_("id", 0).Arg_("name", "me"));
fx.tst_ExecDml(1, Db_qry_insert.new_().BaseTable_("dbs_crud_ops").Arg_("id", 0).Arg_("name", "you"));
fx.tst_ExecDml(1, new Db_qry_insert("dbs_crud_ops").Arg_("id", 0).Arg_("name", "me"));
fx.tst_ExecDml(1, new Db_qry_insert("dbs_crud_ops").Arg_("id", 0).Arg_("name", "you"));
fx.tst_ExecRdr(2, Db_qry_select.new_().From_("dbs_crud_ops").OrderBy_("id", true));
fx.tst_RowAry(0, 0, "me");

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.dbs.orderBys; import gplx.*; import gplx.dbs.*;
import org.junit.*;
public class OrderBys_tdb_tst extends OrderBys_base_tst {
@Override protected Db_provider provider_() {return Db_provider_fxt.Tdb("120_dbs_joins.dsv");}
@Override protected Db_conn provider_() {return Db_conn_fxt.Tdb("120_dbs_joins.dsv");}
@Test public void Basic() {
Basic_hook();
}
@@ -29,10 +29,10 @@ public class OrderBys_tdb_tst extends OrderBys_base_tst {
//namespace gplx.dbs.crudOps {
// import org.junit.*;
// public class CrudOps_tdb_tst {
// @Before public void setup() {fx = new CrudOpsFxt(Db_provider_fxt.Tdb("100_dbs_crud_ops.dsv"));} CrudOpsFxt fx;
// @Before public void setup() {fx = new CrudOpsFxt(Db_conn_fxt.Tdb("100_dbs_crud_ops.dsv"));} CrudOpsFxt fx;
// @Test public void FlushToDisk() {
// fx.Fx().tst_ExecDml(1, Db_qry_.insert_("dbs_crud_ops").Arg_("id", 2).Arg_("name", "you"));
// Db_qry_flush.new_("dbs_crud_ops").Exec_qry(fx.Fx().Provider());
// Db_qry_flush.new_("dbs_crud_ops").Exec_qry(fx.Fx().Conn());
// }
// }
//}