[ https://issues.apache.org/jira/browse/HIVE-11208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Aihua Xu updated HIVE-11208: ---------------------------- Actually that change would be fine. Here is the thought on the implementation: default partition is a special value although internally we use a string to represent it. We can reserve default keyword for it. It will only support x = default or x != default. Other comparisons actually should error out during earlier compilation time. Hope that makes sense to you. > Can not drop a default partition __HIVE_DEFAULT_PARTITION__ which is not a > "string" type > ---------------------------------------------------------------------------------------- > > Key: HIVE-11208 > URL: https://issues.apache.org/jira/browse/HIVE-11208 > Project: Hive > Issue Type: Bug > Components: Parser > Affects Versions: 1.1.0 > Reporter: Yongzhi Chen > Assignee: Aihua Xu > Fix For: 2.2.0 > > Attachments: HIVE-11208.2.patch, HIVE-11208.3.patch > > > When partition is not a string type, for example, if it is a int type, when > drop the default partition __HIVE_DEFAULT_PARTITION__, you will get: > SemanticException Unexpected unknown partitions > Reproduce: > {noformat} > SET hive.exec.dynamic.partition=true; > SET hive.exec.dynamic.partition.mode=nonstrict; > set hive.exec.max.dynamic.partitions.pernode=10000; > DROP TABLE IF EXISTS test; > CREATE TABLE test (col1 string) PARTITIONED BY (p1 int) ROW FORMAT DELIMITED > FIELDS TERMINATED BY '\001' STORED AS TEXTFILE; > INSERT OVERWRITE TABLE test PARTITION (p1) SELECT code, IF(salary > 600, 100, > null) as p1 FROM jsmall; > hive> SHOW PARTITIONS test; > OK > p1=100 > p1=__HIVE_DEFAULT_PARTITION__ > Time taken: 0.124 seconds, Fetched: 2 row(s) > hive> ALTER TABLE test DROP partition (p1 = '__HIVE_DEFAULT_PARTITION__'); > FAILED: SemanticException Unexpected unknown partitions for (p1 = null) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.15#6346)