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
The type syntax struct<fieldA typeA, fieldB typeB> does not exist in PostgreSQL.
Casting between 2 struct types matches fields of both sides by position rather than name. This is disallowed by PostgreSQL, but consistent with DuckDB (until 0.9.0) and Flink.
DuckDB: with t(v) as (select row(3.2, true)::struct(x decimal, y boolean)) select v::struct(a int, b int) from t;
Flink: with t(v) as (select cast(row(3.2, true) as row<x decimal, y boolean>)) select cast(v as row<a int, b int>) from t;
The text was updated successfully, but these errors were encountered:
This issue has been open for 60 days with no activity.
If you think it is still relevant today, and needs to be done in the near future, you can comment to update the status, or just manually remove the no-issue-activity label.
You can also confidently close this issue as not planned to keep our backlog clean.
Don't worry if you think the issue is still valuable to continue in the future.
It's searchable and can be reopened when it's time. 😄
(st).*
expanding to multiple columns bug: array of struct #6934CREATE TYPE
IS NULL
of all-null row/struct #10150struct.*
(andtable.*
) #10847Tests:
struct
duckdb test cases #6556struct
andlist
exprs #7132RandValue
for list / struct / jsonb #8001Also acknowledging some facts:
struct<fieldA typeA, fieldB typeB>
does not exist in PostgreSQL.with t(v) as (select row(3.2, true)::struct(x decimal, y boolean)) select v::struct(a int, b int) from t;
with t(v) as (select cast(row(3.2, true) as row<x decimal, y boolean>)) select cast(v as row<a int, b int>) from t;
The text was updated successfully, but these errors were encountered: