JSqlParser
imgmac
Our great sponsors
JSqlParser | imgmac | |
---|---|---|
4 | 1 | |
4,956 | - | |
2.1% | - | |
9.2 | - | |
5 days ago | - | |
Java | ||
Apache License 2.0 | - |
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.
JSqlParser
-
Semantic Diff for SQL
I wonder if this is a topical thread to check if anyone is aware of a Java based solution to parse a CREATE VIEW statement to get a mapping between the view columns and the corresponding source table columns. I checked out jsqlparser[0] and it does produce an AST which can be parsed using the visitor-pattern[1] but was wondering if there is a more "out-of-the-box" solution. Due to various reasons, querying the database information schema is not an option I can pursue.
[0]: https://github.com/JSQLParser/JSqlParser
[1]: https://en.wikipedia.org/wiki/Visitor_pattern
-
Open Source SQL Parsers
JSQLParser can parse multiple SQL dialects like MySQL, Postgres and Oracle. The grammar can be modified to support other SQL dialects.
- Let's write a compiler, part 5: A code generator
-
Racket v8.0
Interesting coincidence - I'm working on a parser that parses the AST produced by JSqlParser[0] for a create view statement to generate mapping between the columns of a view and the columns of its underlying table. It is an interesting example of having to use the visitor pattern[1].
[0]: https://github.com/JSQLParser/JSqlParser
imgmac
-
Racket v8.0
If anyone cares the code is here. Still needs a lot of work. https://gitlab.com/diegocrespo/imgmac/-/tree/master. For context this is a paint program that currently creates a 1024x748 window with a canvas, 31 buttons, and a file menu. It uses 280M of memory on my desktop running Manjaro, which isn't the greatest. In my testing, typed racket also increases the memory uses.
Thankfully after creating a basic frame and canvas, the jumps haven't been as big, but I could easily see the program going to 400M by the time it's done. I will download Racket 8.0 today and see how it performs
What are some alternatives?
Apache Calcite - Apache Calcite
ActivityLog2 - Analyze data from swim, bike and run activities
sqlglot - Python SQL Parser and Transpiler
antlr-tsql
zetasql - ZetaSQL - Analyzer Framework for SQL
rhombus-brainstorming - Brainstorming and draft proposals for Rhombus [Moved to: https://github.com/racket/rhombus-prototype]
sqlparse - A non-validating SQL parser module for Python
racket - The Racket repository
Presto - The official home of the Presto distributed SQL query engine for big data
ANTLR - ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.
queryparser - Parsing and analysis of Vertica, Hive, and Presto SQL.
vitess-sqlparser - simply SQL Parser for Go ( powered by vitess and TiDB )