Skip to content

Comments

[WIP] feat: support charTypeWriteSideCheck and varcharTypeWriteSideCheck via StaticInvoke#3593

Draft
n0r0shi wants to merge 1 commit intoapache:mainfrom
n0r0shi:char-varchar-write-check
Draft

[WIP] feat: support charTypeWriteSideCheck and varcharTypeWriteSideCheck via StaticInvoke#3593
n0r0shi wants to merge 1 commit intoapache:mainfrom
n0r0shi:char-varchar-write-check

Conversation

@n0r0shi
Copy link

@n0r0shi n0r0shi commented Feb 25, 2026

Summary

  • Add Rust UDFs for Spark's char/varchar write-side validation (CharVarcharCodegenUtils.charTypeWriteSideCheck / varcharTypeWriteSideCheck), triggered when
    inserting into CHAR(n) / VARCHAR(n) columns
  • charTypeWriteSideCheck: pad shorter strings with spaces, trim trailing spaces if longer, error if exceeds limit
  • varcharTypeWriteSideCheck: pass through if within limit, trim trailing spaces if longer, error if exceeds limit
  • Wire via StaticInvoke handler in statics.scala using CometScalarFunction

…a StaticInvoke

Add Rust UDFs for Spark's char/varchar write-side validation, triggered
when inserting into CHAR(n)/VARCHAR(n) columns:
- charTypeWriteSideCheck: pad shorter strings with spaces, trim
  trailing spaces if longer, error if still exceeds limit
- varcharTypeWriteSideCheck: pass through if within limit, trim
  trailing spaces if longer, error if still exceeds limit

Handles Utf8, LargeUtf8, and Dictionary-encoded string arrays.
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