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 "Dan Burkert (JIRA)" <ji...@apache.org> on 2018/09/25 18:43:00 UTC

[jira] [Created] (IMPALA-7618) Kudu table Create/Alter syntax should accept 'VALUES <= '

Dan Burkert created IMPALA-7618:
-----------------------------------

             Summary: 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: 2.2.0
            Reporter: Dan Burkert


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
(v7.6.3#76005)

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