This repository holds a pure Go SQL parser based on the SQLite SQL definition. It implements nearly all features of the language except ATTACH
, DETACH
, and some other minor features.
parser := NewParser(strings.NewReader("SELECT * FROM foo WHERE id=4"))
expr, _ = parser.Parse()
fmt.Println(expr)
Review the unit tests in parser_test.go
for an extensive set of parsing examples.
This parser was originally created by Ben Johnson. Many thanks to him for making it available for use by rqlite.