This is an automated email from the ASF dual-hosted git repository. jcamacho pushed a commit to branch branch-3 in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/branch-3 by this push: new 07738b4 HIVE-21278: Fix ambiguity in grammar warnings at compilation time (Jesus Camacho Rodriguez, reviewed by Vineet Garg) 07738b4 is described below commit 07738b4b89a7aa23a0afee55fc3369d257720d7e Author: Jesus Camacho Rodriguez <jcama...@apache.org> AuthorDate: Fri Feb 15 15:22:38 2019 -0800 HIVE-21278: Fix ambiguity in grammar warnings at compilation time (Jesus Camacho Rodriguez, reviewed by Vineet Garg) --- .../org/apache/hadoop/hive/ql/parse/HiveParser.g | 2 +- .../hadoop/hive/ql/parse/IdentifiersParser.g | 1 - .../clientnegative/check_constraint_aggregate.q | 2 +- .../clientnegative/check_constraint_max_length.q | 2 +- .../check_constraint_nonboolean_expr.q | 2 +- .../clientnegative/check_constraint_qual_name.q | 2 +- .../clientnegative/check_constraint_subquery.q | 2 +- .../clientnegative/check_constraint_tbl_level.q | 2 +- .../check_constraint_temporary_udf.q | 2 +- .../queries/clientnegative/check_constraint_udtf.q | 2 +- .../clientnegative/check_constraint_violation.q | 2 +- .../clientnegative/check_constraint_window_fun.q | 2 +- .../create_external_with_check_constraint.q | 2 +- .../test/queries/clientpositive/check_constraint.q | 38 +++++----- .../check_constraint_tbl_level.q.out | 4 +- .../check_constraint_violation.q.out | 4 +- .../clientnegative/subquery_subquery_chain.q.out | 2 +- .../clientpositive/llap/check_constraint.q.out | 82 +++++++++++----------- 18 files changed, 77 insertions(+), 78 deletions(-) diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g b/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g index f71357c..f12991f 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g @@ -2279,7 +2279,7 @@ pkUkConstraint checkConstraint @init { pushMsg("CHECK constraint", state); } @after { popMsg(state); } - : KW_CHECK expression + : KW_CHECK LPAREN expression RPAREN -> ^(TOK_CHECK_CONSTRAINT expression) ; diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g b/ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g index ebaaf6a..2231786 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g @@ -835,7 +835,6 @@ nonReserved | KW_REOPTIMIZATION | KW_RESOURCE | KW_PLAN | KW_PLANS | KW_QUERY_PARALLELISM | KW_ACTIVATE | KW_MOVE | KW_DO | KW_POOL | KW_ALLOC_FRACTION | KW_SCHEDULING_POLICY | KW_PATH | KW_MAPPING | KW_WORKLOAD | KW_MANAGEMENT | KW_ACTIVE | KW_UNMANAGED - ; //The following SQL2011 reserved keywords are used as function name only, but not as identifiers. diff --git a/ql/src/test/queries/clientnegative/check_constraint_aggregate.q b/ql/src/test/queries/clientnegative/check_constraint_aggregate.q index 937c692..0d4dbe8 100644 --- a/ql/src/test/queries/clientnegative/check_constraint_aggregate.q +++ b/ql/src/test/queries/clientnegative/check_constraint_aggregate.q @@ -1,2 +1,2 @@ -- aggregates are not allowed -create table tti(i int check sum(i) > 5); +create table tti(i int check (sum(i) > 5)); diff --git a/ql/src/test/queries/clientnegative/check_constraint_max_length.q b/ql/src/test/queries/clientnegative/check_constraint_max_length.q index 9af7451..01d7114 100644 --- a/ql/src/test/queries/clientnegative/check_constraint_max_length.q +++ b/ql/src/test/queries/clientnegative/check_constraint_max_length.q @@ -1,4 +1,4 @@ -- max allowed length for check value is 255 -- create with check expression length 256 create table t (i int, j string CHECK - j > '345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234'); + (j > '345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234')); diff --git a/ql/src/test/queries/clientnegative/check_constraint_nonboolean_expr.q b/ql/src/test/queries/clientnegative/check_constraint_nonboolean_expr.q index 290f97d..32e845a 100644 --- a/ql/src/test/queries/clientnegative/check_constraint_nonboolean_expr.q +++ b/ql/src/test/queries/clientnegative/check_constraint_nonboolean_expr.q @@ -1,2 +1,2 @@ -- invalid expression -create table tti(i int , j int CHECK i+j); +create table tti(i int , j int CHECK (i+j)); diff --git a/ql/src/test/queries/clientnegative/check_constraint_qual_name.q b/ql/src/test/queries/clientnegative/check_constraint_qual_name.q index 8b14961..6a3ec47 100644 --- a/ql/src/test/queries/clientnegative/check_constraint_qual_name.q +++ b/ql/src/test/queries/clientnegative/check_constraint_qual_name.q @@ -1,2 +1,2 @@ -- FULLY Qualified names are not allowed as check expression -create table tconstr(i int, j int CHECK tconstr.i>j); +create table tconstr(i int, j int CHECK (tconstr.i>j)); diff --git a/ql/src/test/queries/clientnegative/check_constraint_subquery.q b/ql/src/test/queries/clientnegative/check_constraint_subquery.q index 136633c..1e3eca5 100644 --- a/ql/src/test/queries/clientnegative/check_constraint_subquery.q +++ b/ql/src/test/queries/clientnegative/check_constraint_subquery.q @@ -1,2 +1,2 @@ -- Subqueries are not allowed as check expression -create table tconstr(i int check 3=(select count(*) from t)); +create table tconstr(i int check (3=(select count(*) from t))); diff --git a/ql/src/test/queries/clientnegative/check_constraint_tbl_level.q b/ql/src/test/queries/clientnegative/check_constraint_tbl_level.q index d7794ca..078b140 100644 --- a/ql/src/test/queries/clientnegative/check_constraint_tbl_level.q +++ b/ql/src/test/queries/clientnegative/check_constraint_tbl_level.q @@ -1,3 +1,3 @@ -create table tti(i int , j int, constraint ch1 check i > j); +create table tti(i int , j int, constraint ch1 check (i > j)); insert into tti values(1,2); diff --git a/ql/src/test/queries/clientnegative/check_constraint_temporary_udf.q b/ql/src/test/queries/clientnegative/check_constraint_temporary_udf.q index d883290..cf68cfb 100644 --- a/ql/src/test/queries/clientnegative/check_constraint_temporary_udf.q +++ b/ql/src/test/queries/clientnegative/check_constraint_temporary_udf.q @@ -1,3 +1,3 @@ -- user defined temporary UDFs are not allowed CREATE TEMPORARY FUNCTION test_udf2 AS 'org.apache.hadoop.hive.ql.udf.generic.GenericUDFTestGetJavaString'; -CREATE TABLE tudf(v string CHECK test_udf2(v) <> 'vin'); +CREATE TABLE tudf(v string CHECK (test_udf2(v) <> 'vin')); diff --git a/ql/src/test/queries/clientnegative/check_constraint_udtf.q b/ql/src/test/queries/clientnegative/check_constraint_udtf.q index 0d337ae..eca5891 100644 --- a/ql/src/test/queries/clientnegative/check_constraint_udtf.q +++ b/ql/src/test/queries/clientnegative/check_constraint_udtf.q @@ -1,2 +1,2 @@ -- UDTFs are not allowed as check expression -create table tconstr(i int check explode(array(2,3))); +create table tconstr(i int check (explode(array(2,3)))); diff --git a/ql/src/test/queries/clientnegative/check_constraint_violation.q b/ql/src/test/queries/clientnegative/check_constraint_violation.q index 716b16a..0ce4a6f 100644 --- a/ql/src/test/queries/clientnegative/check_constraint_violation.q +++ b/ql/src/test/queries/clientnegative/check_constraint_violation.q @@ -1,2 +1,2 @@ -create table tti(i int check i > 5); +create table tti(i int check (i > 5)); insert into tti values(5); diff --git a/ql/src/test/queries/clientnegative/check_constraint_window_fun.q b/ql/src/test/queries/clientnegative/check_constraint_window_fun.q index da2f763..3916981 100644 --- a/ql/src/test/queries/clientnegative/check_constraint_window_fun.q +++ b/ql/src/test/queries/clientnegative/check_constraint_window_fun.q @@ -1,2 +1,2 @@ -- Window functions are not allowed as check expression -create table tconstr(i int check lead(i, 1) > 3); +create table tconstr(i int check (lead(i, 1) > 3)); diff --git a/ql/src/test/queries/clientnegative/create_external_with_check_constraint.q b/ql/src/test/queries/clientnegative/create_external_with_check_constraint.q index f52f02b..d4c1514 100644 --- a/ql/src/test/queries/clientnegative/create_external_with_check_constraint.q +++ b/ql/src/test/queries/clientnegative/create_external_with_check_constraint.q @@ -1 +1 @@ -CREATE external TABLE table1 (a INT CHECK a > b DISABLE, b STRING); +CREATE external TABLE table1 (a INT CHECK (a > b) DISABLE, b STRING); diff --git a/ql/src/test/queries/clientpositive/check_constraint.q b/ql/src/test/queries/clientpositive/check_constraint.q index 8c3831b..2021102 100644 --- a/ql/src/test/queries/clientpositive/check_constraint.q +++ b/ql/src/test/queries/clientpositive/check_constraint.q @@ -2,12 +2,12 @@ set hive.stats.autogather=false; set hive.support.concurrency=true; set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; -CREATE TABLE table1_n0(i int CHECK -i > -10, - j int CHECK +j > 10, - ij boolean CHECK ij IS NOT NULL, - a int CHECK a BETWEEN i AND j, - bb float CHECK bb IN (23.4,56,4), - d bigint CHECK d > round(567.6) AND d < round(1000.4)) +CREATE TABLE table1_n0(i int CHECK (-i > -10), + j int CHECK (+j > 10), + ij boolean CHECK (ij IS NOT NULL), + a int CHECK (a BETWEEN i AND j), + bb float CHECK (bb IN (23.4,56,4)), + d bigint CHECK (d > round(567.6) AND d < round(1000.4))) clustered by (i) into 2 buckets stored as orc TBLPROPERTIES('transactional'='true'); DESC FORMATTED table1_n0; @@ -17,7 +17,7 @@ SELECT * from table1_n0; DROP TABLE table1_n0; -- null check constraint -CREATE TABLE table2_n0(i int CHECK i + NULL > 0); +CREATE TABLE table2_n0(i int CHECK (i + NULL > 0)); DESC FORMATTED table2_n0; EXPLAIN INSERT INTO table2_n0 values(8); INSERT INTO table2_n0 values(8); @@ -26,12 +26,12 @@ Drop table table2_n0; -- UDF created by users CREATE FUNCTION test_udf2 AS 'org.apache.hadoop.hive.ql.udf.generic.GenericUDFTestGetJavaString'; -CREATE TABLE tudf(v string CHECK test_udf2(v) <> 'vin'); +CREATE TABLE tudf(v string CHECK (test_udf2(v) <> 'vin')); EXPLAIN INSERT INTO tudf values('function1'); Drop table tudf; -- multiple constraints -create table tmulti(url string NOT NULL ENABLE, userName string, numClicks int CHECK numClicks > 0, d date); +create table tmulti(url string NOT NULL ENABLE, userName string, numClicks int CHECK (numClicks > 0), d date); alter table tmulti add constraint un1 UNIQUE (userName, numClicks) DISABLE; DESC formatted tmulti; EXPLAIN INSERT INTO tmulti values('hive.apache.com', 'user1', 48, '12-01-2018'); @@ -49,7 +49,7 @@ Select * from tmulti; Drop table tmulti; -- case insentivity -create table tcase(url string NOT NULL ENABLE, userName string, d date, numClicks int CHECK numclicks > 0); +create table tcase(url string NOT NULL ENABLE, userName string, d date, numClicks int CHECK (numclicks > 0)); DESC formatted tcase; EXPLAIN INSERT INTO tcase values('hive.apache.com', 'user1', '12-01-2018', 48); INSERT INTO tcase values('hive.apache.com', 'user1', '12-01-2018', 48); @@ -58,7 +58,7 @@ Drop table tcase; -- cast create table tcast(url string NOT NULL ENABLE, numClicks int, - price FLOAT CHECK cast(numClicks as FLOAT)*price > 10.00); + price FLOAT CHECK (cast(numClicks as FLOAT)*price > 10.00)); DESC FORMATTED tcast; EXPLAIN INSERT INTO tcast values('www.google.com', 100, cast(0.5 as float)); INSERT INTO tcast values('www.google.com', 100, cast(0.5 as float)); @@ -71,7 +71,7 @@ DROP TABLE tcast; -- complex expression create table texpr(i int DEFAULT 89, f float NOT NULL ENABLE, d decimal(4,1), - b boolean CHECK ((cast(d as float) + f) < cast(i as float) + (i*i))); + b boolean CHECK (((cast(d as float) + f) < cast(i as float) + (i*i)))); DESC FORMATTED texpr; explain insert into texpr values(3,3.4,5.6,true); insert into texpr values(3,3.4,5.6,true); @@ -81,7 +81,7 @@ DROP TABLE texpr; -- UPDATE create table acid_uami_n0(i int, de decimal(5,2) constraint nn1 not null enforced, - vc varchar(128) constraint ch2 CHECK de >= cast(i as decimal(5,2)) enforced) + vc varchar(128) constraint ch2 CHECK (de >= cast(i as decimal(5,2))) enforced) clustered by (i) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true'); DESC FORMATTED acid_uami_n0; @@ -132,7 +132,7 @@ select * from acid_uami_n0 order by vc limit 15; DROP TABLE acid_uami_n0; -- MERGE -create table tmerge(key int CHECK key > 0 AND (key < 100 OR key = 5) enable, a1 string NOT NULL, value string) +create table tmerge(key int CHECK (key > 0 AND (key < 100 OR key = 5)) enable, a1 string NOT NULL, value string) clustered by (value) into 2 buckets stored as orc tblproperties ("transactional"="true"); DESC FORMATTED tmerge; @@ -162,7 +162,7 @@ DROP TABLE nonacid; -- drop constraint CREATE TABLE numericDataType(a TINYINT CONSTRAINT tinyint_constraint DEFAULT 127Y ENABLE, - b bigint CONSTRAINT check1 CHECK b in(4,5) ENABLE) + b bigint CONSTRAINT check1 CHECK (b in(4,5)) ENABLE) clustered by (b) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true'); DESC FORMATTED numericDataType; ALTER TABLE numericDataType DROP CONSTRAINT check1; @@ -175,7 +175,7 @@ DROP TABLE numericDataType; -- column reference missing for column having check constraint -- NULL for column with check shouldn't be possible -CREATE TABLE tcheck(a TINYINT, b bigint CONSTRAINT check1 CHECK b in(4,5) ENABLE) +CREATE TABLE tcheck(a TINYINT, b bigint CONSTRAINT check1 CHECK (b in(4,5)) ENABLE) clustered by (b) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true'); DESC FORMATTED tcheck; EXPLAIN INSERT INTO tcheck(a) values(1); @@ -187,7 +187,7 @@ DROP TABLE tcheck; -- micro-managed table set hive.create.as.insert.only=true; set hive.exec.dynamic.partition.mode=nonstrict; -create table part_mm(key int check key > 0 and key < 5000 enforced) partitioned by (key_mm int) +create table part_mm(key int check (key > 0 and key < 5000) enforced) partitioned by (key_mm int) stored as orc tblproperties ("transactional"="true", "transactional_properties"="insert_only"); explain insert into table part_mm partition(key_mm=455) select key from src order by value limit 3; insert into table part_mm partition(key_mm=455) select key from src order by value desc limit 3; @@ -197,12 +197,12 @@ drop table part_mm; -- rely, novalidate create table trely(i int); -ALTER TABLE trely CHANGE i i int CHECK i>0 ENABLE NOVALIDATE RELY; +ALTER TABLE trely CHANGE i i int CHECK (i>0) ENABLE NOVALIDATE RELY; DESC FORMATTED trely; DROP TABLE trely; -- table level constraint -create table tbl1_n1(a string, b int, CONSTRAINT check1 CHECK a != '' AND b > 4); +create table tbl1_n1(a string, b int, CONSTRAINT check1 CHECK (a != '' AND b > 4)); desc formatted tbl1_n1; explain insert into tbl1_n1 values('a', 69); insert into tbl1_n1 values('a', 69); diff --git a/ql/src/test/results/clientnegative/check_constraint_tbl_level.q.out b/ql/src/test/results/clientnegative/check_constraint_tbl_level.q.out index 3ed9c25..6ab1f51 100644 --- a/ql/src/test/results/clientnegative/check_constraint_tbl_level.q.out +++ b/ql/src/test/results/clientnegative/check_constraint_tbl_level.q.out @@ -1,8 +1,8 @@ -PREHOOK: query: create table tti(i int , j int, constraint ch1 check i > j) +PREHOOK: query: create table tti(i int , j int, constraint ch1 check (i > j)) PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@tti -POSTHOOK: query: create table tti(i int , j int, constraint ch1 check i > j) +POSTHOOK: query: create table tti(i int , j int, constraint ch1 check (i > j)) POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@tti diff --git a/ql/src/test/results/clientnegative/check_constraint_violation.q.out b/ql/src/test/results/clientnegative/check_constraint_violation.q.out index 82f367c..9c86ad9 100644 --- a/ql/src/test/results/clientnegative/check_constraint_violation.q.out +++ b/ql/src/test/results/clientnegative/check_constraint_violation.q.out @@ -1,8 +1,8 @@ -PREHOOK: query: create table tti(i int check i > 5) +PREHOOK: query: create table tti(i int check (i > 5)) PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@tti -POSTHOOK: query: create table tti(i int check i > 5) +POSTHOOK: query: create table tti(i int check (i > 5)) POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@tti diff --git a/ql/src/test/results/clientnegative/subquery_subquery_chain.q.out b/ql/src/test/results/clientnegative/subquery_subquery_chain.q.out index ca9d03a..4542508 100644 --- a/ql/src/test/results/clientnegative/subquery_subquery_chain.q.out +++ b/ql/src/test/results/clientnegative/subquery_subquery_chain.q.out @@ -1 +1 @@ -FAILED: ParseException line 5:39 cannot recognize input near 'in' '(' 'select' in expression specification +FAILED: ParseException line 6:39 missing EOF at 'in' near ')' diff --git a/ql/src/test/results/clientpositive/llap/check_constraint.q.out b/ql/src/test/results/clientpositive/llap/check_constraint.q.out index dcf4edc..2ba9bed 100644 --- a/ql/src/test/results/clientpositive/llap/check_constraint.q.out +++ b/ql/src/test/results/clientpositive/llap/check_constraint.q.out @@ -1,19 +1,19 @@ -PREHOOK: query: CREATE TABLE table1_n0(i int CHECK -i > -10, - j int CHECK +j > 10, - ij boolean CHECK ij IS NOT NULL, - a int CHECK a BETWEEN i AND j, - bb float CHECK bb IN (23.4,56,4), - d bigint CHECK d > round(567.6) AND d < round(1000.4)) +PREHOOK: query: CREATE TABLE table1_n0(i int CHECK (-i > -10), + j int CHECK (+j > 10), + ij boolean CHECK (ij IS NOT NULL), + a int CHECK (a BETWEEN i AND j), + bb float CHECK (bb IN (23.4,56,4)), + d bigint CHECK (d > round(567.6) AND d < round(1000.4))) clustered by (i) into 2 buckets stored as orc TBLPROPERTIES('transactional'='true') PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@table1_n0 -POSTHOOK: query: CREATE TABLE table1_n0(i int CHECK -i > -10, - j int CHECK +j > 10, - ij boolean CHECK ij IS NOT NULL, - a int CHECK a BETWEEN i AND j, - bb float CHECK bb IN (23.4,56,4), - d bigint CHECK d > round(567.6) AND d < round(1000.4)) +POSTHOOK: query: CREATE TABLE table1_n0(i int CHECK (-i > -10), + j int CHECK (+j > 10), + ij boolean CHECK (ij IS NOT NULL), + a int CHECK (a BETWEEN i AND j), + bb float CHECK (bb IN (23.4,56,4)), + d bigint CHECK (d > round(567.6) AND d < round(1000.4))) clustered by (i) into 2 buckets stored as orc TBLPROPERTIES('transactional'='true') POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default @@ -187,11 +187,11 @@ POSTHOOK: query: DROP TABLE table1_n0 POSTHOOK: type: DROPTABLE POSTHOOK: Input: default@table1_n0 POSTHOOK: Output: default@table1_n0 -PREHOOK: query: CREATE TABLE table2_n0(i int CHECK i + NULL > 0) +PREHOOK: query: CREATE TABLE table2_n0(i int CHECK (i + NULL > 0)) PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@table2_n0 -POSTHOOK: query: CREATE TABLE table2_n0(i int CHECK i + NULL > 0) +POSTHOOK: query: CREATE TABLE table2_n0(i int CHECK (i + NULL > 0)) POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@table2_n0 @@ -328,11 +328,11 @@ POSTHOOK: query: CREATE FUNCTION test_udf2 AS 'org.apache.hadoop.hive.ql.udf.gen POSTHOOK: type: CREATEFUNCTION POSTHOOK: Output: database:default POSTHOOK: Output: default.test_udf2 -PREHOOK: query: CREATE TABLE tudf(v string CHECK test_udf2(v) <> 'vin') +PREHOOK: query: CREATE TABLE tudf(v string CHECK (test_udf2(v) <> 'vin')) PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@tudf -POSTHOOK: query: CREATE TABLE tudf(v string CHECK test_udf2(v) <> 'vin') +POSTHOOK: query: CREATE TABLE tudf(v string CHECK (test_udf2(v) <> 'vin')) POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@tudf @@ -406,11 +406,11 @@ POSTHOOK: query: Drop table tudf POSTHOOK: type: DROPTABLE POSTHOOK: Input: default@tudf POSTHOOK: Output: default@tudf -PREHOOK: query: create table tmulti(url string NOT NULL ENABLE, userName string, numClicks int CHECK numClicks > 0, d date) +PREHOOK: query: create table tmulti(url string NOT NULL ENABLE, userName string, numClicks int CHECK (numClicks > 0), d date) PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@tmulti -POSTHOOK: query: create table tmulti(url string NOT NULL ENABLE, userName string, numClicks int CHECK numClicks > 0, d date) +POSTHOOK: query: create table tmulti(url string NOT NULL ENABLE, userName string, numClicks int CHECK (numClicks > 0), d date) POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@tmulti @@ -626,10 +626,10 @@ Column Name: url # Check Constraints Table: default.tmulti Constraint Name: chk1 -Column Name:null Check Value:(userName != NULL) +Column Name:null Check Value:userName != NULL Constraint Name: chk2 -Column Name:null Check Value:(numClicks <= 10000 AND userName != '') +Column Name:null Check Value:numClicks <= 10000 AND userName != '' Constraint Name: #### A masked pattern was here #### Column Name:numclicks Check Value:numClicks > 0 @@ -729,11 +729,11 @@ POSTHOOK: query: Drop table tmulti POSTHOOK: type: DROPTABLE POSTHOOK: Input: default@tmulti POSTHOOK: Output: default@tmulti -PREHOOK: query: create table tcase(url string NOT NULL ENABLE, userName string, d date, numClicks int CHECK numclicks > 0) +PREHOOK: query: create table tcase(url string NOT NULL ENABLE, userName string, d date, numClicks int CHECK (numclicks > 0)) PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@tcase -POSTHOOK: query: create table tcase(url string NOT NULL ENABLE, userName string, d date, numClicks int CHECK numclicks > 0) +POSTHOOK: query: create table tcase(url string NOT NULL ENABLE, userName string, d date, numClicks int CHECK (numclicks > 0)) POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@tcase @@ -879,12 +879,12 @@ POSTHOOK: type: DROPTABLE POSTHOOK: Input: default@tcase POSTHOOK: Output: default@tcase PREHOOK: query: create table tcast(url string NOT NULL ENABLE, numClicks int, - price FLOAT CHECK cast(numClicks as FLOAT)*price > 10.00) + price FLOAT CHECK (cast(numClicks as FLOAT)*price > 10.00)) PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@tcast POSTHOOK: query: create table tcast(url string NOT NULL ENABLE, numClicks int, - price FLOAT CHECK cast(numClicks as FLOAT)*price > 10.00) + price FLOAT CHECK (cast(numClicks as FLOAT)*price > 10.00)) POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@tcast @@ -1111,12 +1111,12 @@ POSTHOOK: type: DROPTABLE POSTHOOK: Input: default@tcast POSTHOOK: Output: default@tcast PREHOOK: query: create table texpr(i int DEFAULT 89, f float NOT NULL ENABLE, d decimal(4,1), - b boolean CHECK ((cast(d as float) + f) < cast(i as float) + (i*i))) + b boolean CHECK (((cast(d as float) + f) < cast(i as float) + (i*i)))) PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@texpr POSTHOOK: query: create table texpr(i int DEFAULT 89, f float NOT NULL ENABLE, d decimal(4,1), - b boolean CHECK ((cast(d as float) + f) < cast(i as float) + (i*i))) + b boolean CHECK (((cast(d as float) + f) < cast(i as float) + (i*i)))) POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@texpr @@ -1269,14 +1269,14 @@ POSTHOOK: Input: default@texpr POSTHOOK: Output: default@texpr PREHOOK: query: create table acid_uami_n0(i int, de decimal(5,2) constraint nn1 not null enforced, - vc varchar(128) constraint ch2 CHECK de >= cast(i as decimal(5,2)) enforced) + vc varchar(128) constraint ch2 CHECK (de >= cast(i as decimal(5,2))) enforced) clustered by (i) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true') PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@acid_uami_n0 POSTHOOK: query: create table acid_uami_n0(i int, de decimal(5,2) constraint nn1 not null enforced, - vc varchar(128) constraint ch2 CHECK de >= cast(i as decimal(5,2)) enforced) + vc varchar(128) constraint ch2 CHECK (de >= cast(i as decimal(5,2))) enforced) clustered by (i) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true') POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default @@ -2158,13 +2158,13 @@ POSTHOOK: query: DROP TABLE acid_uami_n0 POSTHOOK: type: DROPTABLE POSTHOOK: Input: default@acid_uami_n0 POSTHOOK: Output: default@acid_uami_n0 -PREHOOK: query: create table tmerge(key int CHECK key > 0 AND (key < 100 OR key = 5) enable, a1 string NOT NULL, value string) +PREHOOK: query: create table tmerge(key int CHECK (key > 0 AND (key < 100 OR key = 5)) enable, a1 string NOT NULL, value string) clustered by (value) into 2 buckets stored as orc tblproperties ("transactional"="true") PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@tmerge -POSTHOOK: query: create table tmerge(key int CHECK key > 0 AND (key < 100 OR key = 5) enable, a1 string NOT NULL, value string) +POSTHOOK: query: create table tmerge(key int CHECK (key > 0 AND (key < 100 OR key = 5)) enable, a1 string NOT NULL, value string) clustered by (value) into 2 buckets stored as orc tblproperties ("transactional"="true") POSTHOOK: type: CREATETABLE @@ -2901,13 +2901,13 @@ POSTHOOK: type: DROPTABLE POSTHOOK: Input: default@nonacid POSTHOOK: Output: default@nonacid PREHOOK: query: CREATE TABLE numericDataType(a TINYINT CONSTRAINT tinyint_constraint DEFAULT 127Y ENABLE, - b bigint CONSTRAINT check1 CHECK b in(4,5) ENABLE) + b bigint CONSTRAINT check1 CHECK (b in(4,5)) ENABLE) clustered by (b) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true') PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@numericDataType POSTHOOK: query: CREATE TABLE numericDataType(a TINYINT CONSTRAINT tinyint_constraint DEFAULT 127Y ENABLE, - b bigint CONSTRAINT check1 CHECK b in(4,5) ENABLE) + b bigint CONSTRAINT check1 CHECK (b in(4,5)) ENABLE) clustered by (b) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true') POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default @@ -3105,12 +3105,12 @@ POSTHOOK: query: DROP TABLE numericDataType POSTHOOK: type: DROPTABLE POSTHOOK: Input: default@numericdatatype POSTHOOK: Output: default@numericdatatype -PREHOOK: query: CREATE TABLE tcheck(a TINYINT, b bigint CONSTRAINT check1 CHECK b in(4,5) ENABLE) +PREHOOK: query: CREATE TABLE tcheck(a TINYINT, b bigint CONSTRAINT check1 CHECK (b in(4,5)) ENABLE) clustered by (b) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true') PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@tcheck -POSTHOOK: query: CREATE TABLE tcheck(a TINYINT, b bigint CONSTRAINT check1 CHECK b in(4,5) ENABLE) +POSTHOOK: query: CREATE TABLE tcheck(a TINYINT, b bigint CONSTRAINT check1 CHECK (b in(4,5)) ENABLE) clustered by (b) into 2 buckets stored as orc TBLPROPERTIES ('transactional'='true') POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default @@ -3340,12 +3340,12 @@ POSTHOOK: query: DROP TABLE tcheck POSTHOOK: type: DROPTABLE POSTHOOK: Input: default@tcheck POSTHOOK: Output: default@tcheck -PREHOOK: query: create table part_mm(key int check key > 0 and key < 5000 enforced) partitioned by (key_mm int) +PREHOOK: query: create table part_mm(key int check (key > 0 and key < 5000) enforced) partitioned by (key_mm int) stored as orc tblproperties ("transactional"="true", "transactional_properties"="insert_only") PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@part_mm -POSTHOOK: query: create table part_mm(key int check key > 0 and key < 5000 enforced) partitioned by (key_mm int) +POSTHOOK: query: create table part_mm(key int check (key > 0 and key < 5000) enforced) partitioned by (key_mm int) stored as orc tblproperties ("transactional"="true", "transactional_properties"="insert_only") POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default @@ -3480,11 +3480,11 @@ POSTHOOK: query: create table trely(i int) POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@trely -PREHOOK: query: ALTER TABLE trely CHANGE i i int CHECK i>0 ENABLE NOVALIDATE RELY +PREHOOK: query: ALTER TABLE trely CHANGE i i int CHECK (i>0) ENABLE NOVALIDATE RELY PREHOOK: type: ALTERTABLE_RENAMECOL PREHOOK: Input: default@trely PREHOOK: Output: default@trely -POSTHOOK: query: ALTER TABLE trely CHANGE i i int CHECK i>0 ENABLE NOVALIDATE RELY +POSTHOOK: query: ALTER TABLE trely CHANGE i i int CHECK (i>0) ENABLE NOVALIDATE RELY POSTHOOK: type: ALTERTABLE_RENAMECOL POSTHOOK: Input: default@trely POSTHOOK: Output: default@trely @@ -3536,11 +3536,11 @@ POSTHOOK: query: DROP TABLE trely POSTHOOK: type: DROPTABLE POSTHOOK: Input: default@trely POSTHOOK: Output: default@trely -PREHOOK: query: create table tbl1_n1(a string, b int, CONSTRAINT check1 CHECK a != '' AND b > 4) +PREHOOK: query: create table tbl1_n1(a string, b int, CONSTRAINT check1 CHECK (a != '' AND b > 4)) PREHOOK: type: CREATETABLE PREHOOK: Output: database:default PREHOOK: Output: default@tbl1_n1 -POSTHOOK: query: create table tbl1_n1(a string, b int, CONSTRAINT check1 CHECK a != '' AND b > 4) +POSTHOOK: query: create table tbl1_n1(a string, b int, CONSTRAINT check1 CHECK (a != '' AND b > 4)) POSTHOOK: type: CREATETABLE POSTHOOK: Output: database:default POSTHOOK: Output: default@tbl1_n1 @@ -3714,7 +3714,7 @@ Constraint Name: check1 Column Name:null Check Value:a != '' AND b > 4 Constraint Name: chk2 -Column Name:null Check Value:(b < 100) +Column Name:null Check Value:b < 100 PREHOOK: query: explain insert into tbl1_n1 values('a', 69) PREHOOK: type: QUERY