Go implementation of SimpleDB from "Database Design and Implementation".
-
SELECT,INSERT,DELETE,UPDATE(Chapter 8)- multiple-row INSERT
- Join (Chapter 8)
- comma-separated join (ex.
SELECT * FROM A, B WHERE A.x = B.y) -
JOINsyntax (ex.SELECT * FROM A JOIN B ON A.x = B.y) (Exercises 9.10) - index join algorithm (Section 12.6.2)
- hash join algorithm
- there is
HashJoinPlanbut no planner (Exercises 15.17)
- there is
- merge join algorithm
- there is
MergeJoinPlanbut no planner
- there is
- comma-separated join (ex.
- Sorting (Chapter 9)
- there is
SortPlanbut noORDER BYgrammar in parser (Exercises 13.15)
- there is
- Aggregation (Chapter 9)
- there is
GroupByPlanbut noGROUP BYgrammar in parser (Exercises 13.17)
- there is
- Schema (Chapter 6)
-
INTtype -
VARCHARtype- fixed-length
- variable-length (Exercises 6.9)
-
NULL(Exercises 6.13) -
CREATE TABLE -
DROP TABLE -
ALTER TABLE
-
- Transactions (Chapter 5)
-
COMMIT,ROLLBACK - recovery
- concurrency management
- serializable
- multiversion locking (Section 5.4.6)
- read uncommitted, read committed, repeatable read (Section 5.4.7)
-
- Indexes (Chapter 12)
-
CREATE INDEX- B-Tree index
- Hash index (Section 12.3.2)
-
SELECTwith index -
CREATE TABLEwith index (Exercises 12.23) -
DROP INDEX(Exercises 12.25)
-
- Views (Section 7.3)
- Client (Chapter 11)
- embedded client
- remote client (Section 11.3)