ローのステータス情報の管理は、Ultra Light の強力な機能の 1 つです。テーブルとローのステータスの追跡は、データ同期時に特に重要です。
Ultra Light データベースのローのステータスを記録するために、内部マーカが使用されます。ローのステータスは、トランザクション処理、リカバリ、同期を制御します。ローを挿入、更新、または削除すると、その操作内容、およびその操作を実行した接続を反映するようにローのステータスが変更されます。トランザクションがコミットされると、トランザクションに関係のあるすべてのローのステータスに、コミットの内容が反映されます。コミット中に予期せぬ障害が発生すると、トランザクション全体がロールバックされます。次のリストは、その動作をまとめたものです。
削除が実行された場合 対象の各ローが削除されたことを反映してステータスが変更されます。削除を取り消すには、ローを元のステータスにリストアします。
削除がコミットされた場合 対象のローがメモリから削除されない場合もあります。一度も同期が行われていないローは削除されます。同期が行われたローは削除されません。削除操作を行うには、まず統合データベースに同期される必要があるからです。次の同期が実行された後、ローはメモリから削除されます。
ローが更新された場合 ローの新しいバージョンが作成されます。古いローと新しいローのステータスが変更され、古いローは表示されなくなり、新しいローが表示されます。
ローの更新がコミットされた場合 トランザクションがコミットされると、トランザクションに関係のあるすべてのローのステータスに、コミットの内容が反映されます。更新が同期されると、ローの古いバージョンと新しいバージョンの両方で競合が検出され、解決が行われます。その後、古いローがデータベースから削除され、新しいローが通常のローになります。
ローが追加された場合 ローがデータベースに追加され、コミット未実行のマークが付きます。
追加されたローがコミットされた場合 ローにコミット済みのマークが付き、統合データベースとの同期が必要であると通知されます。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |