[pgsql-jp: 35484] Re: lobpqxxの使用方法

Tomokazu Kuribayashi k-tomo99 @ zap.att.ne.jp
2005年 6月 10日 (金) 20:39:32 JST


こんばんは、kuriです。

> 1.サンプルソースを適当に変更して実行していたところ、トランザクション制
> 御において、“begin”が不要なことに気付いたのですが、これは work クラス
> (型?)のオブジェクトが生成されたときにコンストラクタにて“begin”が発
> 行されるという認識でよいのでしょうか?

はい、生成後初めてexecを実行した時にbeginが発行されます。
transaction_base.cxx の pqxx::transaction_base::exec を参照して下さい。

> 2.コミットは commit()メソッド、ロールバックは abort()メソッド、である
と
> 認識していますが、セーブポイントはどのようにして実現すればよいのでしょう
> か?libpqxxでは実現できないのでしょうか?

W.exec("SAVEPOINT point1");
こんな感じではダメでしょうか?
確認できる環境がないので間違っていたらすみません。

ソースを見ていただくと分かりますが、commti()もabort()も中身は
W.exec("COMMIT");
W.exec("ROLLBACK");
に似たような事をやってるだけです。





pgsql-jp メーリングリストの案内