flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kevin Zhang (Jira)" <j...@apache.org>
Subject [jira] [Created] (FLINK-14539) Unique key metadata should be ketp when using concat or concat_ws in some cases
Date Mon, 28 Oct 2019 06:03:00 GMT
Kevin Zhang created FLINK-14539:
-----------------------------------

             Summary: Unique key metadata should be ketp when using concat or concat_ws in
some cases
                 Key: FLINK-14539
                 URL: https://issues.apache.org/jira/browse/FLINK-14539
             Project: Flink
          Issue Type: Bug
          Components: Table SQL / Planner
    Affects Versions: 1.9.1, 1.9.0
            Reporter: Kevin Zhang


Currently unique key metadata of a project relnode are only kept in the following three situations:

# project the child unique keys while not changing them
# cast the child unique key when ignoring nulls and the original type of the field and cast
type are the same
# rename the child unique keys

Besides these situations, concat and concat_ws should also keep the metadata if they won't
break the uniqueness of the child unique keys, i.e. each operands is in one of the above situations,
and the operands include all the child unique keys. 

Say the f0 and f1the child are the unique keys of the child node, the following sqls should
keep the unique key metadata 

{code:sql}
select concat(f0, f1)
-- the type of f0 and f1 are both varchar originally and ignore nulls
select concat(cast(f0 as varchar), f1)
select cast(concat(f0, f1) as varchar)
{code}

while the following sqls should discard the unique key metadata
{code:sql}
-- the type of f0 and f1 are both varchar originally
select concat(cast(f0 as bigint), f1)
select cast(concat(f0, f1) as bigint)
{code}



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

Mime
View raw message