Spark/Databricks: `CACHE TABLE t;` is rejected (only EOF ends the optional query)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 68/100
Direzione di ricerca
Il controllo che fallisce si trova in parse_cache_table, che verifica la fine del file (EOF) prima di chiamare parse_as_query, quindi un ; viene inviato al parser delle query. Confronta con la correzione UNCACHE in #1320 e fai in modo che la query opzionale tratti anche ; come fine. Completato quando CACHE TABLE t; SELECT 1 e la variante CACHE LAZY TABLE ... OPTIONS (...) vengono analizzati come due istruzioni, usando i test di SparkSqlDialect e DatabricksDialect.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
CACHE TABLE <name> without a query only parses at the end of input. A ; after it is an error:
CACHE TABLE t;
-> sql parser error: Expected: a QUERY statement, found: ; at Line: 1, Column: 14
CACHE TABLE t; SELECT 1
CACHE LAZY TABLE t OPTIONS ('storageLevel' = 'DISK_ONLY'); SELECT 1
-> same error
CACHE TABLE t AS SELECT 1; SELECT 1
-> 2 statements (fine)
parse_cache_table checks peek_token_ref().token == Token::EOF before calling parse_as_query, so ; goes to the query parser. UNCACHE had the same problem (#1244, fixed in #1320).
Grammar ([ [ AS ] query ] is optional): https://spark.apache.org/docs/latest/sql-ref-syntax-aux-cache-cache-table.html, https://docs.databricks.com/aws/en/sql/language-manual/sql-ref-syntax-aux-cache-cache-table
Tested with SparkSqlDialect and DatabricksDialect on main ce12f1f6 (also 0.63.0 and 0.58.0).
Found with a property-based fuzzer (round trip and statement-separation checks); I used AI assistance for triage and verified every case above.
- Lingua principale
- Rust
- Stelle
- 3.5k
- Fork
- 801
- Merge medio
- 2g 19h
- PR unite (30g)
- 108
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/datafusion-sqlparser-rs
-
DuckDB Prolific Author
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
apache/datafusion-sqlparser-rs#2807 ·
I maintainer di solito rispondono entro 1 giorno
-
DuckDB PostgreSQL Prolific Author
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
apache/datafusion-sqlparser-rs#2803 ·
I maintainer di solito rispondono entro 1 giorno
-
PostgreSQL: support FOR NO KEY UPDATE and FOR KEY SHARE row-locking clausesForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. ApertaPostgreSQL
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
apache/datafusion-sqlparser-rs#2778 ·
I maintainer di solito rispondono entro 1 giorno
-
`SHOW ... ILIKE '<pattern>'` is displayed without quotesForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. ApertaProlific Author
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
apache/datafusion-sqlparser-rs#2759 ·
I maintainer di solito rispondono entro 1 giorno
-
Should `DELETE + LIMIT` be supported by the generic dialect ?Forse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. ApertaDuckDB MySQL PostgreSQL
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
apache/datafusion-sqlparser-rs#2615 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di apache/datafusion-sqlparser-rs
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
`nsh-core` fails to compile when taffy's default `calc` feature is enabled elsewhere in the graphAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
longbridge/nsh#966 ·
I maintainer di solito rispondono entro 1 giorno
-
Windows docs: pin a tested ConPTY version for Kitty graphics; 1.25.260930003 corrupts large uploadsAperta
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100
raphamorim/rio#2021 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
hydro-project/infinity#187 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
near/near-sdk-rs#1676 ·
I maintainer di solito rispondono entro 2 giorni