Description
Clears all records form the database that hold state information
Parameters
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
unused
program code (program1/progress.p)
if not (valid-handle(vhInstanceQuery) and
viInstanceUID = vhInstanceQuery:unique-id)
then do:
create buffer vhInstanceBuffer for table "fcInstance":U in widget-pool "persistent".
create query vhInstanceQuery in widget-pool "persistent".
vhInstanceQuery:forward-only = yes.
vhInstanceQuery:set-buffers(vhInstanceBuffer).
vhInstanceQuery:private-data = "Persistent". /* do not ever delete this query */
viInstanceUID = vhInstanceQuery:unique-id.
end.
vhInstanceQuery:query-prepare ("for each fcInstance":U).
vhInstanceQuery:query-open().
repeat transaction on error undo, throw:
vhInstanceQuery:get-next(exclusive-lock).
if vhInstanceQuery:query-off-end
then leave.
vhInstanceBuffer:buffer-delete().
end.
vhInstanceQuery:query-close().
if not (valid-handle(vhDraftQuery) and
viDraftUID = vhDraftQuery:unique-id)
then do:
create buffer vhDraftBuffer for table "fcDraftInstance":U in widget-pool "persistent".
create query vhDraftQuery in widget-pool "persistent".
vhDraftQuery:forward-only = yes.
vhDraftQuery:set-buffers(vhDraftBuffer).
vhDraftQuery:private-data = "Persistent". /* do not ever delete this query */
viDraftUID = vhDraftQuery:unique-id.
create buffer vhDraftDataBuffer for table "fcDraftInstanceData":U in widget-pool "persistent".
create query vhDraftDataQuery in widget-pool "persistent".
vhDraftDataQuery:forward-only = yes.
vhDraftDataQuery:set-buffers(vhDraftDataBuffer).
vhDraftDataQuery:private-data = "Persistent". /* do not ever delete this query */
end.
vhDraftQuery:query-prepare ("for each fcDraftInstance where fcDraftInstance.IsInUse = true":U).
vhDraftQuery:query-open().
repeat transaction on error undo, throw:
vhDraftQuery:get-next(exclusive-lock).
if vhDraftQuery:query-off-end
then leave.
vhDraftBuffer::IsInUse = false.
end.
vhDraftQuery:query-close().
if vcStateDirectory <> ""
then do:
input stream statedir from os-dir(vcStateDirectory) no-attr-list.
repeat:
import stream statedir vcFile.
if vcFile matches "*~.lob" then os-delete value(vcFile).
end.
input stream statedir close.
end.