You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 06cb959
Browse filesBrowse the repository at this point in the historyBrowse files
Add structured MySQL CREATE and ALTER partition grammar
Parse HASH, LINEAR HASH, KEY, LINEAR KEY, RANGE and LIST methods,
including COLUMNS variants, KEY ALGORITHM, partition counts, HASH/KEY
subpartitioning, partition value lists and recognized definition options.
Represent methods, expressions, names and definitions as traversable AST
nodes and emit canonical SQL without preserving unchecked clause tails.
Add standalone ALTER partition maintenance and EXCHANGE operations with
native modifier placement and action-list boundaries. Parse repartitioning
and REMOVE PARTITIONING tails separately from comma-separated actions.
Preserve destination routing metadata when EXCHANGE names a source table.
Enforce native bit_expr boundaries and numeric-token rules, including wide
hexadecimal metadata. Reject opaque legacy expression fragments and
PostgreSQL array/postfix syntax in partition operands. Treat ARRAY as a
normal MySQL identifier/function token while retaining PostgreSQL behavior.
Append node kinds without changing the 48-byte AST and retain conservative
local-planner and parameterization guards.
Register nine regression groups covering methods, malformed boundaries,
canonical round trips, AST clone/walk/edit behavior and metadata guards.
Remove the obsolete blanket rejection of partitioned CREATE TABLE.
Validation: forced full rebuild and make test passed 1,683 tests with 37
external-database skips; ASan/UBSan with leak detection passed 167 focused
MySQL tests. PostgreSQL harness passed 87 tests and all 5,122 CI cases.
Independent review verified malformed inputs, stable valid emission and
6,138 constrained-arena sanitizer parses. Seven parser/emitter benchmark
smoke cases ran; no benchmark sources or results are included.
0 commit comments