Skip to content

Comments

feat: support ilike expression#3589

Open
n0r0shi wants to merge 1 commit intoapache:mainfrom
n0r0shi:ilike-func
Open

feat: support ilike expression#3589
n0r0shi wants to merge 1 commit intoapache:mainfrom
n0r0shi:ilike-func

Conversation

@n0r0shi
Copy link

@n0r0shi n0r0shi commented Feb 25, 2026

Summary

  • Wire ilike from the datafusion-spark crate (SparkILike) to Comet
  • Register in jni_api.rs and add serde mapping in QueryPlanSerde.scala
  • Custom handler CometILike in strings.scala to reject non-default escape characters
  • ILIKE requires case-insensitive comparison which depends on locale-specific case conversion. When spark.comet.caseConversion.enabled is disabled (default), ILIKE falls back to Spark to avoid incompatibilities with Rust's Unicode-based to_lowercase() vs Java's locale-aware rules (e.g. Turkish I)

Please let me know if the caseConversion handling is not appropriate

Register datafusion-spark's SparkILike UDF and add CometILike handler
in stringExpressions. Custom escape characters fall back to Spark.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant