zetasql
Presto
Our great sponsors
zetasql | Presto | |
---|---|---|
15 | 14 | |
2,130 | 15,591 | |
1.6% | 0.9% | |
0.0 | 9.9 | |
about 2 months ago | about 20 hours ago | |
C++ | Java | |
Apache License 2.0 | 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.
zetasql
-
Mangle, a programming language for deductive database programming
There are even table-valued functions.
These things are not widespread, and differ by implementation, and the way these are used by clients are copy-and-paste. Something as thoughtful as ZetaSQL https://github.com/google/zetasql does not have mechanisms for structuring (modules, packages, interfaces). SQL will not, cannot evolve into such a direction (or, anything that evolves, will not be recognizable as SQL).
-
goccy/bigquery-emulator: BigQuery emulator server implemented in Go
Hi, I develop a BigQuery emulator ( https://github.com/goccy/bigquery-emulator ) from early 2022. It is written in Go, but can be used from bq command line tool and other language's (e.g. Python ) client SDK after installing docker image or released binary. It currently supports over 200 of the nearly 330 standard functions in BigQuery and all data types except GEOGRAPHY ( see https://github.com/goccy/go-zetasqlite#status for details ). ZetaSQL ( https://github.com/google/zetasql ) is used to parse and analyze queries.
- ZetaSQL – Analyzer Framework for SQL
-
ZetaSQL - Question about using local service
We are using a Python client binding for ZetaSQL GRPC local service in our application to analyze statements and extract referenced tables and output columns.
-
Parsing SQL
If you don't want to do it yourself, there's this:
https://github.com/google/zetasql
Parsing is huge but it's amazing how small a part of the job it is. This library isn't even the half of it.
- SQLGlot: SQL parser, transpiler, optimizer – translate to Presto, Spark, Hive
- ZetaSQL - Analyzer Framework for SQL
- ZetaSQL
-
New PostgreSQL Interface for Cloud Spanner
I mean the postgres parser (and semantic changes) for ZetaSQL. The zetasql parser is in a file called zetasql/parser/bison_parser.y, I strongly suspect they now have a file called something like zetasql/pgparser/bison_parser.y as well (and much more pervasive changes to support the deeper differences in the dialects).
This is the lexical structure and syntax docs for the new postgres inteface to cloud spanner:
https://cloud.google.com/spanner/docs/postgresql/lexical
And this is the zetasql lexical structure and syntax docs:
https://github.com/google/zetasql/blob/master/docs/lexical.m...
Notice that the new PG docs are an edit of the Zeta ones - evidence that my hypothesis is correct.
-
Open Source SQL Parsers
zetasql implements BigQuery, Spanner, and Dataflow dialects.
Presto
-
Multi-Database Support in DuckDB
We have some of this functionality in Presto (https://github.com/prestodb/presto), but it takes fair bit of work to implement it for all the different backends.
-
Rust std:fs slower than Python
Note that glibc has a similar problem in multithreaded contexts. It strands unused memory in thread-local pools, which grows your memory usage over time like a memory leak. We got lower memory usage that didn't grow over time by switching to jemalloc.
Example of this: https://github.com/prestodb/presto/issues/8993
- Ask HN: What are some SQL transpilers?
-
Cheat sheet for quotes usage?
I look at the grammar. Here is preto's grammar which is mostly similar to other sql engines: https://github.com/prestodb/presto/blob/master/presto-parser/src/main/antlr4/com/facebook/presto/sql/parser/SqlBase.g4
-
After a few recent events, opening a Linux terminal in public places is a big no-no
export MVNW_VERBOSE=true git clone https://github.com/prestodb/presto.git cd presto bash ./mvnw clean install
- presto: The official home of the Presto distributed SQL query engine for big data
- Compile the Minecraft Server (Java Edition) to Native with GraalVM Native Image
-
What are y'all learning right now?
more specifically, recently started learning about Presto [paper], and have been diving deeper into [source] code.
-
DeWitt Clause, or Can You Benchmark %DATABASE% and Get Away With It
Presto
- Let's write a compiler, part 5: A code generator
What are some alternatives?
sqlparse - A non-validating SQL parser module for Python
Trino - Official repository of Trino, the distributed SQL query engine for big data, formerly known as PrestoSQL (https://trino.io)
Apache Calcite - Apache Calcite
Apache Phoenix - Apache Phoenix
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
ANTLR - ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.
HikariCP - 光 HikariCP・A solid, high-performance, JDBC connection pool at last.
pgsql-parser - PostgreSQL Query Parser for Node.js
jOOQ - jOOQ is the best way to write SQL in Java
sqlite-parser - JavaScript implentation of SQLite 3 query parser
Spring Data JPA - Simplifies the development of creating a JPA-based data access layer.