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

Joaquín Antonio De Vicente López commented on IMPALA-7618:
----------------------------------------------------------

A proposed fix has been submitted:

https://github.com/apache/impala/pull/87

The patch normalizes range partition predicates so that logically equivalent 
expressions such as:

VALUES >= X
X <= VALUES

are treated identically during ADD/DROP RANGE PARTITION operations.

> Kudu table Create/Alter syntax should accept 'VALUES <= <lit>'
> --------------------------------------------------------------
>
>                 Key: IMPALA-7618
>                 URL: https://issues.apache.org/jira/browse/IMPALA-7618
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Frontend
>    Affects Versions: Impala 2.2.0
>            Reporter: Dan Burkert
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently Impala allows the {{PARTITION 200 <= VALUES}} syntax to specify an 
> unbounded-above range partition in a Kudu table, but not {{PARTITION VALUES 
> >= 200}}.  Since these expressions are equivalent it would be nice if both 
> were accepted.
>  
> I would normally consider this an improvement and not a bug, however there is 
> currently a mismatch between how Kudu pretty-prints these partitions and how 
> Impala parses them.  This mismatch makes it very likely that users will hit 
> this issue and be stumped.  For example:
>  
> {code:java}
> > CREATE TABLE dan_test (a int, PRIMARY KEY (a))
>   PARTITION BY RANGE (a) (
>     PARTITION 0 <= VALUES < 100,
>     PARTITION VALUES >= 200
>   ) STORED AS KUDU;
>     ERROR: AnalysisException: Syntax error in line 4:
>         PARTITION VALUES >= 200
>                         ^
>     Encountered: >
>     Expected: COMMA
>     CAUSED BY: Exception: Syntax error
> > CREATE TABLE dan_test (a int, PRIMARY KEY (a))
>   PARTITION BY RANGE (a) (
>     PARTITION 0 <= VALUES < 100,
>     PARTITION 200 <= VALUES
>   ) STORED AS KUDU;
>     +-------------------------+
>     | summary                 |
>     +-------------------------+
>     | Table has been created. |
>     +-------------------------+
>     Fetched 1 row(s) in 1.65s
> > SHOW RANGE PARTITIONS dan_test;
>     +-------------------+
>     | RANGE (a)         |
>     +-------------------+
>     | 0 <= VALUES < 100 |
>     | VALUES >= 200     |
>     +-------------------+
>     Fetched 2 row(s) in 3.73s
> > ALTER TABLE dan_test DROP RANGE PARTITION VALUES >= 100;
>     Query: ALTER TABLE dan_test DROP RANGE PARTITION VALUES >= 100
>     ERROR: AnalysisException: Syntax error in line 1:
>     ALTER TABLE dan_test DROP RANGE PARTITION VALUES >= 100
>                                                     ^
>     Encountered: >
>     Expected: COMMA
>     CAUSED BY: Exception: Syntax error
> > ALTER TABLE dan_test DROP RANGE PARTITION 100 <= VALUES;
>     Query: ALTER TABLE dan_test DROP RANGE PARTITION 100 <= VALUES
>     ERROR: ImpalaRuntimeException: Error dropping range partition in table 
> dan_test
>     CAUSED BY: NonRecoverableException: No range partition found for drop 
> range partition step: VALUES >= 100
> > ALTER TABLE dan_test DROP RANGE PARTITION 200 <= VALUES;
>     Query: ALTER TABLE dan_test DROP RANGE PARTITION 200 <= VALUES
>     +-----------------------------------+
>     | summary                           |
>     +-----------------------------------+
>     | Range partition has been dropped. |
>     +-----------------------------------+
>     Fetched 1 row(s) in 0.10s
> > SHOW PARTITIONS dan_test;
>     Query: SHOW PARTITIONS dan_test
>     
> +--------+-----------+----------+-----------------------------------+------------+
>     | # Rows | Start Key | Stop Key | Leader Replica                    | # 
> Replicas |
>     
> +--------+-----------+----------+-----------------------------------+------------+
>     | -1     | 80000000  | 80000064 | nightly6x-4.vpc.cloudera.com:7050 | 3   
>        |
>     
> +--------+-----------+----------+-----------------------------------+------------+
>     Fetched 1 row(s) in 0.04s{code}
>  



--
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