Lambda examples in the SQL function docs fail with the default dialect
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
- #26040 par @Prajwal-k-tech — fermée sans fusion
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 85/100
- Type d'issue
- Documentation
- Clarté
- Clairement spécifiée
- Activité
- Active
- Domaine
- documentation
Piste de recherche
Commencez par les attributs #[user_doc] de any_match, array_filter, array_first et array_transform, puis examinez dev/update_function_docs.sh et les entrées générées de scalar_functions.md. Exécutez les exemples dans datafusion-cli avec la valeur par défaut et avec un dialecte lambda pris en charge ; le travail est terminé lorsque la documentation explique l’exigence liée au dialecte et que les exemples générés sont exacts.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Describe the bug
The SQL reference examples for any_match, array_filter, array_first and array_transform use lambda syntax (x -> x > 2), but none of them run in datafusion-cli with the default dialect. The -> is not parsed as a lambda, so the error points at the parameter instead:
> select array_filter([1, 2, 3, 4, 5], x -> x > 2);
Error: Schema error: No field named x.
The same happens for the other three examples. They work after switching to a dialect whose supports_lambda_functions() is true (databricks, duckdb, snowflake, spark, clickhouse):
> set datafusion.sql_parser.dialect = 'duckdb';
> select array_filter([1, 2, 3, 4, 5], x -> x > 2);
[3, 4, 5]
The sqllogictest files for these functions already do this (array_transform.slt and array_any_match.slt start with set datafusion.sql_parser.dialect = databricks;), so the requirement is known; the user guide just doesn't mention it.
To Reproduce
datafusion-cli built from main at 4d167a1, then any of the four documented examples.
Expected behavior
Either the docs say that lambdas need one of those dialects (a note on each function, or once at the top of the higher-order functions section), or lambdas parse under the default dialect. The note is the small fix. Happy to send a PR for it, generated through dev/update_function_docs.sh from the #[user_doc] attributes.
Additional context
Found by running every SQL example in scalar_functions.md against a main build. Written with Claude Code (Claude Opus 5.5).
- Langage dominant
- Rust
- Étoiles
- 9.6k
- Forks
- 2.6k
- Merge moyen
- 3 j 15 h
- PR mergées (30 j)
- 319
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le 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
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
apache/datafusion#27094 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Substrait consumer doesn't recognise `shift_left` / `shift_right` from functions_arithmetic.yamlPeut-être pris @jonasHanhan l’a pris il y a 3 jours. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
apache/datafusion#27059 ·
Les mainteneurs répondent en général sous 1 jour
-
`ProjectionExprs::project_statistics` computes approximate `Statistics::total_byte_size` ignoring column statsPeut-être pris @joseph-isaacs l’a pris il y a 3 jours. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
apache/datafusion#27050 ·
Les mainteneurs répondent en général sous 1 jour
-
physical-plan: decoding an Unnest or Explain node with an unset field panicsPeut-être pris @geoHeil l’a pris il y a 2 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
apache/datafusion#26999 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
datafusion-proto: decoding an AvroScan node without the avro feature panicsPeut-être pris @geoHeil l’a pris il y a 2 jours. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
apache/datafusion#26998 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de apache/datafusion
Issues similaires
-
[cosmic-applet-battery] Division by zero displays NaN% when UPower reports max_brightness = 0Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
pop-os/cosmic-applets#1619 ·
Les mainteneurs répondent en général sous 3 jours
-
binding:python bug
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
coollabsio/orbit#72 ·
Les mainteneurs répondent en général sous 1 jour
-
swc_common: Mark::least_ancestor never returns when the answer is the root mark (ANT-2026-JYDQGGRT)Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
swc-project/swc-ai-issues#137 ·
-
Synth suite fails unless run from the repo root: signal_flow's default machine path is cwd-relativeOuvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 80/100
Nimblesite/osprey#370 ·
Les mainteneurs répondent en général sous 1 jour