※この現象は8.0.20.0で修正されました。
対象製品とバージョン
Forguncy 8.x
現象
同時実行制御の必要条件を満たしている外部データベースのテーブルの場合、Forguncyでは以下の場合にのみ同時実行制御がサポートされます。
-
[更新対象レコード]が「カレントレコード」に設定されている[テーブルデータの更新]コマンドを使用して更新を行ったとき
-
[編集を許可]オプションが有効で、かつ[リストビューのデータを即時更新しない]オプションが無効であるリストビューで、ユーザーがカレントレコードを変更することで編集したレコードの更新を行ったとき
-
ワークフローバー型セルのボタンを使用して、ユーザーがワークフローを次の状態に進める操作を行ったとき
- [処理の種類]が「リストビューの更新確定」に設定されている[リストビューの操作]コマンドを使用して更新を行ったとき
外部データベースの同時実行制御 | Forguncy 8 オンラインヘルプ
同時実行制御では更新対象レコードの行バージョンの確認とデータのコミット処理が行われますが、これらの処理が複数のクライアントから数十ミリ秒単位で同時に行われた場合、同時実行制御によるメッセージの表示が行われず、後から更新したデータがコミットされる場合があります。
回避方法
直接的な回避策はありません。
[テーブルデータの更新]コマンドを使用して更新を行う処理の場合、それらの処理をサーバーサイドコマンドのトランザクションを使用した処理に変更し、データベースや処理内容に合わせて適切な分離レベルを選択して悲観的同時実行制御を実装する方法を検討してください。
文書種別
不具合
※ 次期修正版にて修正を予定しています。