Search before asking
Paimon version
master (1.5-SNAPSHOT)
Compute Engine
Any engine issuing ALTER TABLE on a MULTISET column.
Minimal reproduce step
- Create a table with a
MULTISET column, e.g. tags MULTISET<INT>.
- Alter the multiset element type, e.g. to
MULTISET<BIGINT> (or change the element nullability).
What doesn't meet your expectations?
The ALTER fails with a misleading ColumnNotExistException, even though the column exists. The nested type-update walk has no MULTISET case, so an off-by-one routes the change to updateLastColumn on an empty list. A MULTISET<T> is physically stored as InternalMap<T, Int>, so the element is a map key, and the read-side cast infrastructure has no MULTISET executor and deliberately forbids changing a map key type. So a multiset element type change cannot be applied to existing data and should be rejected at DDL with a clear, actionable message rather than a confusing "column not exist".
Anything else?
The MULTISET column's own top-level nullability change (the column, not its element) is a separate, supported operation and should keep working.
Are you willing to submit a PR?
Search before asking
Paimon version
master (1.5-SNAPSHOT)
Compute Engine
Any engine issuing
ALTER TABLEon aMULTISETcolumn.Minimal reproduce step
MULTISETcolumn, e.g.tags MULTISET<INT>.MULTISET<BIGINT>(or change the element nullability).What doesn't meet your expectations?
The ALTER fails with a misleading
ColumnNotExistException, even though the column exists. The nested type-update walk has noMULTISETcase, so an off-by-one routes the change toupdateLastColumnon an empty list. AMULTISET<T>is physically stored asInternalMap<T, Int>, so the element is a map key, and the read-side cast infrastructure has no MULTISET executor and deliberately forbids changing a map key type. So a multiset element type change cannot be applied to existing data and should be rejected at DDL with a clear, actionable message rather than a confusing "column not exist".Anything else?
The
MULTISETcolumn's own top-level nullability change (the column, not its element) is a separate, supported operation and should keep working.Are you willing to submit a PR?