Skip to content

chore(audit): audit bitwise expressions across Spark 3.4.3, 3.5.8, 4.0.1, 4.1.1#4479

Open
andygrove wants to merge 1 commit into
apache:mainfrom
andygrove:worktree-audit-bitwise-funcs
Open

chore(audit): audit bitwise expressions across Spark 3.4.3, 3.5.8, 4.0.1, 4.1.1#4479
andygrove wants to merge 1 commit into
apache:mainfrom
andygrove:worktree-audit-bitwise-funcs

Conversation

@andygrove
Copy link
Copy Markdown
Member

Which issue does this PR close?

Closes #.

Rationale for this change

Continuation of the per-category expression audit. Same pattern as #4478 (map), #4476 (hash), #4475 (conditional), #4474 (misc), #4473 (collection), #4470 (json), #4469 (struct), using the updated audit-comet-expression skill in #4468.

What changes are included in this PR?

Support-doc audit notes

Add per-version audit sub-bullets to all 11 supported bitwise SQL function names (&, <<, >>, ^, bit_count, bit_get, getbit, shiftright, shiftrightunsigned, |, ~). The Spark expression classes are byte-for-byte identical across the four versions for behaviour; the only changes are the parser-level operator aliases added in Spark 4.0 (<< / >> / >>> as aliases for shiftleft/shiftright/shiftrightunsigned) and the new BitShiftOperation shared base trait. getbit is a registry alias of BitwiseGet / bit_get.

Support-level consistency fixes

None. The seven backing serdes were already clean. CometShiftLeft and CometShiftRight already correctly cast the right operand to LongType when needed for DataFusion's matching-operand-type requirement.

Tracking issues filed for follow-up

None.

Audit process

Audited directly using the audit-comet-expression skill (4 Spark versions per #4468). Seven backing serdes, no parallel subagents needed.

How are these changes tested?

  • make core succeeds (no code changes; doc only).
  • Existing CometBitwiseExpressionSuite coverage remains unchanged.

…0.1, 4.1.1

Add per-version audit sub-bullets to all 11 supported bitwise SQL
function names (`&`, `<<`, `>>`, `^`, `bit_count`, `bit_get`,
`getbit`, `shiftright`, `shiftrightunsigned`, `|`, `~`).

The Spark expression classes are byte-for-byte identical across the
four versions; the only changes are the parser-level operator aliases
added in Spark 4.0 (`<<` / `>>` / `>>>` as aliases for
`shiftleft`/`shiftright`/`shiftrightunsigned`) and the new
`BitShiftOperation` shared base trait. `getbit` is a registry alias
of `BitwiseGet` / `bit_get`.

No support-level consistency issues were found in the seven backing
serdes. `CometShiftLeft` and `CometShiftRight` already correctly
cast the `right` operand to `LongType` when needed for DataFusion's
matching-operand-type requirement. No new tracking issues are filed.
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