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,16 +19,16 @@ package gplx.dbs; import gplx.*;
import gplx.stores.*;
import java.sql.*;
class Mysql_engine extends Db_engine_sql_base {
@Override public String Key() {return Db_connect_mysql.KeyDef;}
@Override public String Key() {return Db_conn_info__mysql.Key_const;}
@Override public Sql_cmd_wtr SqlWtr() {return Sql_cmd_wtr_.BackslashSensitive;}
@Override public Db_engine MakeEngine(Db_connect connectInfo) {
@Override public Db_engine Make_new(Db_conn_info connectInfo) {
Mysql_engine rv = new Mysql_engine();
rv.ctor_SqlEngineBase(connectInfo);
return rv;
}
@Override public DataRdr NewDataRdr(ResultSet rdr, String commandText) {return Mysql_rdr.new_(rdr, commandText);}
@gplx.Internal @Override protected Connection NewDbCon() {
Db_connect_mysql connUrl = (Db_connect_mysql)dbInfo;
@gplx.Internal @Override protected Connection Conn_new() {
Db_conn_info__mysql connUrl = (Db_conn_info__mysql)conn_info;
return NewDbCon("jdbc:mysql://localhost/" + connUrl.Database() + "?characterEncoding=UTF8", connUrl.Uid(), connUrl.Pwd());
}
@gplx.Internal protected static final Mysql_engine _ = new Mysql_engine(); Mysql_engine() {}

View File

@@ -19,17 +19,17 @@ package gplx.dbs; import gplx.*;
import gplx.stores.*;
import java.sql.*;
class Postgres_engine extends Db_engine_sql_base {
@Override public String Key() {return Db_connect_postgres.KeyDef;}
@Override public String Key() {return Db_conn_info__postgres.Key_const;}
@Override public Sql_cmd_wtr SqlWtr() {return Sql_cmd_wtr_.BackslashSensitive;}
@Override public Db_engine MakeEngine(Db_connect connectInfo) {
@Override public Db_engine Make_new(Db_conn_info connectInfo) {
Postgres_engine rv = new Postgres_engine();
rv.ctor_SqlEngineBase(connectInfo);
return rv;
}
@Override public DataRdr NewDataRdr(ResultSet rdr, String commandText) {return Db_data_rdr_.new_(rdr, commandText);}
@gplx.Internal @Override protected Connection NewDbCon() {
Db_connect_postgres connUrl = (Db_connect_postgres)dbInfo;
return NewDbCon("jdbc:" + connUrl.Key_of_db_connect() + "://localhost/" + connUrl.Database(), connUrl.Uid(), connUrl.Pwd());
@gplx.Internal @Override protected Connection Conn_new() {
Db_conn_info__postgres connUrl = (Db_conn_info__postgres)conn_info;
return NewDbCon("jdbc:" + connUrl.Key() + "://localhost/" + connUrl.Database(), connUrl.Uid(), connUrl.Pwd());
}
@gplx.Internal protected static final Postgres_engine _ = new Postgres_engine(); Postgres_engine() {}
}

View File

@@ -19,15 +19,15 @@ package gplx.dbs; import gplx.*;
import gplx.stores.*;
import java.sql.*;
class Sqlite_engine extends Db_engine_sql_base {
@Override public String Key() {return Db_connect_sqlite.KeyDef;}
@Override public Db_engine MakeEngine(Db_connect connectInfo) {
@Override public String Key() {return Db_conn_info__sqlite.Key_const;}
@Override public Db_engine Make_new(Db_conn_info connectInfo) {
Sqlite_engine rv = new Sqlite_engine();
rv.ctor_SqlEngineBase(connectInfo);
return rv;
}
@Override public DataRdr NewDataRdr(ResultSet rdr, String commandText) {return Sqlite_rdr.new_(rdr, commandText);}
static boolean loaded = false;
@gplx.Internal @Override protected Connection NewDbCon() {
@gplx.Internal @Override protected Connection Conn_new() {
if (!loaded) {
try {
Class.forName("org.sqlite.JDBC");
@@ -35,7 +35,7 @@ class Sqlite_engine extends Db_engine_sql_base {
catch (ClassNotFoundException e) {throw Err_.new_("could not load sqlite jdbc driver");}
loaded = true;
}
Db_connect_sqlite connUrl = (Db_connect_sqlite)dbInfo;
Db_conn_info__sqlite connUrl = (Db_conn_info__sqlite)conn_info;
return NewDbCon("jdbc:sqlite://" + String_.Replace(connUrl.Database(), "\\", "/"), "", "");
}
private boolean pragma_needed = true;

View File

@@ -51,7 +51,7 @@ public class Sqlite_engine_ {
}
public static void Pragma_page_size_4096(Db_provider p) {Pragma_page_size(p, 4096);}
public static void Pragma_page_size(Db_provider p, int val) {
Db_qry qry = Db_qry_sql.ddl_("PRAGMA page_size = " + Int_.XtoStr(val) + ";");
Db_qry qry = Db_qry_sql.ddl_("PRAGMA page_size = " + Int_.Xto_str(val) + ";");
p.Exec_qry(qry);
}
public static void Idx_create(Db_provider p, Db_idx_itm... idxs) {Idx_create(Gfo_usr_dlg_.Null, p, "", idxs);}
@@ -68,15 +68,15 @@ public class Sqlite_engine_ {
public static Db_provider Provider_load_or_fail_(Io_url url) {
boolean exists = Io_mgr._.ExistsFil(url);
if (!exists) throw Err_.new_fmt_("db does not exist; url=~{0}", url.Raw());
Db_connect connect = Db_connect_sqlite.load_(url);
return Db_provider_.new_(connect);
Db_conn_info connect = Db_conn_info__sqlite.load_(url);
return Db_provider_.new_and_open_(connect);
}
public static Db_provider Provider_load_or_make_(Io_url url) {return Provider_load_or_make_(url, Bool_obj_ref.n_());}
public static Db_provider Provider_load_or_make_(Io_url url, Bool_obj_ref created) {
boolean exists = Io_mgr._.ExistsFil(url);
created.Val_(!exists);
Db_connect connect = exists ? Db_connect_sqlite.load_(url) : Db_connect_sqlite.make_(url);
Db_provider p = Db_provider_.new_(connect);
Db_conn_info connect = exists ? Db_conn_info__sqlite.load_(url) : Db_conn_info__sqlite.make_(url);
Db_provider p = Db_provider_.new_and_open_(connect);
if (!exists)
Pragma_page_size(p, 4096);
return p;

View File

@@ -24,7 +24,7 @@ public class db_DataTypes_tst {
fx.RunAll(Db_provider_fxt.Mysql());
}
@Test public void Tdb() {if (Tfds.SkipDb) return;
fx.Select_FloatStr_(Float_.XtoStr(Float_.Div(1, 3)));
fx.Select_FloatStr_(Float_.Xto_str(Float_.Div(1, 3)));
fx.RunAll(Db_provider_fxt.Tdb("110_dbs_multiple_data_types.dsv"));
}
@Test public void Postgres() {if (Db_provider_fxt.SkipPostgres) return;
@@ -51,12 +51,12 @@ INSERT INTO dbs_multiple_data_types VALUES (1, 'John Doe', B'1', '3/30/2006 10:2
class DataTypes_base_fxt {
public Db_provider Provider() {return provider;} Db_provider provider;
public DataTypes_base_fxt() {}
public void Rls() {provider.Rls();}
public void Rls() {provider.Conn_term();}
public String Select_FloatStr() {return select_FloatStr;} public DataTypes_base_fxt Select_FloatStr_(String v) {select_FloatStr = v; return this;} private String select_FloatStr;
public void RunAll(Db_provider provider) {
this.provider = provider;
this.Select_hook(select_FloatStr);
provider.Rls();
provider.Conn_term();
}
public void Select_hook(String floatStr) {
DataRdr rdr = Db_qry_.select_tbl_("dbs_multiple_data_types").Exec_qry_as_rdr(provider);