[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 メーリングリストの案内