Add a Presto dialect
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 55/100
Rechercherichtung
Start by reading the existing dialect implementations and the Dialect flags for FILTER, grouping sets, and lambdas; compare identifier rules with Presto's linked SqlBase.g4 grammar. Then locate how the lexer handles identifier characters and quote delimiters. Done means a PrestoDialect supports the proposed identifier rules and shared syntax; time travel and CREATE FUNCTION are explicitly out of scope.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Presto is a distributed SQL query engine created at Facebook in 2012 and governed since 2019 by the Presto Foundation under the Linux Foundation, with members including Uber, Alibaba and IBM (which ships it in watsonx.data).
Differences in Presto's grammar (SqlBase.g4) from the existing dialects:
- Unquoted identifiers may contain
@and:after the first character, soevents:analyticsis a single identifier. No existing dialect lexes this. (#2604 covers dialects that need such names split into parts.) - Only double quotes delimit identifiers. Backquotes, which MySQL, Hive and BigQuery accept, are rejected.
- Time travel accepts
FOR {SYSTEM_TIME | SYSTEM_VERSION | TIMESTAMP | VERSION} {AS OF | BEFORE} expr. Today the parser models onlyFOR SYSTEM_TIME AS OFfrom this family.
Proposal: a PrestoDialect with these identifier rules, plus the existing Dialect flags for syntax Presto shares with other engines (FILTER (WHERE ...), GROUPING SETS/CUBE/ROLLUP, lambdas). Time travel and CREATE FUNCTION need AST changes and can follow separately.
- Vorherrschende Sprache
- Rust
- Sterne
- 3.5k
- Forks
- 805
- Ø Merge
- 2 T. 3 Std.
- Gemergte PRs (30 T.)
- 116
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus apache/datafusion-sqlparser-rs
-
Redshift
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
apache/datafusion-sqlparser-rs#2959 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Redshift
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
apache/datafusion-sqlparser-rs#2958 ·
Maintainer antworten meist innerhalb von 1 Tag
-
PostgreSQL
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
apache/datafusion-sqlparser-rs#2862 ·
Maintainer antworten meist innerhalb von 1 Tag
-
PostgreSQL
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
apache/datafusion-sqlparser-rs#2861 ·
Maintainer antworten meist innerhalb von 1 Tag
-
PostgreSQL
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 77/100
apache/datafusion-sqlparser-rs#2858 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in apache/datafusion-sqlparser-rs
Ähnliche Issues
-
P3
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
HerringtonDarkholme/hd-lang#1770 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
jonathanong/no-mistakes#3332 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
swc-project/swc-next-issues#310 ·
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
swc-project/swc-ai-issues#653 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
lbjlaq/Antigravity-Manager#3937 ·
Maintainer antworten meist innerhalb von 1 Tag