Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Regression: Decreased tolerance to column names matching SQL keywords

Aperta
#2,049 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
52/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
rust, sql
Ambito
compilers

Direzione di ricerca

Inizia riproducendo la query segnalata con GenericDialect e AnsiDialect nelle versioni 0.57.0 e 0.58.0, quindi confronta il comportamento del parser in corrispondenza della colonna offset e della clausola FROM. Traccia i punti di ingresso del parser raggiunti da questo esempio e aggiungi un regression test che copra la query che fallisce; il lavoro è completato quando la query viene interpretata in modo coerente senza rompere le varianti funzionanti.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Related to: https://github.com/apache/datafusion/issues/17802

Between versions 0.57.0 and 0.58.0 there appears to be a regression that decreased parser tolerance to column names that collide with SQL keywords.

Example:

use sqlparser::dialect::GenericDialect;
use sqlparser::parser::Parser;

fn main() {
    let dialect = GenericDialect {}; // or AnsiDialect

    let sql = r#"
        SELECT
            'a' as a,
            offset
        FROM my_table
    "#;

    let ast = Parser::parse_sql(&dialect, sql).unwrap();
    println!("AST: {:#?}", ast);
}

This works on version 0.57.0, but fails on 0.58.0 with error:

ParserError("Expected: end of statement, found: my_table at Line: 5, Column: 14")

These queries work fine, which adds some confusing inconsistency into the mix:

SELECT
    offset
FROM my_table
SELECT
    offset,
    'a' as a
FROM my_table
Lingua principale
Rust
Stelle
3.5k
Fork
774
Merge medio
3g 12h
PR unite (30g)
30

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di apache/datafusion-sqlparser-rs

Tutte le issue di apache/datafusion-sqlparser-rs

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.