Adobe Air SQLiteのロック処理

Adobe AirのSQLiteについて。

非同期実行モードでbegin~commit のトランザクション処理を行う際に、データベースに対してロック処理が行われるわけだけど、すでにロックが掛けられている状態で新たなロックが試みられた場合、エラーイベントが発生して処理が終わるんですね。

「現在ロックが掛けられている場合は、解放されるのを待って、解放されたら新たにロックする」という処理は、自分で実装しないといけないのか。
てっきり、自動でやってくれるものとばかり思っていました。

AirReaderのデータベース処理は同期実行モードで作っていたんですが、これを現在、非同期実行モードに改良しようとしています。
非同期実行モードでのデータベース操作というのは、なかなか面倒くさいですね。

Leave a Reply