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 "gaoxiaoqing (Jira)" <ji...@apache.org> on 2022/06/27 11:51:00 UTC

[jira] [Updated] (IMPALA-11395) Add check constraint

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

gaoxiaoqing updated IMPALA-11395:
---------------------------------
    Description: 
Are you considering adding the feature of constraint?

when we add syntax CONSTRAINT c1 CHECK (col1_day = DAY(coll_time)) on ddl, impala identify CONSTRAINT, then convert "col_time between $time_lower and $time_upper" to "col_day between $day_lower and $day_upper and col_time between $time_lower and $time_upper".

E.g.
{code:java}
CREATE TABLE rawdata.event_p1 (
day INT NOT NULL ENCODING BIT_SHUFFLE COMPRESSION DEFAULT_COMPRESSION, 
id BIGINT NOT NULL ENCODING BIT_SHUFFLE COMPRESSION DEFAULT_COMPRESSION,
time TIMESTAMP NOT NULL ENCODING BIT_SHUFFLE COMPRESSION DEFAULT_COMPRESSION,
p__ip STRING NULL ENCODING DICT_ENCODING COMPRESSION DEFAULT_COMPRESSION,
CONSTRAINT c1 CHECK (day = DAY(time)) 
)
PARTITIONED BY (
  day INT
) 
STORED AS PARQUET{code}
{code:java}
explain select * from event_p1 where time > '2018-07-18 19:36:42'
{code}
 
{code:java}
01:EXCHANGE [UNPARTITIONED]
|
00:SCAN HDFS [rawdata.event_ros_p7]
   partition predicates: `day` > 17730 and time > '2018-07-18 19:36:42'    partitions=425/439 files=3420 size=1.71TB {code}

  was:
Are you considering adding the feature of constraint?

when we add syntax CONSTRAINT c1 CHECK (col1_day = DAY(coll_time)) on ddl, impala identify CONSTRAINT, then convert "col_time between $time_lower and $time_upper" to "col_day between $day_lower and $day_upper and col_time between $time_lower and $time_upper".

E.g.
{code:java}
CREATE TABLE rawdata.event_p1 (
day INT NOT NULL ENCODING BIT_SHUFFLE COMPRESSION DEFAULT_COMPRESSION, 
id BIGINT NOT NULL ENCODING BIT_SHUFFLE COMPRESSION DEFAULT_COMPRESSION,
time TIMESTAMP NOT NULL ENCODING BIT_SHUFFLE COMPRESSION DEFAULT_COMPRESSION,
p__ip STRING NULL ENCODING DICT_ENCODING COMPRESSION DEFAULT_COMPRESSION,
CONSTRAINT c1 CHECK (day = DAY(time)) 
)
PARTITIONED BY (
  day INT
) 
STORED AS PARQUET{code}
{code:java}
explain select * from event_p1 where time > '2018-07-18 19:36:42'
{code}
 
{code:java}
01:EXCHANGE [UNPARTITIONED]
|
00:SCAN HDFS [rawdata.event_ros_p7]
   partition predicates: `day` > 17730
   partitions=425/439 files=3420 size=1.71TB {code}


> Add check constraint
> --------------------
>
>                 Key: IMPALA-11395
>                 URL: https://issues.apache.org/jira/browse/IMPALA-11395
>             Project: IMPALA
>          Issue Type: New Feature
>            Reporter: gaoxiaoqing
>            Priority: Minor
>
> Are you considering adding the feature of constraint?
> when we add syntax CONSTRAINT c1 CHECK (col1_day = DAY(coll_time)) on ddl, impala identify CONSTRAINT, then convert "col_time between $time_lower and $time_upper" to "col_day between $day_lower and $day_upper and col_time between $time_lower and $time_upper".
> E.g.
> {code:java}
> CREATE TABLE rawdata.event_p1 (
> day INT NOT NULL ENCODING BIT_SHUFFLE COMPRESSION DEFAULT_COMPRESSION, 
> id BIGINT NOT NULL ENCODING BIT_SHUFFLE COMPRESSION DEFAULT_COMPRESSION,
> time TIMESTAMP NOT NULL ENCODING BIT_SHUFFLE COMPRESSION DEFAULT_COMPRESSION,
> p__ip STRING NULL ENCODING DICT_ENCODING COMPRESSION DEFAULT_COMPRESSION,
> CONSTRAINT c1 CHECK (day = DAY(time)) 
> )
> PARTITIONED BY (
>   day INT
> ) 
> STORED AS PARQUET{code}
> {code:java}
> explain select * from event_p1 where time > '2018-07-18 19:36:42'
> {code}
>  
> {code:java}
> 01:EXCHANGE [UNPARTITIONED]
> |
> 00:SCAN HDFS [rawdata.event_ros_p7]
>    partition predicates: `day` > 17730 and time > '2018-07-18 19:36:42'    partitions=425/439 files=3420 size=1.71TB {code}



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org