Add a Presto dialect
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 55/100
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- Rust
- Étoiles
- 3.5k
- Forks
- 805
- Merge moyen
- 2 j 3 h
- PR mergées (30 j)
- 116
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de apache/datafusion-sqlparser-rs
-
Redshift
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
apache/datafusion-sqlparser-rs#2959 ·
Les mainteneurs répondent en général sous 1 jour
-
Redshift
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
apache/datafusion-sqlparser-rs#2958 ·
Les mainteneurs répondent en général sous 1 jour
-
PostgreSQL
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
apache/datafusion-sqlparser-rs#2862 ·
Les mainteneurs répondent en général sous 1 jour
-
PostgreSQL
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
apache/datafusion-sqlparser-rs#2861 ·
Les mainteneurs répondent en général sous 1 jour
-
PostgreSQL
Difficulté 2/5 1-3 heures Accessibilité débutants 77/100
apache/datafusion-sqlparser-rs#2858 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de apache/datafusion-sqlparser-rs
Issues similaires
-
P3
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
HerringtonDarkholme/hd-lang#1770 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
jonathanong/no-mistakes#3332 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
swc-project/swc-next-issues#310 ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
swc-project/swc-ai-issues#653 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
lbjlaq/Antigravity-Manager#3937 ·
Les mainteneurs répondent en général sous 1 jour