sqlparser-rs
tree-sitter-sql
sqlparser-rs | tree-sitter-sql | |
---|---|---|
12 | 6 | |
2,434 | 131 | |
2.0% | - | |
9.3 | 8.5 | |
6 days ago | 10 days ago | |
Rust | JavaScript | |
Apache License 2.0 | MIT 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.
sqlparser-rs
-
Introducing SQLPage : write websites entirely in SQL
sqlparser to parse SQL queries and detect variable bindings
-
Understanding the SQL AST and what can be done with it
So to start with this, I looked into SQL parsing and found this library https://github.com/sqlparser-rs/sqlparser-rs
-
Supabase Logs: open source logging server
We switched to an open source alternative, the rust-based sqlparser-rs library, contributing a few updates for the BigQuery dialect.
- Parsing SQL with Rust
-
Writing a SQL LS in Rust - Looking for Coding Companions.
I have experience with sqlparser-rs (for my sqlpage project), but it does not track the source code location of the parsed data structures (yet).
-
Pure Python Distributed SQL Engine
It uses https://github.com/sqlparser-rs/sqlparser-rs as the parser and lexer. The binder, planner, optimizer and executor are in Python. The optimizer stage only works on the logical plan and the rules are heuristic only.
-
Parsing / Recursive Descent Parser
That code could be copied directly from some real-world examples - sqlparser-rs code looks pretty much exactly the same.
https://github.com/sqlparser-rs/sqlparser-rs
-
RisingLight is an OLAP database system for educational purpose
Also neat to find the SQL parser library they use.
- We Went All in on Sqlc/Pgx for Postgres and Go
- “Swift is the only language I could find with over 100 keywords”
tree-sitter-sql
-
How to extend treesitter SQL highlighting with custom keywords?
Which grammar are you using? https://github.com/DerekStride/tree-sitter-sql supports backticks. This is the one that is used by nvim-treesitter.
-
Parsing SQL with Rust
A complete grammar of the SQL language is rather large, as can be seen by this grammar https://github.com/DerekStride/tree-sitter-sql/blob/main/grammar.js that is 2000 lines of code.
-
Writing a SQL LS in Rust - Looking for Coding Companions.
Alternatively, you could use a tree-sitter parser, such as https://github.com/DerekStride/tree-sitter-sql , which would provide fast incremental parses (but may result in a less detailed AST).
- Treesitter Capturing ERROR Nodes
- Open Source SQL Parsers
What are some alternatives?
sled - the champagne of beta embedded databases
grammars-v4 - Grammars written for ANTLR v4; expectation that the grammars are free of actions.
goyesql - Parse SQL files with multiple named queries and automatically prepare and scan them into structs.
prql - PRQL is a modern language for transforming data — a simple, powerful, pipelined SQL replacement
sqlite
nvim-treesitter - Nvim Treesitter configurations and abstraction layer
kube - Rust Kubernetes client and controller runtime
duckdb - DuckDB is an in-process SQL OLAP Database Management System
prettytable-rs - A rust library to print aligned and formatted tables
lezer-snowsql
go - The Go programming language
tree-sitter-sql - SQL grammar for tree-sitter