【Magic xpa 連載最新号のご案内】 2025年4月8日
Magic xpa 開発者ユーザの皆様へ
【1】 Magic xpa 連載のご案内
------------------------------------------------
Magic xpa の連載、「Magic xpa で作るイベントドリブン型プログラム」の第205回目「更新レコードの識別特性(最新版)」を連載コーナーにアップいたしました。
今回は、マルチユーザ環境における排他制御の解説になります。
Pervasive(Btrieve)が主流だった時代は、そのDBの特性上、レコード単位の排他制御しかできませんでした。これが時代とともにSQL系のDBに移行されるにつれ、カラム単位の排他制御が可能になりました。
しかしながら残念なことに、現在のMagicがすでにこのカラム単位の排他制御に対応していることがあまり知られておらず、その機能が十分に発揮されるに至っていません。
そこで今回は、カラム単位の排他制御とはいったい何なのかを中心に解説を進め、マルチユーザ環境における排他制御の柔軟性について説明してまいりたいと思います。
この機能の設定は下図のとおり、個々のタスクの「データビュー」の「M=メインソース」行の特性にある「更新レコードの識別」欄になります(画面1)。

画面1 更新レコードの識別設定箇所
これまでも、「更新レコードの識別」については折に触れて解説してきましたが、今回はこの機能について体系的に解説してまいりたいと思います。
この設定は、画面1を見てお分かりのように、デフォルトでは「T=メインソースに依存」となっています。では、それを定義しているデータリポジトリを開いて、その依存箇所を確認してみることにしましょう。
データリポジトリを開き、該当するデータソースの特性ダイアログを開くと、次のように「更新レコードの識別」という設定箇所があるのがわかります(画面2)。

画面2 データソース特性ダイアログ
デフォルトでは「U=位置と更新項目」となっており、それ以外のオプションに「P=位置」と「S=位置と選択項目」というのがあります。
ではまず、デフォルトである「位置と更新項目」という設定の動きがどういうものなのかを追って行きたいと思います(以降、本編に続く)。
目次
1. 「更新レコードの識別」の設定箇所
2. データリポジトリにおける初期設定
3. APGプログラムに3つのオプションを適用
4. トランザクションとロック方式
5. 「位置と更新項目」の動作検証
6. 「位置と選択項目」の動作検証
7. 「位置」の動作検証
8. 3つのオプションの動作のまとめ
次回は、「フォーム状態の維持と維持バージョン」をお送りします。
購読期間中は現在掲載中の過去記事をすべて読むことができます。
皆様のお越しをお待ちいたしております。
サインインしてコメントを残してください。
コメント
0件のコメント