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 2e583da83ff5bdba1281e59dbb53aa02b875d29a..ec062497ea4025a739713685382fe42cca1b246d 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 @@ -2175,7 +2175,7 @@ selectStatement[boolean topLevel] : ( s=selectClause - f=fromClause? + f=fromClause w=whereClause? g=groupByClause? h=havingClause? @@ -2185,7 +2185,7 @@ selectStatement[boolean topLevel] sort=sortByClause? win=window_clause? l=limitClause? - -> ^(TOK_QUERY $f? ^(TOK_INSERT ^(TOK_DESTINATION ^(TOK_DIR TOK_TMP_FILE)) + -> ^(TOK_QUERY $f ^(TOK_INSERT ^(TOK_DESTINATION ^(TOK_DIR TOK_TMP_FILE)) $s $w? $g? $h? $o? $c? $d? $sort? $win? $l?)) ) diff --git a/ql/src/test/queries/clientnegative/insertsel_fail.q b/ql/src/test/queries/clientnegative/insertsel_fail.q new file mode 100644 index 0000000000000000000000000000000000000000..c14fefd565d40f66ec440fa21de6a7ff7ca45654 --- /dev/null +++ b/ql/src/test/queries/clientnegative/insertsel_fail.q @@ -0,0 +1 @@ +insert overwrite directory 'target/warehouse/aret.out' select a.key src a; diff --git a/ql/src/test/results/clientnegative/insertsel_fail.q.out b/ql/src/test/results/clientnegative/insertsel_fail.q.out new file mode 100644 index 0000000000000000000000000000000000000000..2130f47a942857100046f510f47927c21cc6ea05 --- /dev/null +++ b/ql/src/test/results/clientnegative/insertsel_fail.q.out @@ -0,0 +1 @@ +FAILED: ParseException line 1:72 missing FROM at 'a' near ''