このポーリング・イベントは SQL スクリプトを受け入れ、Push 要求の削除の必要性が検出されるとクリーンアップ処理を実行するために起動されます。このイベントではパラメータとして要求 ID を受け入れ、要求 ID ごとに実行されます。request_cursor イベントには、request_delete イベントを使用するための要求 ID カラムが含まれている必要があります。指定したパラメータまたは疑問符 (?) を使用すると、要求 ID を参照できます。別のプロセスや end_poll イベントなどのイベントにクリーンアップ処理を割り当ててある場合、このイベントはオプションです。
Notifier では、DELETE 文を使用して、次の形式の Push 要求を削除できます。
暗黙的に除外 この Push 要求は、以前発生したが、request_cursor イベントから取得された現在の要求セットにはありません。
確認済み 配信が確認された Push 要求です。
失効 この Push 要求は、resend 属性と現在の時刻に基づき、有効期限が切れています。resend 属性のない要求は、次回の要求に表示された場合でも、有効期限が切れていると見なされます。
request_delete イベントを使用すると、有効期限が切れた要求または暗黙的に除外された要求を削除できなくなります。たとえば、samples-dir\MobiLink\SIS_CarDealer ディレクトリの CarDealer サンプルでは、request_delete イベントを使用して、PushRequest テーブルのステータス・フィールドを 'processed' に設定しています。
UPDATE PushRequest SET status='processed' WHERE req_id = ? |
このサンプルの begin_poll イベントでは、最後の同期時間を利用して、処理済みの Push 要求を削除する前にリモート・デバイスが最新状態であるかどうかをチェックしています。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |