From ec89a55f37fba216be052678e36e867efc638188 Mon Sep 17 00:00:00 2001 From: "Peter J. Keleher" <keleher@cs.umd.edu> Date: Wed, 4 Dec 2019 13:32:34 -0500 Subject: [PATCH] auto --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2f6560b..4142acd 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,8 @@ explains this quite well: [https://docs.python.org/3/library/threading.html](Hig - Two other primitives build on top of the above: `Conditions` and `Events`. See the manual for the details on those. We use `Conditions` in `transactions.py` to signal threads. - Using `with` simplifies this: a Lock/RLock/Condition/Event is passed as an argument, and only one thread can be in the body of the `with`. +## Files + #### `disk_relations.py` A `Relation` is backed by a file in the file system, i.e., all the data in the relation is written to a file and is read from a file. If a Relation is created with a non-existing fileName, then a new Relation is created with pre-populated 100 tuples. The file is an ASCII file -- the reading and writing is using `json` module. @@ -46,6 +48,9 @@ relations and tuples). **The code here and elsewhere implicitly assumes that the - `class TransactionState`: This class encapsulates some of the basic functionality of transactions, including some helper functions to create log records, keeping track of what locks the transaction currently holds, etc. +### Example logs and relations +In `recoverytests-original/` and `recoverytests-answers/` + #### Development There are two testing files, `testingLocks.py` and `testingRecovery.py` ("testingX" means both), one for working @@ -128,9 +133,6 @@ will also check for the lock messages ("able to get this lock on...", etc.). Our testing will check both the contents of the database (the final versions of the relation file) and the `logfile`. -**NOTE: correct example files will be provided soon.** - - ### Submission -- GitLab