## Checkpoint 4

• Grade: 10% of Project Component
• 5% Correctness
• 5% Efficiency

Short version: Support queries of the following three forms:

INSERT INTO R (A, B, C, ...) VALUES (1, 2, 3, 4, ...);
DELETE FROM R WHERE A < 3, ...
UPDATE R SET A = A+1, B = 2 WHERE C = 3;


INSERT
You only need to support INSERT ... VALUES (...) style inserts. There will not be any queries of any other form (i.e., nothing like INSERT ... SELECT ... or INSERT OR REPLACE ...)
DELETE
Any selection predicate valid in a previous checkpoint is fair game for DELETE.
UPDATE
Any selection predicate valid in a previous checkpoint is fair game for DELETE. Update expressions may include non-primitive value expressions.
Updates do not need to be persisted across database reboots, but should be reflected in query results.

# Interface

Your code will be evaluated in nearly the same way as Projects 1 - 3.  Your code will be presented with a 1000MB (SF 1) TPC-H dataset. You will get a cumulative 10 minutes to process all of the CREATE TABLE statements; This time will not count towards your overall time. Taking more than 10 minutes will result in a 0 grade for the submission.

Queries will be interleaved with a sequence of randomly generated update commands. There will be 3 phases:

1. Insert and queries only (30% of grade).
2. Inserts, deletes and queries (30% of grade).