You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Quanlong Huang (Jira)" <ji...@apache.org> on 2020/01/27 15:14:00 UTC
[jira] [Created] (IMPALA-9329) Table masking view should not have
nested columns in select list
Quanlong Huang created IMPALA-9329:
--------------------------------------
Summary: Table masking view should not have nested columns in select list
Key: IMPALA-9329
URL: https://issues.apache.org/jira/browse/IMPALA-9329
Project: IMPALA
Issue Type: Bug
Components: Security
Reporter: Quanlong Huang
Assignee: Quanlong Huang
If a table contains nested columns and column masking policies on some primitive columns, we should not add the nested columns in the table masking view.
To be specific, let's say table complextypestbl (id bigint, int_arr array<int>) has column masking policy on id: "id => id * 100". We will translate the AST of the following query
{code:sql}
select t.id from complextypestbl t;
{code}
to the AST of the following query
{code:sql}
select t.id from (
select cast(id * 100 as BIGINT) as id,
cast(int_array as ArrayType) as int_array
from complextypestbl) t;
{code}
This causes a ParseError since we can't use ArrayType explicitly.
{code:sql}
ERROR: ParseException: Syntax error in line 1:
SELECT CAST(int_array AS org.apache.impala.catalog.Ar...
^
Encountered: IDENTIFIER
Expected: ARRAY, BIGINT, BINARY, BOOLEAN, CHAR, DATE, DATETIME, DECIMAL, REAL, FLOAT, INTEGER, MAP, SMALLINT, STRING, STRUCT, TIMESTAMP, TINYINT, VARCHAR
CAUSED BY: Exception: Syntax error
{code}
On the other hand, we don't support nested types in select list. So we should remove the redundant column for 'int_array' in the table masking view.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)