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,12 +17,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.dbs; import gplx.*;
public class PoolIds {
public int FetchNext(Db_provider provider, String url) {
public int FetchNext(Db_conn conn, String url) {
Db_qry_select cmd = Db_qry_.select_().From_(Tbl_Name).Where_(Db_crt_.eq_(Fld_id_path, url));
int rv = 0;//boolean isNew = true;
DataRdr rdr = DataRdr_.Null;
try {
rdr = cmd.Exec_qry_as_rdr(provider);
rdr = cmd.Exec_qry_as_rdr(conn);
if (rdr.MoveNextPeer()) {
rv = rdr.ReadInt(Fld_id_next_id);
}
@@ -31,17 +31,17 @@ public class PoolIds {
return rv;
}
public int FetchNextAndCommit(String dbInfo, String url) {
Db_provider provider = Db_provider_pool._.Get_or_new(dbInfo);
int rv = PoolIds._.FetchNext(provider, url);
PoolIds._.Commit(provider, url, rv + 1);
Db_conn conn = Db_conn_pool_old._.Get_or_new(dbInfo);
int rv = PoolIds._.FetchNext(conn, url);
PoolIds._.Commit(conn, url, rv + 1);
return rv;
}
public void Commit(Db_provider provider, String url, int val) {
int rv = provider.Exec_qry(Db_qry_.update_(Tbl_Name, Db_crt_.eq_(Fld_id_path, url)).Arg_(Fld_id_path, url).Arg_(Fld_id_next_id, val));
public void Commit(Db_conn conn, String url, int val) {
int rv = conn.Exec_qry(Db_qry_.update_(Tbl_Name, Db_crt_.eq_(Fld_id_path, url)).Arg_(Fld_id_path, url).Arg_(Fld_id_next_id, val));
if (rv == 0) {
rv = provider.Exec_qry(Db_qry_.insert_(Tbl_Name).Arg_(Fld_id_path, url).Arg_(Fld_id_next_id, val));
rv = conn.Exec_qry(Db_qry_.insert_(Tbl_Name).Arg_(Fld_id_path, url).Arg_(Fld_id_next_id, val));
}
if (rv != 1) throw Err_.new_("failed to update nextId").Add("provider", provider.Conn_info().Str_raw()).Add("url", url).Add("nextId", val);
if (rv != 1) throw Err_.new_("failed to update nextId").Add("url", url).Add("nextId", val);
}
public static final String Tbl_Name = "pool_ids";
@gplx.Internal protected static final String Fld_id_path = "id_path";