mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
v2.1.4.1
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);}
|
||||
|
||||
@@ -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);}
|
||||
|
||||
Reference in New Issue
Block a user