Skip to content

yokomotod/database-design-and-implementation-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Go implementation of SimpleDB from "Database Design and Implementation".

Features

  • 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)
    • JOIN syntax (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 HashJoinPlan but no planner (Exercises 15.17)
    • merge join algorithm
      • there is MergeJoinPlan but no planner
  • Sorting (Chapter 9)
    • there is SortPlan but no ORDER BY grammar in parser (Exercises 13.15)
  • Aggregation (Chapter 9)
    • there is GroupByPlan but no GROUP BY grammar in parser (Exercises 13.17)
  • Schema (Chapter 6)
    • INT type
    • VARCHAR type
      • 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)
    • SELECT with index
    • CREATE TABLE with index (Exercises 12.23)
    • DROP INDEX (Exercises 12.25)
  • Views (Section 7.3)
  • Client (Chapter 11)
    • embedded client
    • remote client (Section 11.3)

About

Go implementation of SimpleDB from "Database Design and Implementation".

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages