[pgsql-jp: 35588] Re: libpqxx ライブラリを使用したトランザクション制御について
堀越
horihorikoshi @ yahoo.co.jp
2005年 6月 24日 (金) 19:25:52 JST
kuriさん、いつもありがとうございます。
> 堀越さんのやりたい事を現実にするには、その都度workを生
成
> する事になります。
> transactionクラスは特に大した処理をしていないため、コ
ード
> 的には処理速度への影響はそれほどないと思います。
> でるとしたらbegin,commitによる処理時間でしょうか。
>
> 単一のクエリならnontransactionクラスのほうが手軽かも。
→ nontransactionクラスを使用したときの記述の仕方は以下
のような感じでよいのでしょうか?また、transaction_base(work
)クラスを使用したときとの違いはコンストラクタでbeginが
実行されるくらいですか?
-----
connection C(接続文字列);
nontransaction T(C);
try{
T.exec(適当なSQL文);
}
catch (const sql_error &e)
{
cerr << "SQL error: " << e.what() << endl
<< "Query was: '" << e.query() << "'" << endl;
W.abort();
}
catch (const exception &e)
{
cerr << "Exception: " << e.what() << endl;
W.abort();
}
catch (...)
{
cerr << "Unhandled exception" << endl;
W.abort();
}
W.commit();
-----
__________________________________
Save the earth
http://pr.mail.yahoo.co.jp/ondanka/
pgsql-jp メーリングリストの案内