[
https://issues.apache.org/jira/browse/PHOENIX-953?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14708720#comment-14708720
]
Maryann Xue commented on PHOENIX-953:
-------------------------------------
Some query tests passed after applying this patch and implementing
PhoenixUncollect. Looks like calcite does not support WITH ORDINALITY yet, so
the other tests failed.
Also tried a more meaningful use case [~julianhyde] had mentioned in an earlier
thread:
{code}
SELECT o.id, li.quantity, li.prodId
FROM Orders AS o,
UNNEST((SELECT o2.lineitems FROM orders AS o2 WHERE o2.id = o.id)) AS li
{code}
It could not pass either since we do not have runtime support for correlate
variable yet (basically for correlated subqueries that cannot be
de-correlated). I'll open an JIRA shortly to address this issue.
So how about I check-in this patch on master (without the UnnestArrayIT file),
and then check-in the compiler support on calcite branch? Will also adjust the
test cases in UnnestArrayIT (by adding some more meaningful tests) and add
explain plan check.
> Support UNNEST for ARRAY
> ------------------------
>
> Key: PHOENIX-953
> URL: https://issues.apache.org/jira/browse/PHOENIX-953
> Project: Phoenix
> Issue Type: Sub-task
> Reporter: James Taylor
> Assignee: Dumindu Buddhika
> Attachments: PHOENIX-953-v1.patch, PHOENIX-953-v2.patch,
> PHOENIX-953-v3.patch, PHOENIX-953-v4.patch
>
>
> The UNNEST built-in function converts an array into a set of rows. This is
> more than a built-in function, so should be considered an advanced project.
> For an example, see the following Postgres documentation:
> http://www.postgresql.org/docs/8.4/static/functions-array.html
> http://www.anicehumble.com/2011/07/postgresql-unnest-function-do-many.html
> http://tech.valgog.com/2010/05/merging-and-manipulating-arrays-in.html
> So the UNNEST is a way of converting an array to a flattened "table" which
> can then be filtered on, ordered, grouped, etc.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)