request_delete property

This is a SQL statement that specifies cleanup operations. The statement takes the request id as its only parameter. A parameter can be referenced by a named parameter or using a question mark (?).

Using the DELETE statement, the Notifier can automatically remove these forms of old request:

  • implicitly dropped requests   requests that appeared previously, but did not appear in the current set of requests obtained from the request_cursor.

  • confirmed requests   messages confirmed as delivered.

  • expired requests   requests that have expired based on their resend attributes and the current time. Requests without resend attributes are considered expired even if they appear in the next request.

The request_delete statement is executed per request ID in a standalone transaction when the need for deletion is detected. It is optional if you have provided another process to do the cleanup.

You can write the request_delete script in such a way to avoid eliminating expired or implicitly dropped requests. For example, the CarDealer sample uses request_delete to set the status field of the PushRequest table to 'processed'.

UPDATE PushRequest SET status='processed' WHERE req_id = ?

The sample's begin_poll script uses the last synchronization time to check that a remote device is up-to-date prior to eliminating processed requests.

For more information, see the Car Dealer sample located in samples-dir\MobiLink\SIS_CarDealer. (For information about samples-dir, see Samples directory.)