[ 
https://issues.apache.org/jira/browse/IMPALA-13888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18007589#comment-18007589
 ] 

ASF subversion and git services commented on IMPALA-13888:
----------------------------------------------------------

Commit a6ad1392da0ed7f43195b578f0433cda84b4bdc5 in impala's branch 
refs/heads/master from Daniel Becker
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=a6ad1392d ]

IMPALA-13888: LEFT ANTI JOIN is not working with Iceberg V2 tables on the right 
side

If an Iceberg table contains delete files, queries where it is on the
right side of a left anti-join fail:
  select *
  from alltypes a
    LEFT ANTI JOIN
    iceberg_v2_positional_update_all_rows b
  ON a.id = b.i;

  AnalysisException: Illegal column/field reference
  'b.input__file__name' of semi-/anti-joined table 'b'

This is because semi-joined tuples need to be made visible explicitly in
order for paths pointing inside them to be resolvable, see
Analyzer::resolvePaths().

This commit adds code to IcebergScanPlanner to make the tuple containing
the virtual fields visible if it is semi-joined.

Testing:
  - Added regressions tets in iceberg-v2-read-position-deletes.test.

Change-Id: I19de9c7c7ed1d61cde281d270c4cc3ce0b7c582d
Reviewed-on: http://gerrit.cloudera.org:8080/23147
Reviewed-by: Impala Public Jenkins <[email protected]>
Tested-by: Impala Public Jenkins <[email protected]>


> LEFT ANTI JOIN is not working with Iceberg V2 tables on the right side
> ----------------------------------------------------------------------
>
>                 Key: IMPALA-13888
>                 URL: https://issues.apache.org/jira/browse/IMPALA-13888
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Frontend
>            Reporter: Zoltán Borók-Nagy
>            Assignee: Daniel Becker
>            Priority: Major
>              Labels: impala-iceberg
>
> Repro:
> {noformat}
> select *
> from alltypes a LEFT ANTI JOIN iceberg_v2_positional_update_all_rows b
> ON a.id = b.i;
> AnalysisException: Illegal column/field reference 'b.input__file__name' of 
> semi-/anti-joined table 'b'{noformat}
> The followings work as expected
> {noformat}
> select *
> from iceberg_v2_positional_update_all_rows a LEFT ANTI JOIN 
> iceberg_partitioned b
> ON a.i = b.id;
> select *
> from iceberg_partitioned a LEFT ANTI JOIN iceberg_partitioned b
> ON a.id = b.id;{noformat}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to