[PHP-users 29535] ADOdbでのデータベースの更新時にロックを明記する必要があるかどうかについて

kato@officeants.net kato @ officeants.net
2006年 6月 30日 (金) 10:27:35 JST


いつもお世話になっております。
加藤と申します。

現在
mojavi+ADOdbライブラリでmysqlへ接続をしております。

さて、表記の通り
ADOdbでmysqlへ接続し、
「データを更新」
するような場合、ロックは明記しなければならないのでしょうか?
あるいは、ADOdb側で処理をしているので、コーディングする必要はないのでしょう
か?
-------------------------------------------------
include(ADODB_FILE);
$d = &ADONewConnection(ADODB_DRIVER);
$d->PConnect(ADODB_SERVER, ADODB_USERNAME, ADODB_PASSWORD, ADODB_DBNAME);
//ここに↓のようにロックを書かなければならないでしょうか?
//$d->Execute('lock tables TABLE1 write, TABLE2 write, TABLE3 write');

//更新作業(もちろんupdateなどの処理のときも同様にロックは必要でしょうか?)
$d->StartTrans();
$d->Execute("delete from TABLE1 where id='3411'");
$d->CompleteTrans();
-------------------------------------------------

ちなみにこのMLでは、ADOdbで検索してもほとんど参考になるものがございませんで
した。
そこで、本家のhttp://adodb.sourceforge.net/のところでも読んでみたのですが、
lockに関する言及がなく、情報不足に苦労しております。


トランザクション処理に関しては
-------------------------------------------------
$d->StartTrans();
//この間に更新処理
$d->CompleteTrans();
-------------------------------------------------
としております。
私の想像ではこの間にロックなど必要な処理はやってくれているのではと考えており
ます。

どなたか、ADOdbに関してご存じの方がいらっしゃいましたらご教授頂けましたら幸
いです。
どうぞ、よろしくお願いいたします。

 [ バージョン関連です。] 
  mojavi 2.0
  ADOdb V4.62 2
  FreeBSD 4.7
  Apache/1.3.33
  PHP 4.3.4
============================================
 加藤春樹




PHP-users メーリングリストの案内