Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

ClickHouse table function is recognized as TableFactor::Table

Ouverte
#2,027 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
55/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
rust, sql
Domaine
compilers, databases

Piste de recherche

Commencez dans src/parser/mod.rs, au niveau de la gestion de Function et TableFunction référencée dans l’issue, puis comparez le parsing de SELECT * FROM test et SELECT * FROM test(). Confirmez le comportement final au moyen d’une sortie du parser montrant que la forme ClickHouse ident() est correctement distinguée d’une simple référence de table.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

See https://clickhouse.com/docs/sql-reference/table-functions.

For example:

SELECT * FROM test;
SELECT * FROM test();

They produce:

pre_visit_table_factor: Table { name: ObjectName([Identifier(Ident { value: "test", quote_style: None, span: Span(Location(1,16)..Location(1,20)) })]), alias: None, args: None, with_hints: [], version: None, with_ordinality: false, partitions: [], json_path: None, sample: None, index_hints: [] }

and

pre_visit_table_factor: Table { name: ObjectName([Identifier(Ident { value: "test", quote_style: None, span: Span(Location(1,16)..Location(1,20)) })]), alias: None, args: Some(TableFunctionArgs { args: [], settings: None }), with_hints: [], version: None, with_ordinality: false, partitions: [], json_path: None, sample: None, index_hints: [] }

The second version produces args: Some(TableFunctionArgs { args: [], settings: None }).

As I see it's because Function is only recognized after a LATERAL keyword, and TableFunction is only for the TABLE() syntax (but not for ident()).

Langage dominant
Rust
Étoiles
3.5k
Forks
786
Merge moyen
3 j 15 h
PR mergées (30 j)
51

Préparer son environnement

  • Aucun Dockerfile ni fichier Docker Compose
  • Propose un modèle de pull request
  • Aucun guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de apache/datafusion-sqlparser-rs

Toutes les issues de apache/datafusion-sqlparser-rs

Issues similaires

Plus d'issues Rust

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.