mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
v2.7.3.1
This commit is contained in:
@@ -21,8 +21,8 @@ public class Db_obj_ary_crt implements gplx.core.criterias.Criteria {
|
||||
public byte Tid() {return Criteria_.Tid_db_obj_ary;}
|
||||
public Db_fld[] Flds() {return flds;} public Db_obj_ary_crt Flds_(Db_fld[] v) {this.flds = v; return this;} private Db_fld[] flds;
|
||||
public Object[][] Vals() {return vals;} public void Vals_(Object[][] v) {this.vals = v;} private Object[][] vals;
|
||||
public void Val_from_args(Hash_adp args) {throw Exc_.new_unimplemented();}
|
||||
public void Val_as_obj_(Object v) {throw Exc_.new_unimplemented();}
|
||||
public void Val_from_args(Hash_adp args) {throw Err_.new_unimplemented();}
|
||||
public void Val_as_obj_(Object v) {throw Err_.new_unimplemented();}
|
||||
public boolean Matches(Object obj) {return false;}
|
||||
public String XtoStr() {return "";}
|
||||
public static Db_obj_ary_crt new_(Db_fld... flds) {return new Db_obj_ary_crt().Flds_(flds);}
|
||||
|
||||
@@ -92,7 +92,7 @@ public class Db_sqlbldr__sqlite implements Db_sqlbldr {
|
||||
case Db_meta_fld.Tid_str: tmp_bfr.Add_str_a7("varchar(").Add_int_variable(len).Add_byte(Byte_ascii.Paren_end); break;
|
||||
case Db_meta_fld.Tid_text: tmp_bfr.Add_str_a7("text"); break;
|
||||
case Db_meta_fld.Tid_bry: tmp_bfr.Add_str_a7("blob"); break;
|
||||
default: throw Exc_.new_unhandled(tid);
|
||||
default: throw Err_.new_unhandled(tid);
|
||||
}
|
||||
}
|
||||
public static final Db_sqlbldr__sqlite I = new Db_sqlbldr__sqlite(); Db_sqlbldr__sqlite() {}
|
||||
|
||||
@@ -31,7 +31,7 @@ public class Sql_qry_wtr_ansi implements Sql_qry_wtr {
|
||||
case Db_qry_.Tid_select_in_tbl:
|
||||
case Db_qry_.Tid_select: return Bld_qry_select((Db_qry__select_cmd)cmd);
|
||||
case Db_qry_.Tid_sql: return ((Db_qry_sql)cmd).Xto_sql();
|
||||
default: throw Exc_.new_unhandled(cmd.Tid());
|
||||
default: throw Err_.new_unhandled(cmd.Tid());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -51,7 +51,7 @@ public class Sql_qry_wtr_ansi implements Sql_qry_wtr {
|
||||
sb.Add(Bld_qry_select(cmd.Select()));
|
||||
return sb.Xto_str_and_clear();
|
||||
}
|
||||
int arg_count = cmd.Args().Count(); if (arg_count == 0) throw Exc_.new_("Db_qry_insert has no columns", "base_table", cmd.Base_table());
|
||||
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;
|
||||
sb.Add_many("INSERT INTO ", cmd.Base_table(), " (");
|
||||
for (int i = 0; i < arg_count; i++) {
|
||||
@@ -69,7 +69,7 @@ public class Sql_qry_wtr_ansi implements Sql_qry_wtr {
|
||||
return sb.Xto_str_and_clear();
|
||||
}
|
||||
private String Bld_qry_update(Db_qry_update cmd) {
|
||||
int arg_count = cmd.Args().Count(); if (arg_count == 0) throw Exc_.new_("Db_qry_update has no columns", "base_table", cmd.Base_table());
|
||||
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());
|
||||
sb.Add_many("UPDATE ", cmd.Base_table(), " SET ");
|
||||
for (int i = 0; i < arg_count; i++) {
|
||||
KeyVal pair = cmd.Args().Get_at(i);
|
||||
@@ -140,7 +140,7 @@ public class Sql_qry_wtr_ansi implements Sql_qry_wtr {
|
||||
sb.Add(" INDEXED BY ").Add(idx_name);
|
||||
}
|
||||
private void Xto_sql_col(String_bldr sb, Object obj) {
|
||||
if (obj == null) throw Exc_.new_null("ColName");
|
||||
if (obj == null) throw Err_.new_null();
|
||||
sb.Add_obj(obj); // FIXME: options for bracketing; ex: [name]
|
||||
}
|
||||
public void Bld_val(String_bldr sb, Db_arg arg) {
|
||||
@@ -211,7 +211,7 @@ public class Sql_qry_wtr_ansi implements Sql_qry_wtr {
|
||||
Append_db_obj_ary(sb, (Db_obj_ary_crt)crt);
|
||||
}
|
||||
else {
|
||||
Criteria_fld leaf = Criteria_fld.as_(crt); if (leaf == null) throw Exc_.new_invalid_op(crt.XtoStr());
|
||||
Criteria_fld leaf = Criteria_fld.as_(crt); if (leaf == null) throw Err_.new_invalid_op(crt.XtoStr());
|
||||
sb.Add(leaf.Key());
|
||||
Bld_where_crt(sb, leaf.Crt());
|
||||
}
|
||||
@@ -224,7 +224,7 @@ public class Sql_qry_wtr_ansi implements Sql_qry_wtr {
|
||||
case Criteria_.Tid_in: Bld_where_in(sb, Criteria_in.as_(crt)); break;
|
||||
case Criteria_.Tid_like: Bld_where_like(sb, Criteria_like.as_(crt)); break;
|
||||
case Criteria_.Tid_iomatch: Bld_where_iomatch(sb, Criteria_ioMatch.as_(crt)); break;
|
||||
default: throw Exc_.new_unhandled(crt);
|
||||
default: throw Err_.new_unhandled(crt);
|
||||
}
|
||||
}
|
||||
private void Bld_where_eq(String_bldr sb, Criteria_eq crt) {
|
||||
|
||||
@@ -31,8 +31,8 @@ public abstract class Sql_select_fld_base {
|
||||
}
|
||||
}
|
||||
class Sql_select_fld_wild extends Sql_select_fld_base {
|
||||
@Override public Object GroupBy_eval(Object groupByVal, Object curVal, ClassXtn type) {throw Exc_.new_("group by eval not allowed on *");}
|
||||
@Override public void GroupBy_type(GfoFld fld) {throw Exc_.new_("group by type not allowed on *");}
|
||||
@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, "*", "*");}
|
||||
}
|
||||
|
||||
@@ -28,8 +28,8 @@ public class Sql_select_fld_list {
|
||||
for (int i = 0; i < this.Count(); i++) {
|
||||
Sql_select_fld_base selectFld = this.Get_at(i);
|
||||
GfoFld fld = tbl.Flds().FetchOrNull(selectFld.Fld());
|
||||
if (fld == null) throw Exc_.new_("fld not found in tbl", "fldName", selectFld.Fld(), "tblName", tbl.Name(), "tblFlds", tbl.Flds().XtoStr());
|
||||
if (rv.Has(selectFld.Alias())) throw Exc_.new_("alias is not unique", "fldName", selectFld.Fld(), "flds", rv.XtoStr());
|
||||
if (fld == null) throw Err_.new_wo_type("fld not found in tbl", "fldName", selectFld.Fld(), "tblName", tbl.Name(), "tblFlds", tbl.Flds().XtoStr());
|
||||
if (rv.Has(selectFld.Alias())) throw Err_.new_wo_type("alias is not unique", "fldName", selectFld.Fld(), "flds", rv.XtoStr());
|
||||
selectFld.GroupBy_type(fld);
|
||||
rv.Add(selectFld.Alias(), selectFld.ValType());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user