*> parse the SQLite command, create an AST* Hello Mr. O'Toole,
This is precisely the task I am looking to carry out, followed by walking the AST. Did you ever end up finding a good Go parser for SQLite, or building one yourself? I see your rqlite/sql <https://pkg.go.dev/github.com/rqlite/sql> package, but am unclear as to whether it has this functionality. Thank you, Jacob Shandling On Tuesday, January 31, 2017 at 10:33:38 PM UTC-8 Philip O'Toole wrote: > Great -- thanks for the reference, I'll take a look. > > Philip > > On Tue, Jan 31, 2017 at 10:02 AM, Vasiliy Tolstov <v.to...@selfip.ru> > wrote: > >> cznic/ql have own lexer for SQL and it syntax very similar. >> >> 31 Янв 2017 г. 16:33 пользователь <phi...@percolate.com> написал: >> >>> Hello, >>> >>> I am the creator of rqlite (https://github.com/rqlite/rqlite), a >>> distributed relational database built on SQLite. >>> >>> I'm looking for a lexer and parser for SQL -- specifically SQLite, to >>> improve the ease-of-use of rqlite. I've thought about looking into using >>> the C code exposed by the SQLite source itself (which is what >>> https://github.com/mattn/go-sqlite3 does more generally). But someone >>> might know of a lexer and parser written in Go. I know how to build it >>> myself, but would rather avoid the effort if possible. >>> >>> What I am really trying to do is to determine, for the end-user, whether >>> the Exec() (https://golang.org/pkg/database/sql/#DB.Exec) or Query() ( >>> https://golang.org/pkg/database/sql/#DB.Query) method should be called >>> on the standard Go SQL interface, given a user-supplied SQL statement. >>> Right now the user must know what type of statement she is executing, and >>> send the statements to the right endpoint. I'd really like rqlite to just >>> do the right thing, and determine this automatically. Hence my idea to >>> parse the SQLite command, create an AST, and work it out. >>> >>> Or perhaps there is another way of thinking about this? >>> >>> Thanks, >>> >>> Philip >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "golang-nuts" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to golang-nuts+unsubscr...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> > > > -- > Philip O'Toole > Director, Engineering > Get inspired. See what's new on the Percolate blog: blog.percolate.com > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/golang-nuts/4b82f10e-1790-47f8-9506-9bd996f497bfn%40googlegroups.com.