-
Notifications
You must be signed in to change notification settings - Fork 4.1k
sql: tuples not properly preserved during serialization #26624
Copy link
Copy link
Closed
Labels
A-sql-semanticsC-bugCode not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.Code not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.
Milestone
Description
Found while investigating #26621.
The expression ROW(x) gets serialized after normalization (format with FmtParsable) to (x) which has a completely different meaning. This causes the following error when distribution is enabled, but not with local execution:
> select row(1) in (row(2), row(1), row(v)) from kv;
pq: (1:::INT) IN ((2:::INT), (1:::INT), ROW("$0")): unsupported comparison operator: (1:::INT) IN ((2:::INT), (1:::INT), ROW("$0")): expected ROW("$0") to be of type int, found type tuple{int}Also all the labeled tuples lose their labels during serialization. This likely breaks distribution of queries with labeled tuples.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
A-sql-semanticsC-bugCode not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.Code not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.