- 追加された行はこの色です。
- 削除された行はこの色です。
[[PSSdev]]
#contents
PssとPssEditorで、同じDBとLogを扱うために、同期処理と排他制御が必要となる。
* PssとPssEditorの同期
* PssとPssEditorの同期 [#lac52e27]
** PssEditor でのログの更新タイミング
** PssEditor でのログの更新タイミング [#f396cf0c]
エディタでの変更に応じて、適宜、ログを更新する。更新とは、「ログの入力」「変更」「ログの出力」という一連の処理のことである(この間にPss上でログの変更がないように気を付ければよい)。
- 行の挿入
- 行の削除
- 行の貼り付け
- 行の切り取り
これらのタイミングで、DBの上書きも行う。
これは、行の挿入等でログの変更を(必然的に)伴うが、これを「セクションの変更時」等の「上書き確認ダイアログ」で「上書きしない」を選んだ場合に、ログの変更状態(上書き済み)とセクションの状態が一致しなくなるのを防ぐためである。
DBの上書きを同時に行うことで''処理速度の低下''が発生してしまったが、行の挿入・削除等の処理は頻繁に行う処理ではないということで、無視できると考えている。
** Pss でのログの入力タイミング
** Pss でのログの入力タイミング [#j79cead9]
:回答開始直前:PssEditor で変更されている場合があるので。
:回答開始直前|PssEditor で変更されている場合があるので。
:DB の再読込時:DBとログは表裏一体であるという考えから。
:DB の再読込時|DBとログは表裏一体であるという考えから。
** Pss でのログの出力タイミング
** Pss でのログの出力タイミング [#lb9fd23f]
Pss でのログの出力は、確実に1度だけ、「回答終了時」である。
Pss の終了時にはログを''上書きしない''という点に注意(もし上書きしたら、PssEditorでの変更を上書き=破棄してしまう可能性があるため)。