matrixorigin / matrixorigin/matrixone
[Refactoring]: Migrate FORMAT, MAKEDATE, and MAKETIME integer parameters
- 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 special consumers whose non-integer operands or compatibility behavior require dedicated execution kernels:
- FORMAT precision, while preserving exact versus approximate first-argument domains and the pre-v59 persisted FORMAT bridge.
- MAKEDATE year/day, with calendar bounds checked before narrowing.
- MAKETIME hour/minute, while preserving fractional seconds, result scale, and legacy identities.
## Acceptance criteria
- Integer parameters use the shared binding contract; non-integer operands retain their existing domains.
- FORMAT catalog expressions downgrade without retaining MORPC v76 private identities.
- MAKEDATE rejects or returns NULL at documented calendar/range boundaries without int32 wraparound.
- MAKETIME preserves fractional seconds and scale and does not route hour/minute through FLOAT.
- Constants, columns, prepared values, NULL, overflow, catalog restart, and legacy execution identities are covered.
- No new global coercion semantics is introduced.
Contributor guide
Assessment
This issue has not been assessed yet.