queryparser
pg_query_go
Our great sponsors
queryparser | pg_query_go | |
---|---|---|
2 | 3 | |
1,066 | 603 | |
0.0% | 3.3% | |
0.0 | 6.2 | |
about 2 years ago | about 1 month ago | |
Haskell | C | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
queryparser
-
Open Source SQL Parsers
queryparser implements Apache Hive, Presto/Trino and Vertica dialects.
-
Let's write a compiler, part 5: A code generator
3. Would you use a different language/library then I picked?
Thanks :)
[1] https://github.com/uber/queryparser
pg_query_go
-
How we explored the best practices of GoReleaser X CGO
When implementing SQL Review for PostgreSQL, we introduced pg_query_go as the PostgreSQL parser. The pg_query_go uses the native PostgreSQL parser via C bind, which naturally requires CGO support.
-
sqlc: Generating go code from sql statements
If you are using Postgres then you are lucky! sqlc uses the official postgres parser (https://github.com/pganalyze/pg_query_go) and while I have never tried it, I guess it works really well.
-
Open Source SQL Parsers
Golang: pg_query_go
What are some alternatives?
JSqlParser - JSqlParser parses an SQL statement and translate it into a hierarchy of Java classes. The generated hierarchy can be navigated using the Visitor Pattern
pg_query - Ruby extension to parse, deparse and normalize SQL queries using the PostgreSQL query parser
sqlite-parser - JavaScript implentation of SQLite 3 query parser
pg_parse - PostgreSQL parser for Rust that uses the actual PostgreSQL server source to parse SQL queries and return the internal PostgreSQL parse tree.
ANTLR - ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.
libpg_query - C library for accessing the PostgreSQL parser outside of the server environment
pglast - PostgreSQL Languages AST and statements prettifier: master branch covers PG10, v2 branch covers PG12, v3 covers PG13, v4 covers PG14, v5 covers PG15, v6 covers PG16
sqlparse - A non-validating SQL parser module for Python
go-mysql-server - A MySQL-compatible relational database with a storage agnostic query engine. Implemented in pure Go.
pg-query-emscripten - Emscripten Port of pg_query to easily play with it in the browser