This repository holds a pure Go SQL parser based on the SQLite SQL definition. Its goal is to support the full SQLite syntax.
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.