Powerful document editing and collaboration in your app or environment. Ultimate security, API and 30+ ready connectors, SaaS or on-premises Learn more →
Zetasql Alternatives
Similar projects and alternatives to zetasql
-
-
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
-
Sonar
Write Clean C++ Code. Always.. Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.
-
-
-
-
ANTLR
ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.
-
alasql
AlaSQL.js - JavaScript SQL database for browser and Node.js. Handles both traditional relational tables and nested JSON data (NoSQL). Export, store, and import data from localStorage, IndexedDB, or Excel.
-
ONLYOFFICE
ONLYOFFICE Docs — document collaboration in your environment. Powerful document editing and collaboration in your app or environment. Ultimate security, API and 30+ ready connectors, SaaS or on-premises
-
-
go-mysql-server
A MySQL-compatible relational database with a storage agnostic query engine. Implemented in pure Go.
-
-
rune
Rune is a programming language developed to test ideas for improving security and efficiency.
-
-
-
grammars-v4
Grammars written for ANTLR v4; expectation that the grammars are free of actions.
-
OPA (Open Policy Agent)
An open source, general-purpose policy engine.
-
-
logica
Logica is a logic programming language that compiles to StandardSQL and runs on Google BigQuery.
-
-
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
zetasql reviews and mentions
-
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.
-
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
-
New PostgreSQL Interface for Cloud Spanner
https://github.com/google/zetasql
It is amazingly good.
You give it textual SQL (+ schema + all your function definitions) and it returns a really clean logical query plan. It is also happy to do this via a protobufs so you can use it from languages other than C++. It is also tested and documented up the wazoo. It has been such a pleasure to work with.
Anyway, the big problem with ZetaSQL is that it is not a common SQL dialect.
It seems that the only reasonable way to do this PostgreSQL interface for Cloud Spanner is to add a second parser (and other extensions) to ZetaSQL. If I am correct, I really really hope they open source that part of ZetaSQL as well - it would be a massive step forward for open source SQL tooling.
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.
-
Let's write a compiler, part 5: A code generator
ZetaSQL[1] seems like it could be a fit for your use case. I've worked with Apache Calcite in the past and found it to be very complex to work with. I found ZetaSQL to be a little easier to use.
-
BigQuery Language Server
I’m not aware of one but you could probably use ZetaSQL to put one together, the difficult work has been opened, you’d just need to add the LSP layer.
-
A new template-defined width integer C++ library has snuck its way into Google ZetaSQL
Some additional helper functions here.
-
A note from our sponsor - ONLYOFFICE
www.onlyoffice.com | 1 Jun 2023
Stats
google/zetasql is an open source project licensed under Apache License 2.0 which is an OSI approved license.
The primary programming language of zetasql is C++.