Opened 10 years ago

Closed 9 years ago

#886 closed defect (fixed)

SQLite/Filestorage transaction

Reported by: Dimitar Misev Owned by: Dimitar Misev
Priority: major Milestone: 9.2
Component: relblobif Version: development
Keywords: Cc: Peter Baumann, Alex Dumitru
Complexity: Medium

Description

A simple transaction management for file blobs should be implemented.

Only once the SQLite RASBASE transaction is committed should changes to file blobs be permanently executed (like deletion or writing down).

This can be implemented with a simple queue of pending actions executed on transaction commit.

  • inserts are immediately done to temporary blob files, and pending actions to move them to the real blob files are pushed to the queue
    • rollback/abort removes the temporary files
  • deletes are immediately done by moving real blob files to temporary ones, and pushing delete actions for the temporary blobs (opposite of inserts)
    • rollback/abort moves the temporary files back to the real ones

Consistency should be tested by inserting segfaulting code at various points in the blob management code.

Change History (2)

comment:1 by Dimitar Misev, 9 years ago

Milestone: 9.19.2

comment:2 by Dimitar Misev, 9 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.