Releases all resources associated with the backup operation.
| Arguments: |
There are no arguments to this method
|
| Return value: |
Returns .ooSQLite~OK if no errors occurred during a step invocation, whether
or not the backup operation completed. If an out-of-memory condition or IO error occurred during
any prior invocation ofstepon this
ooSQLiteBackupobject, thenfinishreturns the
corresponding Result Code Constants code.
|
| Remarks: |
There should be exactly one invocation offinishfor each successful invocation
of new (Class method) . Note that during step , if the backup finishes successfuly, or a fatal error occurs,finishis invoked automatically by ooSQLite. Thus, the programmer should only invoke
finishto abandon (halt) the backup before it is finished.
|
| Details |
The functionality of thefinishmethod is similar to that of the SQLite
sqlite3_backup_finish API.
|
| Example: |
This example shows a online backup in progress. The source database is in use in a busy application. The backup
operation is expected to complete in less than 4 hours. If it does not, the operation is abandoned and the
application reschedules the backup for another time:
| count = 0 |
| do while .true |
| ret = bu~step(2) |
| if ret == bu~DONE then leave |
|
| if ret >.<. bu~OK, ret >.<. bu~BUSY, ret >.<. bu~LOCKED then do |
| say 'Fatal error during back up:' bu~lastErrCode bu~lastErrMsg |
| leave |
| end |
|
| j = SysSleep(.5) |
| count += 1 |
|
| if count > (count * 2 * 60 * 60 * 4) then do |
| say "Backup has not completed in 4 hours, going to abandon the operation." |
| bu~finish |
| leave |
| end |
| end
|
|