aboutsummaryrefslogtreecommitdiff
path: root/notes/notes1.txt
diff options
context:
space:
mode:
Diffstat (limited to 'notes/notes1.txt')
-rw-r--r--notes/notes1.txt55
1 files changed, 0 insertions, 55 deletions
diff --git a/notes/notes1.txt b/notes/notes1.txt
deleted file mode 100644
index 951711ea3..000000000
--- a/notes/notes1.txt
+++ /dev/null
@@ -1,55 +0,0 @@
-unlocked -> read
-
- 1. If the journal file exists
- A. Open the journal file for exclusive access
- i) return SQLITE_BUSY
- B. Get a write lock on the database
- i) close the journal file
- ii) return SQLITE_PROTOCOL_ERROR
- C. playback the journal
- D. close and delete the journal file
- E. drop the write lock on the database
- 2. Get a read lock on the database file.
- A. return SQLITE_BUSY
- 3. return SQLITE_OK
-
-read -> unlocked
-
- 1. Drop the read lock on the database file
- 2. Invalidate all pages in the cache
- 3. return SQLITE_OK
-
-read -> write
-
- 1. Create the journal file and open for exclusive access
- A. return SQLITE_BUSY
- 2. Drop the read lock on the database
- 3. Get a write lock on the database
- A. Get a read lock on the database
- i) return SQLITE_PROTOCOL_ERROR
- B. Delete the journal
- C. return SQLITE_BUSY
- 4. return SQLITE_OK
-
-write -> read (commit)
-
- 1. Sync the journal
- 2. Write all dirty pages
- A. playback journal
- B. Reload or invalidate all pages in cache
- 3. Sync the database
- 4. Drop the write lock on the database
- 5. Get a read lock on the database
- A. return SQLITE_PROTOCOL_ERROR
- 6. Delete the journal
- 7. return SQLITE_OK
-
-write -> read (rollback)
-
- 1. Playback the journal
- 2. Drop the write lock on the database
- 3. Get a read lock on the database
- A. return SQLITE_PROTOCOL_ERROR
- 4. Delete the journal
- 5. Reload or invalidate all pages in cache
- 6. SQLITE_FULL