[ 
https://issues.apache.org/jira/browse/IMPALA-10483?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Quanlong Huang resolved IMPALA-10483.
-------------------------------------
    Fix Version/s: Impala 4.0
       Resolution: Fixed

> Support column-masking/row-filtering policy expressions that contain 
> subqueries
> -------------------------------------------------------------------------------
>
>                 Key: IMPALA-10483
>                 URL: https://issues.apache.org/jira/browse/IMPALA-10483
>             Project: IMPALA
>          Issue Type: New Feature
>          Components: Security
>            Reporter: Quanlong Huang
>            Assignee: Quanlong Huang
>            Priority: Critical
>             Fix For: Impala 4.0
>
>
> Row-filtering policies are applied as the WHERE clause of the table masking 
> view of the base table/view. E.g. if table "tblA" contains a row-filtering 
> policy "id=0", the original query "{{select * from tblA join tblB on (id)}}" 
> will be analyzed as
> {code:sql}
> select * from (
>   select col1, col2, ..., colN from tblA where id = 0
> ) v join tblB on (id)
> {code}
> The row-filtering policy expression can also use subqueries, e.g. "{{id = 
> (select min(id) from tblC)}}". However, if the WHERE clause introduces 
> subqueries, it will introduce new tables whose metadata is not loaded in 
> Analyzer's StmtTableCache. So the Analyzer will fail to resolve them and 
> raise AuthorizationExceptions complaining user doesn't have privilege to 
> SELECT those tables.
> One solution is collecting tables introduced by subqueries of 
> Column-masking/Row-filtering expressions and also load them in 
> {{StmtMetadataLoader#loadTables()}}.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to