From: Maxim Mamontov Date: Sun, 25 Jan 2015 18:21:16 +0000 (+0200) Subject: Added some handy funcs to work with IBPP statements. X-Git-Tag: 2.409~202 X-Git-Url: https://git.stg.codes/stg.git/commitdiff_plain/218484d4b3d515aa757006cab2548dd12d79840e?hp=5706879913b24998078a1a99d4abd68480799891 Added some handy funcs to work with IBPP statements. --- diff --git a/projects/stargazer/plugins/store/firebird/firebird_store.h b/projects/stargazer/plugins/store/firebird/firebird_store.h index 688f0e88..d9c6af24 100644 --- a/projects/stargazer/plugins/store/firebird/firebird_store.h +++ b/projects/stargazer/plugins/store/firebird/firebird_store.h @@ -136,4 +136,13 @@ time_t ts2time_t(const IBPP::Timestamp & ts); void time_t2ts(time_t t, IBPP::Timestamp * ts); void ym2date(int year, int month, IBPP::Date * date); +template +inline +T Get(IBPP::Statement st, size_t pos) +{ + T value; + st->Get(pos, value); + return value; +} + #endif //FIREBIRD_STORE_H diff --git a/projects/stargazer/plugins/store/firebird/firebird_store_users.cpp b/projects/stargazer/plugins/store/firebird/firebird_store_users.cpp index 8c214fbf..2e92603e 100644 --- a/projects/stargazer/plugins/store/firebird/firebird_store_users.cpp +++ b/projects/stargazer/plugins/store/firebird/firebird_store_users.cpp @@ -127,9 +127,9 @@ return SaveStat(stat, login); } //----------------------------------------------------------------------------- int FIREBIRD_STORE::SaveStat(const USER_STAT & stat, - const std::string & login, - int year, - int month) const + const std::string & login, + int year, + int month) const { IBPP::Transaction tr = IBPP::TransactionFactory(db, IBPP::amWrite, til, tlr); IBPP::Statement st = IBPP::StatementFactory(db, tr); @@ -147,7 +147,7 @@ try tr->Rollback(); return -1; } - st->Get(1, uid); + int32_t uid = Get(st, 1); st->Close(); st->Prepare("select first 1 pk_stat from tb_stats where fk_user = ? order by stats_date desc"); st->Set(1, uid);