mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
v2.6.5.1
This commit is contained in:
@@ -44,7 +44,8 @@ public class Db_conn {
|
||||
public void Ddl_create_idx(Gfo_usr_dlg usr_dlg, Db_meta_idx... idxs) {engine.Ddl_create_idx(usr_dlg, idxs);}
|
||||
public void Ddl_append_fld(String tbl, Db_meta_fld fld) {engine.Ddl_append_fld(tbl, fld);}
|
||||
public void Ddl_delete_tbl(String tbl) {engine.Ddl_delete_tbl(tbl);}
|
||||
public boolean Meta_tbl_exists(String tbl) {return engine.Meta_tbl_exists(tbl);}
|
||||
public boolean Meta_tbl_exists(String tbl) {return engine.Meta_tbl_exists(tbl);}
|
||||
public boolean Meta_fld_exists(String tbl, String fld) {return engine.Meta_fld_exists(tbl, fld);}
|
||||
public void Rls_reg(RlsAble rls) {rls_list.Add(rls);}
|
||||
public void Rls_conn() {
|
||||
int len = rls_list.Count();
|
||||
@@ -56,7 +57,7 @@ public class Db_conn {
|
||||
Db_conn_pool.I.Del(engine.Conn_info());
|
||||
}
|
||||
public int Exec_sql(String sql) {return this.Exec_qry(Db_qry_sql.dml_(sql));}
|
||||
public Db_rdr Exec_sql_as_rdr2(String sql) {return this.Stmt_new(Db_qry_sql.dml_(sql)).Exec_select__rls_auto();}
|
||||
public Db_rdr Exec_sql_as_rdr_v2(String sql) {return this.Stmt_new(Db_qry_sql.dml_(sql)).Exec_select__rls_auto();}
|
||||
public int Exec_sql_plog_ntx(String msg, String sql) {return Exec_sql_plog(Bool_.N, msg, sql);}
|
||||
public int Exec_sql_plog_txn(String msg, String sql) {return Exec_sql_plog(Bool_.Y, msg, sql);}
|
||||
public int Exec_sql_plog(boolean txn, String msg, String sql) {
|
||||
|
||||
@@ -17,20 +17,31 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.dbs; import gplx.*;
|
||||
public class Db_meta_fld {
|
||||
public Db_meta_fld(String name, int tid, int len, boolean nullable, boolean primary, boolean autonum, Object default_value) {
|
||||
public Db_meta_fld(String name, int tid, int len) {
|
||||
this.name = name; this.tid = tid; this.len = len;
|
||||
this.nullable = nullable; this.primary = primary; this.autonum = autonum; this.default_value = default_value;
|
||||
this.nullable = false; this.primary = false; this.autonum = false; this.default_val = Default_value_null;
|
||||
}
|
||||
public int Tid() {return tid;} private final int tid;
|
||||
public String Name() {return name;} private final String name;
|
||||
public int Len() {return len;} private final int len;
|
||||
public boolean Nullable() {return nullable;} private final boolean nullable;
|
||||
public boolean Primary() {return primary;} private final boolean primary;
|
||||
public boolean Autonum() {return autonum;} private final boolean autonum;
|
||||
public Object Default_value() {return default_value;} private final Object default_value;
|
||||
public boolean Nullable() {return nullable;} public Db_meta_fld Nullable_y_() {nullable = true; return this;} private boolean nullable;
|
||||
public boolean Primary() {return primary;} public Db_meta_fld Primary_y_() {primary = true; return this;} private boolean primary;
|
||||
public boolean Autonum() {return autonum;} public Db_meta_fld Autonum_y_() {autonum = true; return this;} private boolean autonum;
|
||||
public Object Default() {return default_val;} public Db_meta_fld Default_(Object v) {default_val = v; return this;} private Object default_val;
|
||||
|
||||
public static final int Tid_bool = 0, Tid_byte = 1, Tid_short = 2, Tid_int = 3, Tid_long = 4, Tid_float = 5, Tid_double = 6, Tid_str = 7, Tid_text = 8, Tid_bry = 9, Tid_decimal = 10, Tid_date = 11;
|
||||
public static final String Key_null = null;
|
||||
public static final int Len_null = -1;
|
||||
public static final String[] Ary_empy = String_.Ary_empty;
|
||||
public static final Object Default_value_null = null;
|
||||
public static final String[] Ary_empty = String_.Ary_empty;
|
||||
public static Db_meta_fld new_bool(String name) {return new Db_meta_fld(name, Tid_bool , Len_null);}
|
||||
public static Db_meta_fld new_byte(String name) {return new Db_meta_fld(name, Tid_byte , Len_null);}
|
||||
public static Db_meta_fld new_short(String name) {return new Db_meta_fld(name, Tid_short , Len_null);}
|
||||
public static Db_meta_fld new_int(String name) {return new Db_meta_fld(name, Tid_int , Len_null);}
|
||||
public static Db_meta_fld new_long(String name) {return new Db_meta_fld(name, Tid_long , Len_null);}
|
||||
public static Db_meta_fld new_float(String name) {return new Db_meta_fld(name, Tid_float , Len_null);}
|
||||
public static Db_meta_fld new_double(String name) {return new Db_meta_fld(name, Tid_double, Len_null);}
|
||||
public static Db_meta_fld new_text(String name) {return new Db_meta_fld(name, Tid_text , Len_null);}
|
||||
public static Db_meta_fld new_bry(String name) {return new Db_meta_fld(name, Tid_bry , Len_null);}
|
||||
public static Db_meta_fld new_str(String name, int len) {return new Db_meta_fld(name, Tid_str , len);}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,8 @@ public class Db_meta_fld_list {
|
||||
private final Ordered_hash flds = Ordered_hash_.new_();
|
||||
private final List_adp keys = List_adp_.new_();
|
||||
public void Clear() {flds.Clear(); keys.Clear();}
|
||||
public Db_meta_fld Get_by(String name) {return (Db_meta_fld)flds.Get_by(name);}
|
||||
public Db_meta_fld Get_by(String name) {return (Db_meta_fld)flds.Get_by(name);}
|
||||
public Db_meta_fld Get_at(int idx) {return (Db_meta_fld)flds.Get_at(idx);}
|
||||
public String[] To_str_ary() {if (str_ary == null) str_ary = (String[])keys.To_ary(String.class); return str_ary;} private String[] str_ary;
|
||||
public Db_meta_fld[] To_fld_ary() {if (fld_ary == null) fld_ary = (Db_meta_fld[])flds.To_ary(Db_meta_fld.class); return fld_ary;} private Db_meta_fld[] fld_ary;
|
||||
public String[] To_str_ary_wo_autonum() {
|
||||
@@ -51,34 +52,29 @@ public class Db_meta_fld_list {
|
||||
return rv.To_str_ary();
|
||||
}
|
||||
public boolean Has(String key) {return flds.Has(key);}
|
||||
public String Add_bool(String name) {return Add(name, Db_meta_fld.Tid_bool, Len_null, Bool_.N, Bool_.N, Bool_.N, Db_meta_fld.Default_value_null);}
|
||||
public String Add_byte(String name) {return Add(name, Db_meta_fld.Tid_byte, Len_null, Bool_.N, Bool_.N, Bool_.N, Db_meta_fld.Default_value_null);}
|
||||
public String Add_short(String name) {return Add(name, Db_meta_fld.Tid_short, Len_null, Bool_.N, Bool_.N, Bool_.N, Db_meta_fld.Default_value_null);}
|
||||
public String Add_int(String name) {return Add(name, Db_meta_fld.Tid_int, Len_null, Bool_.N, Bool_.N, Bool_.N, Db_meta_fld.Default_value_null);}
|
||||
public String Add_int_pkey(String name) {return Add(name, Db_meta_fld.Tid_int, Len_null, Bool_.N, Bool_.Y, Bool_.N, Db_meta_fld.Default_value_null);}
|
||||
public String Add_int_pkey_autonum(String name) {return Add(name, Db_meta_fld.Tid_int, Len_null, Bool_.N, Bool_.Y, Bool_.Y, Db_meta_fld.Default_value_null);}
|
||||
public String Add_int_autonum(String name) {return Add(name, Db_meta_fld.Tid_int, Len_null, Bool_.N, Bool_.Y, Bool_.N, Db_meta_fld.Default_value_null);}
|
||||
public String Add_int_dflt(String name, int dflt) {return Add(name, Db_meta_fld.Tid_int, Len_null, Bool_.N, Bool_.N, Bool_.N, dflt);}
|
||||
public String Add_long(String name) {return Add(name, Db_meta_fld.Tid_long, Len_null, Bool_.N, Bool_.N, Bool_.N, Db_meta_fld.Default_value_null);}
|
||||
public String Add_float(String name) {return Add(name, Db_meta_fld.Tid_float, Len_null, Bool_.N, Bool_.N, Bool_.N, Db_meta_fld.Default_value_null);}
|
||||
public String Add_double(String name) {return Add(name, Db_meta_fld.Tid_double, Len_null, Bool_.N, Bool_.N, Bool_.N, Db_meta_fld.Default_value_null);}
|
||||
public String Add_str(String name, int len) {return Add(name, Db_meta_fld.Tid_str, len, Bool_.N, Bool_.N, Bool_.N, Db_meta_fld.Default_value_null);}
|
||||
public String Add_str_pkey(String name, int len) {return Add(name, Db_meta_fld.Tid_str, len, Bool_.N, Bool_.Y, Bool_.N, Db_meta_fld.Default_value_null);}
|
||||
public String Add_str_null(String name, int len) {return Add(name, Db_meta_fld.Tid_str, len, Bool_.Y, Bool_.N, Bool_.N, Db_meta_fld.Default_value_null);}
|
||||
public String Add_bool(String name) {return Add(Db_meta_fld.new_bool(name));}
|
||||
public String Add_byte(String name) {return Add(Db_meta_fld.new_byte(name));}
|
||||
public String Add_short(String name) {return Add(Db_meta_fld.new_short(name));}
|
||||
public String Add_int(String name) {return Add(Db_meta_fld.new_int(name));}
|
||||
public String Add_int_pkey(String name) {return Add(Db_meta_fld.new_int(name).Primary_y_());}
|
||||
public String Add_int_pkey_autonum(String name) {return Add(Db_meta_fld.new_int(name).Primary_y_().Autonum_y_());}
|
||||
public String Add_int_autonum(String name) {return Add(Db_meta_fld.new_int(name).Autonum_y_());}
|
||||
public String Add_int_dflt(String name, int dflt) {return Add(Db_meta_fld.new_int(name).Default_(dflt));}
|
||||
public String Add_long(String name) {return Add(Db_meta_fld.new_long(name));}
|
||||
public String Add_float(String name) {return Add(Db_meta_fld.new_float(name));}
|
||||
public String Add_double(String name) {return Add(Db_meta_fld.new_double(name));}
|
||||
public String Add_text(String name) {return Add(Db_meta_fld.new_text(name));}
|
||||
public String Add_bry(String name) {return Add(Db_meta_fld.new_bry(name));}
|
||||
public String Add_str(String name, int len) {return Add(Db_meta_fld.new_str(name, len));}
|
||||
public String Add_str_pkey(String name, int len) {return Add(Db_meta_fld.new_str(name, len).Primary_y_());}
|
||||
public String Add_str_null(String name, int len) {return Add(Db_meta_fld.new_str(name, len).Nullable_y_());}
|
||||
public String Add_str_dflt(String name, int len, String dflt)
|
||||
{return Add(name, Db_meta_fld.Tid_str, len, Bool_.N, Bool_.N, Bool_.N, dflt);}
|
||||
public String Add_text(String name) {return Add(name, Db_meta_fld.Tid_text, Len_null, Bool_.N, Bool_.N, Bool_.N, Db_meta_fld.Default_value_null);}
|
||||
public String Add_bry(String name) {return Add(name, Db_meta_fld.Tid_bry, Len_null, Bool_.N, Bool_.N, Bool_.N, Db_meta_fld.Default_value_null);}
|
||||
public String Add(String name, int tid, int len, boolean nullable, boolean primary, boolean autoincrement, Object default_value) {
|
||||
Db_meta_fld fld = new Db_meta_fld(name, tid, len, nullable, primary, autoincrement, default_value);
|
||||
Add_itm(fld);
|
||||
return name;
|
||||
}
|
||||
public void Add_itm(Db_meta_fld fld) {
|
||||
{return Add(Db_meta_fld.new_str(name, len).Default_(dflt));}
|
||||
public String Add(Db_meta_fld fld) {
|
||||
String name = fld.Name();
|
||||
flds.Add(name, fld);
|
||||
keys.Add(name);
|
||||
return name;
|
||||
}
|
||||
private static final int Len_null = Db_meta_fld.Len_null;
|
||||
public static Db_meta_fld_list new_() {return new Db_meta_fld_list();}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ package gplx.dbs; import gplx.*;
|
||||
public interface Db_rdr {
|
||||
boolean Move_next();
|
||||
byte[] Read_bry(String k);
|
||||
byte[] Read_bry_in_parts(String tbl, String fld, String crt_key, Object crt_val);
|
||||
void Save_bry_in_parts(Io_url url, String tbl, String fld, String crt_key, Object crt_val);
|
||||
byte[] Read_bry_by_str(String k);
|
||||
String Read_str(String k);
|
||||
byte Read_byte(String k);
|
||||
|
||||
@@ -23,7 +23,7 @@ class Db_rdr__empty implements Db_rdr {
|
||||
public boolean Move_next() {return false;}
|
||||
public byte[] Read_bry(String k) {return Bry_.Empty;}
|
||||
public byte[] Read_bry_by_str(String k) {return Bry_.Empty;}
|
||||
public byte[] Read_bry_in_parts(String tbl, String fld, String crt_key, Object crt_val) {return Bry_.Empty;}
|
||||
public void Save_bry_in_parts(Io_url url, String tbl, String fld, String crt_key, Object crt_val) {}
|
||||
public byte Read_byte(String k) {return Byte_.Max_value_127;}
|
||||
public String Read_str(String k) {return String_.Empty;}
|
||||
public DateAdp Read_date_by_str(String k) {return DateAdp_.MinValue;}
|
||||
|
||||
@@ -28,7 +28,7 @@ public class Db_rdr__basic implements Db_rdr {
|
||||
}
|
||||
@gplx.Virtual public byte[] Read_bry(String k) {try {return (byte[])rdr.getObject(k);} catch (Exception e) {throw Err_.new_("read failed: k={0} type={1} err={2}", k, Bry_.Cls_val_name, Err_.Message_lang(e));}}
|
||||
@gplx.Virtual public byte[] Read_bry_by_str(String k) {try {return Bry_.new_u8((String)rdr.getObject(k));} catch (Exception e) {throw Err_.new_("read failed: k={0} type={1} err={2}", k, String_.Cls_val_name, Err_.Message_lang(e));}}
|
||||
@gplx.Virtual public byte[] Read_bry_in_parts(String tbl, String fld, String crt_key, Object crt_val) {throw Err_.not_implemented_();}
|
||||
@gplx.Virtual public void Save_bry_in_parts(Io_url url, String tbl, String fld, String crt_key, Object crt_val) {throw Err_.not_implemented_();}
|
||||
@gplx.Virtual public String Read_str(String k) {try {return (String)rdr.getObject(k);} catch (Exception e) {throw Err_.new_("read failed: k={0} type={1} err={2}", k, String_.Cls_val_name, Err_.Message_lang(e));}}
|
||||
@gplx.Virtual public DateAdp Read_date_by_str(String k) {return DateAdp_.parse_iso8561(Read_str(k));}
|
||||
@gplx.Virtual public int Read_int(String k) {try {return Int_.cast_(rdr.getObject(k));} catch (Exception e) {throw Err_.new_("read failed: k={0} type={1} err={2}", k, Int_.Cls_val_name, Err_.Message_lang(e));}}
|
||||
|
||||
@@ -17,9 +17,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package gplx.dbs.engines.mems; import gplx.*; import gplx.dbs.*; import gplx.dbs.engines.*;
|
||||
public class Db_rdr__mem implements Db_rdr {
|
||||
private final Mem_itm[] rows; private int row_idx = -1; private final int rows_len;
|
||||
private Mem_itm row;
|
||||
public Db_rdr__mem(String[] cols, Mem_itm[] rows) {
|
||||
private final Mem_row[] rows; private int row_idx = -1; private final int rows_len;
|
||||
private Mem_row row;
|
||||
public Db_rdr__mem(String[] cols, Mem_row[] rows) {
|
||||
this.rows = rows; this.rows_len = rows.length;
|
||||
}
|
||||
public boolean Move_next() {
|
||||
@@ -31,7 +31,7 @@ public class Db_rdr__mem implements Db_rdr {
|
||||
public byte[] Read_bry(String k) {return (byte[])row.Get_by(k);}
|
||||
public String Read_str(String k) {return (String)row.Get_by(k);}
|
||||
public byte[] Read_bry_by_str(String k) {return Bry_.new_u8_safe((String)row.Get_by(k));} // NOTE: null b/c db can have NULL
|
||||
@gplx.Virtual public byte[] Read_bry_in_parts(String tbl, String fld, String crt_key, Object crt_val) {throw Err_.not_implemented_();}
|
||||
@gplx.Virtual public void Save_bry_in_parts(Io_url url, String tbl, String fld, String crt_key, Object crt_val) {throw Err_.not_implemented_();}
|
||||
public DateAdp Read_date_by_str(String k) {return DateAdp_.parse_iso8561((String)row.Get_by(k));}
|
||||
public byte Read_byte(String k) {return Byte_.cast_(row.Get_by(k));}
|
||||
public int Read_int(String k) {return Int_.cast_(row.Get_by(k));}
|
||||
|
||||
24
140_dbs/src/gplx/dbs/engines/mems/Mem_qry_set.java
Normal file
24
140_dbs/src/gplx/dbs/engines/mems/Mem_qry_set.java
Normal file
@@ -0,0 +1,24 @@
|
||||
/*
|
||||
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.engines.mems; import gplx.*; import gplx.dbs.*; import gplx.dbs.engines.*;
|
||||
public class Mem_qry_set {
|
||||
private final List_adp rows = List_adp_.new_();
|
||||
public int Len() {return rows.Count();}
|
||||
public Mem_row Get_at(int i) {return (Mem_row)rows.Get_at(i);}
|
||||
public void Add(Mem_row row) {rows.Add(row);}
|
||||
}
|
||||
@@ -16,11 +16,12 @@ 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.engines.mems; import gplx.*; import gplx.dbs.*; import gplx.dbs.engines.*;
|
||||
public class Mem_itm implements GfoInvkAble {
|
||||
public class Mem_row implements GfoInvkAble {
|
||||
private final Ordered_hash hash = Ordered_hash_.new_();
|
||||
public Object Get_by(String key) {return hash.Get_by(key);}
|
||||
public Object Get_at(int i) {return hash.Get_at(i);}
|
||||
public void Set_by(String key, Object val) {hash.Add_if_dupe_use_nth(key, val);}
|
||||
public void Set_by(String key, Object val) {hash.Add_if_dupe_use_nth(key, val);}
|
||||
public void Add(String key, Object val) {hash.Add(key, val);}
|
||||
public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {
|
||||
Object rv = Get_by(k);
|
||||
if (rv == null) return GfoInvkAble_.Rv_unhandled;
|
||||
@@ -23,7 +23,7 @@ public class Mem_tbl {
|
||||
public Mem_tbl(Db_meta_tbl meta) {this.meta = meta;}
|
||||
public Db_meta_tbl Meta() {return meta;} private final Db_meta_tbl meta;
|
||||
public int Insert(Db_stmt__mem stmt) {
|
||||
Mem_itm itm = new Mem_itm();
|
||||
Mem_row itm = new Mem_row();
|
||||
Db_meta_fld[] flds = meta.Flds();
|
||||
int len = flds.length;
|
||||
for (int i = 0; i < len; ++i) {
|
||||
@@ -50,7 +50,7 @@ public class Mem_tbl {
|
||||
int where_rows_len = where_rows.Count();
|
||||
String[] update_cols = qry.Cols_for_update(); int update_cols_len = update_cols.length;
|
||||
for (int i = 0; i < where_rows_len; ++i) {
|
||||
Mem_itm itm = (Mem_itm)where_rows.Get_at(i);
|
||||
Mem_row itm = (Mem_row)where_rows.Get_at(i);
|
||||
for (int j = 0; j < update_cols_len; ++j)
|
||||
itm.Set_by(update_cols[j], stmt.Args_get_at(j));
|
||||
}
|
||||
@@ -62,7 +62,7 @@ public class Mem_tbl {
|
||||
Select_rows_where(where_rows, stmt, qry.Where());
|
||||
int where_rows_len = where_rows.Count();
|
||||
for (int i = 0; i < where_rows_len; ++i) {
|
||||
Mem_itm itm = (Mem_itm)where_rows.Get_at(i);
|
||||
Mem_row itm = (Mem_row)where_rows.Get_at(i);
|
||||
rows.Del(itm);
|
||||
}
|
||||
return where_rows_len;
|
||||
@@ -81,13 +81,13 @@ public class Mem_tbl {
|
||||
}
|
||||
where.Val_from_args(stmt.Crts());
|
||||
Select_rows_where(where_rows, stmt, where);
|
||||
return new Db_rdr__mem(select, (Mem_itm[])where_rows.To_ary_and_clear(Mem_itm.class));
|
||||
return new Db_rdr__mem(select, (Mem_row[])where_rows.To_ary_and_clear(Mem_row.class));
|
||||
}
|
||||
private void Select_rows_where(List_adp rv, Db_stmt__mem stmt, Criteria crt) {
|
||||
rv.Clear();
|
||||
int rows_len = rows.Count();
|
||||
for (int i = 0; i < rows_len; ++i) {
|
||||
Mem_itm itm = (Mem_itm)rows.Get_at(i);
|
||||
Mem_row itm = (Mem_row)rows.Get_at(i);
|
||||
if (crt.Matches(itm))
|
||||
rv.Add(itm);
|
||||
}
|
||||
|
||||
@@ -39,8 +39,8 @@ public class Sql_bry_rdr extends Bry_rdr { public byte[] Read_sql_identifier()
|
||||
byte[] end_bry = null;
|
||||
switch (b_0) {
|
||||
case Byte_ascii.Dash: bgn_1 = Byte_ascii.Dash; end_bry = Comm_end_line; break;
|
||||
case Byte_ascii.Slash: bgn_1 = Byte_ascii.Asterisk; end_bry = Comm_end_multi; break;
|
||||
case Byte_ascii.Tab: case Byte_ascii.NewLine: case Byte_ascii.CarriageReturn: case Byte_ascii.Space:
|
||||
case Byte_ascii.Slash: bgn_1 = Byte_ascii.Star; end_bry = Comm_end_multi; break;
|
||||
case Byte_ascii.Tab: case Byte_ascii.Nl: case Byte_ascii.Cr: case Byte_ascii.Space:
|
||||
++pos;
|
||||
return super.Skip_ws();
|
||||
default:
|
||||
@@ -53,5 +53,5 @@ public class Sql_bry_rdr extends Bry_rdr { public byte[] Read_sql_identifier()
|
||||
pos = end_pos + end_bry.length;
|
||||
return this.Skip_ws();
|
||||
}
|
||||
private static final byte[] Comm_end_line = Byte_ascii.NewLine_bry, Comm_end_multi = Bry_.new_a7("*/");
|
||||
private static final byte[] Comm_end_line = Byte_ascii.Nl_bry, Comm_end_multi = Bry_.new_a7("*/");
|
||||
}
|
||||
|
||||
@@ -65,14 +65,14 @@ public class Db_sqlbldr__sqlite implements Db_sqlbldr {
|
||||
tmp_bfr.Add_str_a7(fld.Name()).Add_byte_space();
|
||||
Tid_to_sql(tmp_bfr, fld.Tid(), fld.Len()); tmp_bfr.Add_byte_space();
|
||||
tmp_bfr.Add_str_a7(fld.Nullable() ? "NULL " : "NOT NULL ");
|
||||
if (fld.Default_value() != Db_meta_fld.Default_value_null) {
|
||||
if (fld.Default() != Db_meta_fld.Default_value_null) {
|
||||
tmp_bfr.Add_str_a7("DEFAULT ");
|
||||
boolean quote = Bool_.N;
|
||||
switch (fld.Tid()) {
|
||||
case Db_meta_fld.Tid_str: case Db_meta_fld.Tid_text: quote = Bool_.Y; break;
|
||||
}
|
||||
if (quote) tmp_bfr.Add_byte_apos();
|
||||
tmp_bfr.Add_str_u8(Object_.Xto_str_strict_or_null(fld.Default_value()));
|
||||
tmp_bfr.Add_str_u8(Object_.Xto_str_strict_or_null(fld.Default()));
|
||||
if (quote) tmp_bfr.Add_byte_apos();
|
||||
tmp_bfr.Add_byte_space();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user