Skip to content

[ABA-31] test(vortex-array): repro for missing string/unary/InList API surface#20

Open
abnobdoss wants to merge 1 commit into
developfrom
fix/aba-31-missing-api-surface
Open

[ABA-31] test(vortex-array): repro for missing string/unary/InList API surface#20
abnobdoss wants to merge 1 commit into
developfrom
fix/aba-31-missing-api-surface

Conversation

@abnobdoss
Copy link
Copy Markdown
Owner

Summary

Repro-only PR — no production code changed. Adds three #[ignore]d tests in
vortex-array/src/scalar_fn/fns/operators.rs that document three independent
API-surface gaps tracked under ABA-31:

  • (a) No general string scalar functionsscalar_fn::fns has no module
    for length, upper, lower, trim, substring, concat, etc. The only
    string-shaped op is like. Test: issue_aba31_a_general_string_scalar_function_exists
  • (b) No unary numeric operatorOperator enum (12 variants) covers only
    binary ops. No Abs, Neg, Floor, Ceil, Round, Sign, or Sqrt
    variant exists. An exhaustive match in the test acts as a compile-time trip
    wire: if a unary variant is ever added, the match stops compiling. Test:
    issue_aba31_b_unary_numeric_operator_exists
  • (c) No native InList operator — SQL IN (...) is emulated in the DataFusion
    converter as list_contains(lit(List[...]), x), conflating relational set-membership
    with list-element-containment and preventing stat-based falsification. Test:
    issue_aba31_c_native_in_list_operator_exists

Each of the three gaps is independent and a separate future feature addition.
A control test (control_list_contains_id_is_stable) verifies the discovery
harness is functional.

Linear: https://linear.app/abanoubdoss/issue/ABA-31

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

Generated with Claude Code

…ps / native InList

Add three #[ignore]d repro tests in `scalar_fn::fns::operators::tests` that
document three independent API-surface gaps (REPRO-ONLY; no production code
changed):

- issue_aba31_a_general_string_scalar_function_exists: no length/upper/lower/
  trim/concat/substring factories in expr::exprs or scalar_fn::fns modules
- issue_aba31_b_unary_numeric_operator_exists: Operator enum (12 variants)
  covers only binary ops; no Abs/Neg/Floor/Ceil/Round/Sign/Sqrt exists
- issue_aba31_c_native_in_list_operator_exists: SQL IN (...) is emulated via
  list_contains(lit(List[...]), x) in the DataFusion converter, conflating set
  membership with list-element-containment; no dedicated InList scalar fn

Each test panics with a diagnostic message when run with --ignored.  A control
test confirms the discovery harness is functional.

Fixes: https://linear.app/abanoubdoss/issue/ABA-31

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Abanoub Doss <abnobdoss@proton.me>
Signed-off-by: Abanoub Doss <abanoub.doss@gmail.com>
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