-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Is your feature request related to a problem or challenge?
These sql are not supported
##recursive unnest(list->list)
query ?
select * from unnest(unnest(
[[1,2,3],[4,5,6]]
));
----
1
2
3
4
5
6
##recursive unnest(list->struct_field_access->list)
query ?
select * from unnest(unnest(
[struct([1,2,3]),struct([4,5,6])]
)['c0']);
----
1
2
3
4
5
6
##recursive unnest(list->struct)
query ?
select * from unnest(unnest(
[struct([1,2,3],[4,5,6]),struct([7,8,9],[10,11,12])]
));
----
[1,2,3] [4,5,6]
[7,8,9] [10,11,12]
If an unnest expr is a descendant of another unnest expr, this error will be thrown:
This feature is not implemented: Unnest should be rewritten to LogicalPlan::Unnest before type coercion
Describe the solution you'd like
- Support nested unnest expr by solving the above error.
- Can we support a syntax similar duckdb: within unnest expr, there is an option to specify recursion level
D select unnest([[1,2,3],[4,5,6]], max_depth:=2);
┌─────────────────────────────────────────────────────────────────────────────────────────────┐
│ unnest(main.list_value(main.list_value(1, 2, 3), main.list_value(4, 5, 6)), max_depth := 2) │
│ int32 │
├─────────────────────────────────────────────────────────────────────────────────────────────┤
│ 1 │
│ 2 │
│ 3 │
│ 4 │
│ 5 │
│ 6 │
└─────────────────────────────────────────────────────────────────────────────────────────────┘
Describe alternatives you've considered
No response
Additional context
No response
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request