matrixorigin / matrixorigin/matrixone

[Refactoring]: Migrate string position and length parameters

Open
#28,978 0 comments 0 reactions 1 assignee Claimed by @ck89119 View on GitHub
kind/refactoring
Dominant language
Go
Stars
1.9k
Forks
311
Avg merge
1d 3h
Merged PRs (30d)
768

Description

## Parent

- #28893

## Dependency

Depends on the shared contract delivered by the binding-layer foundation subtask.

## Scope

Migrate ordinary string position/count/length consumers to the approved integer-parameter contract:

- LEFT, RIGHT, SUBSTRING/SUBSTR/MID
- LPAD, RPAD, INSERT, LOCATE
- REPEAT, SPACE, ELT

SPLIT_PART and REGEXP optional selectors are tracked in #28979 because their existing execution signatures use narrower UINT32/INT8 contracts and require explicit range-preserving executor work rather than metadata-only migration.

Retain historical execution identities for compatibility and remove them only from new overload selection.

## Acceptance criteria

- All listed integer-only parameters use shared binding coercion and canonical signed ranges.
- Fractional constants, columns, prepared values, selectors, NULL, and overflow have focused coverage.
- Existing persisted identities remain executable.
- No new coercion semantics, protocol identity, or global binder special case is introduced. Any such need must return to design review rather than expanding this migration PR.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.