You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2018/04/27 20:48:00 UTC
[jira] [Commented] (IMPALA-6314) Add run time scalar subquery check
for uncorrelated subqueries
[ https://issues.apache.org/jira/browse/IMPALA-6314?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16457046#comment-16457046 ]
ASF subversion and git services commented on IMPALA-6314:
---------------------------------------------------------
Commit 1e79f14798a8f742bbf17f79a4666627dcef3faf in impala's branch refs/heads/master from [~boroknagyz]
[ https://git-wip-us.apache.org/repos/asf?p=impala.git;h=1e79f14 ]
IMPALA-6314: Add run time scalar subquery check for uncorrelated subqueries
If a scalar subquery is used with a binary predicate,
or, used in an arithmetic expression, it must return
only one row/column to be valid. If this cannot be
guaranteed at parse time through a single row aggregate
or limit clause, Impala fails the query like such.
E.g., currently the following query is not allowed:
SELECT bigint_col
FROM alltypesagg
WHERE id = (SELECT id FROM alltypesagg WHERE id = 1)
However, it would be allowed if the query contained
a LIMIT 1 clause, or instead of id it was max(id).
This commit makes the example valid by introducing a
runtime check to test if the subquery returns a single
row. If the subquery returns more than one row, it
aborts the query with an error.
I added a new node type, called CardinalityCheckNode. It
is created during planning on top of the subquery when
needed, then during execution it checks if its child
only returns a single row.
I extended the frontend tests and e2e tests as well.
Change-Id: I0f52b93a60eeacedd242a2f17fa6b99c4fc38e06
Reviewed-on: http://gerrit.cloudera.org:8080/9005
Reviewed-by: Alex Behm <al...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>
> Add run time scalar subquery check for uncorrelated subqueries
> --------------------------------------------------------------
>
> Key: IMPALA-6314
> URL: https://issues.apache.org/jira/browse/IMPALA-6314
> Project: IMPALA
> Issue Type: Sub-task
> Components: Backend, Frontend
> Reporter: Tim Armstrong
> Assignee: Zoltán Borók-Nagy
> Priority: Major
> Labels: planner, ramp-up, tpc-ds
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org