You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by dm...@apache.org on 2020/04/14 13:50:10 UTC
[hive] branch master updated: HIVE-23183: Make TABLE Token Optional
in TRUNCATE Statement (David Mollitor, reviewed by Miklos Gergely)
This is an automated email from the ASF dual-hosted git repository.
dmollitor pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/master by this push:
new ffad656 HIVE-23183: Make TABLE Token Optional in TRUNCATE Statement (David Mollitor, reviewed by Miklos Gergely)
ffad656 is described below
commit ffad6567b2be5ad02a48d73b5f5acbb899eb07c5
Author: David Mollitor <dm...@apache.org>
AuthorDate: Tue Apr 14 09:48:14 2020 -0400
HIVE-23183: Make TABLE Token Optional in TRUNCATE Statement (David Mollitor, reviewed by Miklos Gergely)
---
.../org/apache/hadoop/hive/ql/parse/HiveParser.g | 2 +-
.../test/queries/clientpositive/truncate_table.q | 11 ++++-
.../results/clientpositive/truncate_table.q.out | 53 ++++++++++++++++++++++
3 files changed, 64 insertions(+), 2 deletions(-)
diff --git a/parser/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g b/parser/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g
index 2b865f3..b03b098 100644
--- a/parser/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g
+++ b/parser/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g
@@ -1185,7 +1185,7 @@ createTableStatement
truncateTableStatement
@init { pushMsg("truncate table statement", state); }
@after { popMsg(state); }
- : KW_TRUNCATE KW_TABLE tablePartitionPrefix (KW_COLUMNS LPAREN columnNameList RPAREN)? force?
+ : KW_TRUNCATE KW_TABLE? tablePartitionPrefix (KW_COLUMNS LPAREN columnNameList RPAREN)? force?
-> ^(TOK_TRUNCATETABLE tablePartitionPrefix columnNameList? force?);
dropTableStatement
diff --git a/ql/src/test/queries/clientpositive/truncate_table.q b/ql/src/test/queries/clientpositive/truncate_table.q
index 6a1ce7a..5c20c89 100644
--- a/ql/src/test/queries/clientpositive/truncate_table.q
+++ b/ql/src/test/queries/clientpositive/truncate_table.q
@@ -1,5 +1,8 @@
create table src_truncate (key string, value string);
-load data local inpath '../../data/files/kv1.txt' into table src_truncate;;
+load data local inpath '../../data/files/kv1.txt' into table src_truncate;
+
+create table src_truncate_alt (key string, value string);
+load data local inpath '../../data/files/kv1.txt' into table src_truncate_alt;
create table srcpart_truncate (key string, value string) partitioned by (ds string, hr string);
alter table srcpart_truncate add partition (ds='2008-04-08', hr='11');
@@ -23,6 +26,12 @@ TRUNCATE TABLE src_truncate;
select * from src_truncate;
select count (*) from src_truncate;
+-- truncate non-partitioned table with alternative syntax
+explain TRUNCATE src_truncate_alt;
+TRUNCATE src_truncate_alt;
+select * from src_truncate_alt;
+select count (*) from src_truncate_alt;
+
-- truncate a partition
explain TRUNCATE TABLE srcpart_truncate partition (ds='2008-04-08', hr='11');
TRUNCATE TABLE srcpart_truncate partition (ds='2008-04-08', hr='11');
diff --git a/ql/src/test/results/clientpositive/truncate_table.q.out b/ql/src/test/results/clientpositive/truncate_table.q.out
index 0607bcb..8feafce 100644
--- a/ql/src/test/results/clientpositive/truncate_table.q.out
+++ b/ql/src/test/results/clientpositive/truncate_table.q.out
@@ -14,6 +14,22 @@ POSTHOOK: query: load data local inpath '../../data/files/kv1.txt' into table sr
POSTHOOK: type: LOAD
#### A masked pattern was here ####
POSTHOOK: Output: default@src_truncate
+PREHOOK: query: create table src_truncate_alt (key string, value string)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@src_truncate_alt
+POSTHOOK: query: create table src_truncate_alt (key string, value string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@src_truncate_alt
+PREHOOK: query: load data local inpath '../../data/files/kv1.txt' into table src_truncate_alt
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@src_truncate_alt
+POSTHOOK: query: load data local inpath '../../data/files/kv1.txt' into table src_truncate_alt
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@src_truncate_alt
PREHOOK: query: create table srcpart_truncate (key string, value string) partitioned by (ds string, hr string)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
@@ -151,6 +167,43 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@src_truncate
#### A masked pattern was here ####
0
+PREHOOK: query: explain TRUNCATE src_truncate_alt
+PREHOOK: type: TRUNCATETABLE
+PREHOOK: Output: default@src_truncate_alt
+POSTHOOK: query: explain TRUNCATE src_truncate_alt
+POSTHOOK: type: TRUNCATETABLE
+POSTHOOK: Output: default@src_truncate_alt
+STAGE DEPENDENCIES:
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-0
+ Truncate Table or Partition
+ table name: default.src_truncate_alt
+
+PREHOOK: query: TRUNCATE src_truncate_alt
+PREHOOK: type: TRUNCATETABLE
+PREHOOK: Output: default@src_truncate_alt
+POSTHOOK: query: TRUNCATE src_truncate_alt
+POSTHOOK: type: TRUNCATETABLE
+POSTHOOK: Output: default@src_truncate_alt
+PREHOOK: query: select * from src_truncate_alt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_truncate_alt
+#### A masked pattern was here ####
+POSTHOOK: query: select * from src_truncate_alt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_truncate_alt
+#### A masked pattern was here ####
+PREHOOK: query: select count (*) from src_truncate_alt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_truncate_alt
+#### A masked pattern was here ####
+POSTHOOK: query: select count (*) from src_truncate_alt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_truncate_alt
+#### A masked pattern was here ####
+0
PREHOOK: query: explain TRUNCATE TABLE srcpart_truncate partition (ds='2008-04-08', hr='11')
PREHOOK: type: TRUNCATETABLE
PREHOOK: Output: default@srcpart_truncate@ds=2008-04-08/hr=11