Description
release dynamic query object
PreCondition
This method is used in query calls and should not be used anywhere else.
Parameters
ihDestinationBuffer | input | handle | |
Internal usage
BLF
program code (program1/progress.p)
if valid-handle (ihDestinationBuffer)
then do:
vhDS = ihDestinationBuffer:data-source.
if valid-handle (vhDS)
then do:
vhQuery = vhDS:query.
ihDestinationBuffer:detach-data-source().
delete object vhDS.
if valid-handle (vhQuery)
then do:
viTables = vhQuery:num-buffers.
do viFcCount1 = 1 to viTables:
vhBuffer[viFcCount1] = vhQuery:get-buffer-handle(viFcCount1).
end.
viFcCount2 = vhQuery:unique-id.
delete object vhQuery.
do viFcCount1 = 1 to viTables:
find tQbuffers where
tQbuffers.tcTable = vhBuffer[viFcCount1]:name and
tQbuffers.tiIsInUseBy = viFcCount2 no-error.
if available tQbuffers
then do:
viBufferID = ?.
viBufferID = tQbuffers.thBuffer:unique-id no-error.
if viBufferID <> tQbuffers.tiBufferID
then delete tQbuffers.
end.
if available tQbuffers
then do:
tQbuffers.thBuffer:buffer-release().
tQbuffers.tiIsInUseBy = 0.
end.
else delete object vhBuffer[viFcCount1].
end.
end.
end.
end.