You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by px...@apache.org on 2016/10/12 21:04:17 UTC
[1/2] hive git commit: HIVE-14872: Remove the configuration
HIVE_SUPPORT_SQL11_RESERVED_KEYWORDS (Pengcheng Xiong,
reviewed by Ashutosh Chauhan)
Repository: hive
Updated Branches:
refs/heads/master bfa34f339 -> 9cfdd4bb0
http://git-wip-us.apache.org/repos/asf/hive/blob/9cfdd4bb/ql/src/test/org/apache/hadoop/hive/ql/parse/TestSQL11ReservedKeyWordsPositive.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/parse/TestSQL11ReservedKeyWordsPositive.java b/ql/src/test/org/apache/hadoop/hive/ql/parse/TestSQL11ReservedKeyWordsPositive.java
deleted file mode 100644
index d0e6132..0000000
--- a/ql/src/test/org/apache/hadoop/hive/ql/parse/TestSQL11ReservedKeyWordsPositive.java
+++ /dev/null
@@ -1,822 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.hadoop.hive.ql.parse;
-
-import java.io.IOException;
-
-import org.apache.hadoop.hive.conf.HiveConf;
-import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
-import org.apache.hadoop.hive.ql.Context;
-import org.apache.hadoop.hive.ql.session.SessionState;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-/**
- * Parser tests for SQL11 Reserved KeyWords. Please find more information in
- * HIVE-6617. Total number : 74 + 2 (MySQL)
- */
-public class TestSQL11ReservedKeyWordsPositive {
- private static HiveConf conf;
-
- private ParseDriver pd;
-
- @BeforeClass
- public static void initialize() {
- conf = new HiveConf(SemanticAnalyzer.class);
- conf.setBoolVar(ConfVars.HIVE_SUPPORT_SQL11_RESERVED_KEYWORDS, false);
- SessionState.start(conf);
- }
-
- @Before
- public void setup() throws SemanticException, IOException {
- pd = new ParseDriver();
- }
-
- ASTNode parse(String query) throws ParseException {
- ASTNode nd = null;
- try {
- nd = pd.parse(query, new Context(conf));
- } catch (IOException e) {
- e.printStackTrace();
- }
- return (ASTNode) nd.getChild(0);
- }
-
- @Test
- public void testSQL11ReservedKeyWords_ALL() throws ParseException {
- ASTNode ast = parse("CREATE TABLE ALL (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname all) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_ALTER() throws ParseException {
- ASTNode ast = parse("CREATE TABLE ALTER (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname alter) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_ARRAY() throws ParseException {
- ASTNode ast = parse("CREATE TABLE ARRAY (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname array) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_AS() throws ParseException {
- ASTNode ast = parse("CREATE TABLE AS (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname as) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_AUTHORIZATION() throws ParseException {
- ASTNode ast = parse("CREATE TABLE AUTHORIZATION (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname authorization) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_BETWEEN() throws ParseException {
- ASTNode ast = parse("CREATE TABLE BETWEEN (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname between) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_BIGINT() throws ParseException {
- ASTNode ast = parse("CREATE TABLE BIGINT (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname bigint) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_BINARY() throws ParseException {
- ASTNode ast = parse("CREATE TABLE BINARY (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname binary) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_BOOLEAN() throws ParseException {
- ASTNode ast = parse("CREATE TABLE BOOLEAN (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname boolean) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_BOTH() throws ParseException {
- ASTNode ast = parse("CREATE TABLE BOTH (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname both) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_BY() throws ParseException {
- ASTNode ast = parse("CREATE TABLE BY (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname by) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_CREATE() throws ParseException {
- ASTNode ast = parse("CREATE TABLE CREATE (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname create) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_CUBE() throws ParseException {
- ASTNode ast = parse("CREATE TABLE CUBE (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname cube) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_CURRENT_DATE() throws ParseException {
- ASTNode ast = parse("CREATE TABLE CURRENT_DATE (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname current_date) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_CURRENT_TIMESTAMP() throws ParseException {
- ASTNode ast = parse("CREATE TABLE CURRENT_TIMESTAMP (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname current_timestamp) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_CURSOR() throws ParseException {
- ASTNode ast = parse("CREATE TABLE CURSOR (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname cursor) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_DATE() throws ParseException {
- ASTNode ast = parse("CREATE TABLE DATE (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname date) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_DECIMAL() throws ParseException {
- ASTNode ast = parse("CREATE TABLE DECIMAL (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname decimal) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_DELETE() throws ParseException {
- ASTNode ast = parse("CREATE TABLE DELETE (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname delete) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_DESCRIBE() throws ParseException {
- ASTNode ast = parse("CREATE TABLE DESCRIBE (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname describe) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_DOUBLE() throws ParseException {
- ASTNode ast = parse("CREATE TABLE DOUBLE (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname double) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_DROP() throws ParseException {
- ASTNode ast = parse("CREATE TABLE DROP (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname drop) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_EXISTS() throws ParseException {
- ASTNode ast = parse("CREATE TABLE EXISTS (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname exists) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_EXTERNAL() throws ParseException {
- ASTNode ast = parse("CREATE TABLE EXTERNAL (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname external) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_FALSE() throws ParseException {
- ASTNode ast = parse("CREATE TABLE FALSE (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname false) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_FETCH() throws ParseException {
- ASTNode ast = parse("CREATE TABLE FETCH (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname fetch) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_FLOAT() throws ParseException {
- ASTNode ast = parse("CREATE TABLE FLOAT (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname float) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_FOR() throws ParseException {
- ASTNode ast = parse("CREATE TABLE FOR (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname for) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_FULL() throws ParseException {
- ASTNode ast = parse("CREATE TABLE FULL (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname full) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_GRANT() throws ParseException {
- ASTNode ast = parse("CREATE TABLE GRANT (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname grant) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_GROUP() throws ParseException {
- ASTNode ast = parse("CREATE TABLE GROUP (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname group) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_GROUPING() throws ParseException {
- ASTNode ast = parse("CREATE TABLE GROUPING (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname grouping) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_IMPORT() throws ParseException {
- ASTNode ast = parse("CREATE TABLE IMPORT (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname import) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_IN() throws ParseException {
- ASTNode ast = parse("CREATE TABLE IN (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname in) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_INNER() throws ParseException {
- ASTNode ast = parse("CREATE TABLE INNER (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname inner) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_INSERT() throws ParseException {
- ASTNode ast = parse("CREATE TABLE INSERT (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname insert) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_INT() throws ParseException {
- ASTNode ast = parse("CREATE TABLE INT (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname int) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_INTERSECT() throws ParseException {
- ASTNode ast = parse("CREATE TABLE INTERSECT (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname intersect) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_INTO() throws ParseException {
- ASTNode ast = parse("CREATE TABLE INTO (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname into) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_IS() throws ParseException {
- ASTNode ast = parse("CREATE TABLE IS (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname is) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_LATERAL() throws ParseException {
- ASTNode ast = parse("CREATE TABLE LATERAL (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname lateral) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_LEFT() throws ParseException {
- ASTNode ast = parse("CREATE TABLE LEFT (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname left) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_LIKE() throws ParseException {
- ASTNode ast = parse("CREATE TABLE LIKE (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname like) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_LOCAL() throws ParseException {
- ASTNode ast = parse("CREATE TABLE LOCAL (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname local) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_NONE() throws ParseException {
- ASTNode ast = parse("CREATE TABLE NONE (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname none) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_NULL() throws ParseException {
- ASTNode ast = parse("CREATE TABLE NULL (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname null) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_OF() throws ParseException {
- ASTNode ast = parse("CREATE TABLE OF (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname of) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_ORDER() throws ParseException {
- ASTNode ast = parse("CREATE TABLE ORDER (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname order) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_OUT() throws ParseException {
- ASTNode ast = parse("CREATE TABLE OUT (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname out) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_OUTER() throws ParseException {
- ASTNode ast = parse("CREATE TABLE OUTER (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname outer) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_PARTITION() throws ParseException {
- ASTNode ast = parse("CREATE TABLE PARTITION (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname partition) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_PERCENT() throws ParseException {
- ASTNode ast = parse("CREATE TABLE PERCENT (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname percent) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_PROCEDURE() throws ParseException {
- ASTNode ast = parse("CREATE TABLE PROCEDURE (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname procedure) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_RANGE() throws ParseException {
- ASTNode ast = parse("CREATE TABLE RANGE (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname range) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_READS() throws ParseException {
- ASTNode ast = parse("CREATE TABLE READS (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname reads) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_REVOKE() throws ParseException {
- ASTNode ast = parse("CREATE TABLE REVOKE (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname revoke) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_RIGHT() throws ParseException {
- ASTNode ast = parse("CREATE TABLE RIGHT (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname right) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_ROLLUP() throws ParseException {
- ASTNode ast = parse("CREATE TABLE ROLLUP (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname rollup) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_ROW() throws ParseException {
- ASTNode ast = parse("CREATE TABLE ROW (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname row) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_ROWS() throws ParseException {
- ASTNode ast = parse("CREATE TABLE ROWS (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname rows) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_SET() throws ParseException {
- ASTNode ast = parse("CREATE TABLE SET (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname set) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_SMALLINT() throws ParseException {
- ASTNode ast = parse("CREATE TABLE SMALLINT (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname smallint) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_TABLE() throws ParseException {
- ASTNode ast = parse("CREATE TABLE TABLE (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname table) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_TIMESTAMP() throws ParseException {
- ASTNode ast = parse("CREATE TABLE TIMESTAMP (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname timestamp) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_TO() throws ParseException {
- ASTNode ast = parse("CREATE TABLE TO (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname to) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_TRIGGER() throws ParseException {
- ASTNode ast = parse("CREATE TABLE TRIGGER (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname trigger) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_TRUE() throws ParseException {
- ASTNode ast = parse("CREATE TABLE TRUE (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname true) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_TRUNCATE() throws ParseException {
- ASTNode ast = parse("CREATE TABLE TRUNCATE (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname truncate) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_UNION() throws ParseException {
- ASTNode ast = parse("CREATE TABLE UNION (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname union) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_UPDATE() throws ParseException {
- ASTNode ast = parse("CREATE TABLE UPDATE (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname update) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_USER() throws ParseException {
- ASTNode ast = parse("CREATE TABLE USER (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname user) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_USING() throws ParseException {
- ASTNode ast = parse("CREATE TABLE USING (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname using) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_VALUES() throws ParseException {
- ASTNode ast = parse("CREATE TABLE VALUES (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname values) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_WITH() throws ParseException {
- ASTNode ast = parse("CREATE TABLE WITH (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname with) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- // MySQL reserved keywords.
- @Test
- public void testSQL11ReservedKeyWords_RLIKE() throws ParseException {
- ASTNode ast = parse("CREATE TABLE RLIKE (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname rlike) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-
- @Test
- public void testSQL11ReservedKeyWords_REGEXP() throws ParseException {
- ASTNode ast = parse("CREATE TABLE REGEXP (col STRING)");
- Assert
- .assertEquals(
- "AST doesn't match",
- "(tok_createtable (tok_tabname regexp) tok_liketable (tok_tabcollist (tok_tabcol col tok_string)))",
- ast.toStringTree());
- }
-}
http://git-wip-us.apache.org/repos/asf/hive/blob/9cfdd4bb/ql/src/test/queries/clientpositive/keyword_2.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/keyword_2.q b/ql/src/test/queries/clientpositive/keyword_2.q
index 054e26a..e8be760 100644
--- a/ql/src/test/queries/clientpositive/keyword_2.q
+++ b/ql/src/test/queries/clientpositive/keyword_2.q
@@ -1,4 +1,3 @@
-set hive.support.sql11.reserved.keywords=false;
drop table varchar_udf_1;
create table varchar_udf_1 (c1 string, c2 string, c3 varchar(10), c4 varchar(20));
@@ -6,9 +5,9 @@ insert overwrite table varchar_udf_1
select key, value, key, value from src where key = '238' limit 1;
select
- regexp(c2, 'val'),
- regexp(c4, 'val'),
- regexp(c2, 'val') = regexp(c4, 'val')
+ c2 regexp 'val',
+ c4 regexp 'val',
+ (c2 regexp 'val') = (c4 regexp 'val')
from varchar_udf_1 limit 1;
drop table varchar_udf_1;
http://git-wip-us.apache.org/repos/asf/hive/blob/9cfdd4bb/ql/src/test/queries/clientpositive/ppd_field_garbage.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/ppd_field_garbage.q b/ql/src/test/queries/clientpositive/ppd_field_garbage.q
index 67bea5c..85021f1 100644
--- a/ql/src/test/queries/clientpositive/ppd_field_garbage.q
+++ b/ql/src/test/queries/clientpositive/ppd_field_garbage.q
@@ -1,8 +1,6 @@
-set hive.support.sql11.reserved.keywords=false;
--- We need the above setting for backward compatibility because 'user' is a keyword in SQL2011
-- ppd leaves invalid expr in field expr
-CREATE TABLE test_issue (fileid int, infos ARRAY<STRUCT<user:INT>>, test_c STRUCT<user_c:STRUCT<age:INT>>);
-CREATE VIEW v_test_issue AS SELECT fileid, i.user, test_c.user_c.age FROM test_issue LATERAL VIEW explode(infos) info AS i;
+CREATE TABLE test_issue (fileid int, infos ARRAY<STRUCT<u:INT>>, test_c STRUCT<user_c:STRUCT<age:INT>>);
+CREATE VIEW v_test_issue AS SELECT fileid, i.u, test_c.user_c.age FROM test_issue LATERAL VIEW explode(infos) info AS i;
-- dummy data
LOAD DATA LOCAL INPATH '../../data/files/kv1.txt' INTO TABLE test_issue;
http://git-wip-us.apache.org/repos/asf/hive/blob/9cfdd4bb/ql/src/test/queries/clientpositive/udaf_collect_set_2.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/udaf_collect_set_2.q b/ql/src/test/queries/clientpositive/udaf_collect_set_2.q
index d18509b..769655b 100644
--- a/ql/src/test/queries/clientpositive/udaf_collect_set_2.q
+++ b/ql/src/test/queries/clientpositive/udaf_collect_set_2.q
@@ -1,5 +1,3 @@
-set hive.support.sql11.reserved.keywords=false;
-
DESCRIBE FUNCTION collect_set;
DESCRIBE FUNCTION EXTENDED collect_set;
@@ -15,13 +13,13 @@ FIELDS TERMINATED BY ',';
LOAD DATA LOCAL INPATH "../../data/files/customers.txt" INTO TABLE customers;
-CREATE TABLE orders (id int, cid int, date date, amount double)
+CREATE TABLE orders (id int, cid int, d date, amount double)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';
LOAD DATA LOCAL INPATH "../../data/files/orders.txt" INTO TABLE orders;
-CREATE TABLE nested_orders (id int, cid int, date date, sub map<string,double>)
+CREATE TABLE nested_orders (id int, cid int, d date, sub map<string,double>)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY '$'
@@ -33,35 +31,35 @@ LOAD DATA LOCAL INPATH "../../data/files/nested_orders.txt" INTO TABLE nested_or
-- 1.1 when field is primitive
-SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.date, "amount", o.amount)))
+SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.d, "amount", o.amount)))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id;
-SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.date, "amount", o.amount)))
+SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.d, "amount", o.amount)))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id;
-- cast decimal
-SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.date, "amount", cast(o.amount as decimal(10,1)))))
+SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.d, "amount", cast(o.amount as decimal(10,1)))))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id;
-SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.date, "amount", cast(o.amount as decimal(10,1)))))
+SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.d, "amount", cast(o.amount as decimal(10,1)))))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id;
-SELECT c.id, sort_array(collect_set(struct(c.name, o.date, o.amount)))
+SELECT c.id, sort_array(collect_set(struct(c.name, o.d, o.amount)))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id;
-SELECT c.id, sort_array(collect_list(struct(c.name, o.date, o.amount)))
+SELECT c.id, sort_array(collect_list(struct(c.name, o.d, o.amount)))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id;
@@ -69,22 +67,22 @@ ON (c.id = o.cid) GROUP BY c.id;
-- 1.2 when field is map
-SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.date, "sub", o.sub)))
+SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.d, "sub", o.sub)))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id;
-SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.date, "sub", o.sub)))
+SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.d, "sub", o.sub)))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id;
-SELECT c.id, sort_array(collect_set(struct(c.name, o.date, o.sub)))
+SELECT c.id, sort_array(collect_set(struct(c.name, o.d, o.sub)))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id;
-SELECT c.id, sort_array(collect_list(struct(c.name, o.date, o.sub)))
+SELECT c.id, sort_array(collect_list(struct(c.name, o.d, o.sub)))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id;
@@ -92,22 +90,22 @@ ON (c.id = o.cid) GROUP BY c.id;
-- 1.3 when field is list
-SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.date, "sub", map_values(o.sub))))
+SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.d, "sub", map_values(o.sub))))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id;
-SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.date, "sub", map_values(o.sub))))
+SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.d, "sub", map_values(o.sub))))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id;
-SELECT c.id, sort_array(collect_set(struct(c.name, o.date, map_values(o.sub))))
+SELECT c.id, sort_array(collect_set(struct(c.name, o.d, map_values(o.sub))))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id;
-SELECT c.id, sort_array(collect_list(struct(c.name, o.date, map_values(o.sub))))
+SELECT c.id, sort_array(collect_list(struct(c.name, o.d, map_values(o.sub))))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id;
http://git-wip-us.apache.org/repos/asf/hive/blob/9cfdd4bb/ql/src/test/results/clientnegative/authorization_cannot_create_all_role.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/authorization_cannot_create_all_role.q.out b/ql/src/test/results/clientnegative/authorization_cannot_create_all_role.q.out
index 3bc663b..0bb8788 100644
--- a/ql/src/test/results/clientnegative/authorization_cannot_create_all_role.q.out
+++ b/ql/src/test/results/clientnegative/authorization_cannot_create_all_role.q.out
@@ -2,4 +2,4 @@ PREHOOK: query: set role ADMIN
PREHOOK: type: SHOW_ROLES
POSTHOOK: query: set role ADMIN
POSTHOOK: type: SHOW_ROLES
-FAILED: ParseException line 2:12 Failed to recognize predicate 'all'. Failed rule: 'identifier' in create role
+FAILED: ParseException line 2:12 cannot recognize input near 'all' '<EOF>' '<EOF>' in create role
http://git-wip-us.apache.org/repos/asf/hive/blob/9cfdd4bb/ql/src/test/results/clientnegative/authorization_cannot_create_none_role.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/authorization_cannot_create_none_role.q.out b/ql/src/test/results/clientnegative/authorization_cannot_create_none_role.q.out
index a8f6c1c..618cba6 100644
--- a/ql/src/test/results/clientnegative/authorization_cannot_create_none_role.q.out
+++ b/ql/src/test/results/clientnegative/authorization_cannot_create_none_role.q.out
@@ -2,4 +2,4 @@ PREHOOK: query: set role ADMIN
PREHOOK: type: SHOW_ROLES
POSTHOOK: query: set role ADMIN
POSTHOOK: type: SHOW_ROLES
-FAILED: ParseException line 2:12 Failed to recognize predicate 'None'. Failed rule: 'identifier' in create role
+FAILED: ParseException line 2:12 cannot recognize input near 'None' '<EOF>' '<EOF>' in create role
http://git-wip-us.apache.org/repos/asf/hive/blob/9cfdd4bb/ql/src/test/results/clientnegative/cte_with_in_subquery.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/cte_with_in_subquery.q.out b/ql/src/test/results/clientnegative/cte_with_in_subquery.q.out
index 1122ca5..2ead43b 100644
--- a/ql/src/test/results/clientnegative/cte_with_in_subquery.q.out
+++ b/ql/src/test/results/clientnegative/cte_with_in_subquery.q.out
@@ -1 +1 @@
-FAILED: ParseException line 1:20 cannot recognize input near 'with' 'q1' 'as' in from source
+FAILED: SemanticException [Error 10001]: Line 1:44 Table not found 'q2'
http://git-wip-us.apache.org/repos/asf/hive/blob/9cfdd4bb/ql/src/test/results/clientnegative/lateral_view_join.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/lateral_view_join.q.out b/ql/src/test/results/clientnegative/lateral_view_join.q.out
index 74a7ea5..b96f18f 100644
--- a/ql/src/test/results/clientnegative/lateral_view_join.q.out
+++ b/ql/src/test/results/clientnegative/lateral_view_join.q.out
@@ -1 +1 @@
-FAILED: ParseException line 1:59 Failed to recognize predicate 'AS'. Failed rule: 'identifier' in table alias
+FAILED: ParseException line 1:59 cannot recognize input near 'AS' 'myTable' 'JOIN' in table alias
http://git-wip-us.apache.org/repos/asf/hive/blob/9cfdd4bb/ql/src/test/results/clientnegative/subq_insert.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientnegative/subq_insert.q.out b/ql/src/test/results/clientnegative/subq_insert.q.out
index 4847634..620409b 100644
--- a/ql/src/test/results/clientnegative/subq_insert.q.out
+++ b/ql/src/test/results/clientnegative/subq_insert.q.out
@@ -1 +1 @@
-FAILED: ParseException line 2:22 cannot recognize input near 'INSERT' 'OVERWRITE' 'TABLE' in from source
+FAILED: SemanticException [Error 10024]: Line 2:38 Cannot insert in a subquery. Inserting to table 'src1'
http://git-wip-us.apache.org/repos/asf/hive/blob/9cfdd4bb/ql/src/test/results/clientpositive/keyword_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/keyword_2.q.out b/ql/src/test/results/clientpositive/keyword_2.q.out
index 3d248fb..c8389f5 100644
--- a/ql/src/test/results/clientpositive/keyword_2.q.out
+++ b/ql/src/test/results/clientpositive/keyword_2.q.out
@@ -25,17 +25,17 @@ POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, typ
POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
PREHOOK: query: select
- regexp(c2, 'val'),
- regexp(c4, 'val'),
- regexp(c2, 'val') = regexp(c4, 'val')
+ c2 regexp 'val',
+ c4 regexp 'val',
+ (c2 regexp 'val') = (c4 regexp 'val')
from varchar_udf_1 limit 1
PREHOOK: type: QUERY
PREHOOK: Input: default@varchar_udf_1
#### A masked pattern was here ####
POSTHOOK: query: select
- regexp(c2, 'val'),
- regexp(c4, 'val'),
- regexp(c2, 'val') = regexp(c4, 'val')
+ c2 regexp 'val',
+ c4 regexp 'val',
+ (c2 regexp 'val') = (c4 regexp 'val')
from varchar_udf_1 limit 1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@varchar_udf_1
http://git-wip-us.apache.org/repos/asf/hive/blob/9cfdd4bb/ql/src/test/results/clientpositive/llap/udaf_collect_set_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/udaf_collect_set_2.q.out b/ql/src/test/results/clientpositive/llap/udaf_collect_set_2.q.out
index 7425988..f2e76a7 100644
--- a/ql/src/test/results/clientpositive/llap/udaf_collect_set_2.q.out
+++ b/ql/src/test/results/clientpositive/llap/udaf_collect_set_2.q.out
@@ -42,13 +42,13 @@ POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/customers.txt" INTO TA
POSTHOOK: type: LOAD
#### A masked pattern was here ####
POSTHOOK: Output: default@customers
-PREHOOK: query: CREATE TABLE orders (id int, cid int, date date, amount double)
+PREHOOK: query: CREATE TABLE orders (id int, cid int, d date, amount double)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@orders
-POSTHOOK: query: CREATE TABLE orders (id int, cid int, date date, amount double)
+POSTHOOK: query: CREATE TABLE orders (id int, cid int, d date, amount double)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
POSTHOOK: type: CREATETABLE
@@ -62,7 +62,7 @@ POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/orders.txt" INTO TABLE
POSTHOOK: type: LOAD
#### A masked pattern was here ####
POSTHOOK: Output: default@orders
-PREHOOK: query: CREATE TABLE nested_orders (id int, cid int, date date, sub map<string,double>)
+PREHOOK: query: CREATE TABLE nested_orders (id int, cid int, d date, sub map<string,double>)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY '$'
@@ -70,7 +70,7 @@ MAP KEYS TERMINATED BY ':'
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@nested_orders
-POSTHOOK: query: CREATE TABLE nested_orders (id int, cid int, date date, sub map<string,double>)
+POSTHOOK: query: CREATE TABLE nested_orders (id int, cid int, d date, sub map<string,double>)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY '$'
@@ -90,7 +90,7 @@ PREHOOK: query: -- 1. test struct
-- 1.1 when field is primitive
-SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.date, "amount", o.amount)))
+SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.d, "amount", o.amount)))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -102,7 +102,7 @@ POSTHOOK: query: -- 1. test struct
-- 1.1 when field is primitive
-SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.date, "amount", o.amount)))
+SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.d, "amount", o.amount)))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -113,7 +113,7 @@ POSTHOOK: Input: default@orders
1 [{"name":"Chris","date":"2013-06-21","amount":21.45},{"name":"Chris","date":"2014-10-11","amount":29.36}]
2 [{"name":"John","date":"2013-08-10","amount":126.57},{"name":"John","date":"2014-06-25","amount":3.65},{"name":"John","date":"2015-01-15","amount":27.45}]
3 [{"name":"Martin","date":"2014-05-11","amount":30.5},{"name":"Martin","date":"2014-12-12","amount":210.03}]
-PREHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.date, "amount", o.amount)))
+PREHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.d, "amount", o.amount)))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -121,7 +121,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@customers
PREHOOK: Input: default@orders
#### A masked pattern was here ####
-POSTHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.date, "amount", o.amount)))
+POSTHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.d, "amount", o.amount)))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -134,7 +134,7 @@ POSTHOOK: Input: default@orders
3 [{"name":"Martin","date":"2014-05-11","amount":30.5},{"name":"Martin","date":"2014-12-12","amount":210.03}]
PREHOOK: query: -- cast decimal
-SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.date, "amount", cast(o.amount as decimal(10,1)))))
+SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.d, "amount", cast(o.amount as decimal(10,1)))))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -144,7 +144,7 @@ PREHOOK: Input: default@orders
#### A masked pattern was here ####
POSTHOOK: query: -- cast decimal
-SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.date, "amount", cast(o.amount as decimal(10,1)))))
+SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.d, "amount", cast(o.amount as decimal(10,1)))))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -155,7 +155,7 @@ POSTHOOK: Input: default@orders
1 [{"name":"Chris","date":"2013-06-21","amount":21.5},{"name":"Chris","date":"2014-10-11","amount":29.4}]
2 [{"name":"John","date":"2013-08-10","amount":126.6},{"name":"John","date":"2014-06-25","amount":3.7},{"name":"John","date":"2015-01-15","amount":27.5}]
3 [{"name":"Martin","date":"2014-05-11","amount":30.5},{"name":"Martin","date":"2014-12-12","amount":210}]
-PREHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.date, "amount", cast(o.amount as decimal(10,1)))))
+PREHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.d, "amount", cast(o.amount as decimal(10,1)))))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -163,7 +163,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@customers
PREHOOK: Input: default@orders
#### A masked pattern was here ####
-POSTHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.date, "amount", cast(o.amount as decimal(10,1)))))
+POSTHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.d, "amount", cast(o.amount as decimal(10,1)))))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -174,7 +174,7 @@ POSTHOOK: Input: default@orders
1 [{"name":"Chris","date":"2013-06-21","amount":21.5},{"name":"Chris","date":"2013-06-21","amount":21.5},{"name":"Chris","date":"2014-10-11","amount":29.4}]
2 [{"name":"John","date":"2013-08-10","amount":126.6},{"name":"John","date":"2014-06-25","amount":3.7},{"name":"John","date":"2015-01-15","amount":27.5}]
3 [{"name":"Martin","date":"2014-05-11","amount":30.5},{"name":"Martin","date":"2014-12-12","amount":210}]
-PREHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.date, o.amount)))
+PREHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.d, o.amount)))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -182,7 +182,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@customers
PREHOOK: Input: default@orders
#### A masked pattern was here ####
-POSTHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.date, o.amount)))
+POSTHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.d, o.amount)))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -193,7 +193,7 @@ POSTHOOK: Input: default@orders
1 [{"col1":"Chris","col2":"2013-06-21","col3":21.45},{"col1":"Chris","col2":"2014-10-11","col3":29.36}]
2 [{"col1":"John","col2":"2013-08-10","col3":126.57},{"col1":"John","col2":"2014-06-25","col3":3.65},{"col1":"John","col2":"2015-01-15","col3":27.45}]
3 [{"col1":"Martin","col2":"2014-05-11","col3":30.5},{"col1":"Martin","col2":"2014-12-12","col3":210.03}]
-PREHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.date, o.amount)))
+PREHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.d, o.amount)))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -201,7 +201,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@customers
PREHOOK: Input: default@orders
#### A masked pattern was here ####
-POSTHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.date, o.amount)))
+POSTHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.d, o.amount)))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -214,7 +214,7 @@ POSTHOOK: Input: default@orders
3 [{"col1":"Martin","col2":"2014-05-11","col3":30.5},{"col1":"Martin","col2":"2014-12-12","col3":210.03}]
PREHOOK: query: -- 1.2 when field is map
-SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.date, "sub", o.sub)))
+SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.d, "sub", o.sub)))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -224,7 +224,7 @@ PREHOOK: Input: default@nested_orders
#### A masked pattern was here ####
POSTHOOK: query: -- 1.2 when field is map
-SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.date, "sub", o.sub)))
+SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.d, "sub", o.sub)))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -235,7 +235,7 @@ POSTHOOK: Input: default@nested_orders
1 [{"name":"Chris","date":"2013-06-21","sub":{"\"juice\"":21.45,"\"bread\"":15.2}},{"name":"Chris","date":"2014-10-11","sub":{"\"grape\"":1200.5,"\"rice\"":29.36}}]
2 [{"name":"John","date":"2013-08-10","sub":{"\"yogurt\"":126.57,"\"beef\"":210.57}},{"name":"John","date":"2014-06-25","sub":{"\"chocolate\"":3.65,"\"water\"":420.36}},{"name":"John","date":"2015-01-15","sub":{"\"milk\"":27.45}}]
3 [{"name":"Martin","date":"2014-05-11","sub":{"\"apple\"":30.5,"\"orange\"":41.35}},{"name":"Martin","date":"2014-12-12","sub":{"\"icecream\"":210.03,"\"banana\"":100.56,"\"coffee":500.0}}]
-PREHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.date, "sub", o.sub)))
+PREHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.d, "sub", o.sub)))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -243,7 +243,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@customers
PREHOOK: Input: default@nested_orders
#### A masked pattern was here ####
-POSTHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.date, "sub", o.sub)))
+POSTHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.d, "sub", o.sub)))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -254,7 +254,7 @@ POSTHOOK: Input: default@nested_orders
1 [{"name":"Chris","date":"2013-06-21","sub":{"\"juice\"":21.45,"\"bread\"":15.2}},{"name":"Chris","date":"2013-06-21","sub":{"\"juice\"":21.45,"\"bread\"":15.2}},{"name":"Chris","date":"2014-10-11","sub":{"\"grape\"":1200.5,"\"rice\"":29.36}}]
2 [{"name":"John","date":"2013-08-10","sub":{"\"yogurt\"":126.57,"\"beef\"":210.57}},{"name":"John","date":"2014-06-25","sub":{"\"chocolate\"":3.65,"\"water\"":420.36}},{"name":"John","date":"2015-01-15","sub":{"\"milk\"":27.45}}]
3 [{"name":"Martin","date":"2014-05-11","sub":{"\"apple\"":30.5,"\"orange\"":41.35}},{"name":"Martin","date":"2014-12-12","sub":{"\"icecream\"":210.03,"\"banana\"":100.56,"\"coffee":500.0}}]
-PREHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.date, o.sub)))
+PREHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.d, o.sub)))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -262,7 +262,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@customers
PREHOOK: Input: default@nested_orders
#### A masked pattern was here ####
-POSTHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.date, o.sub)))
+POSTHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.d, o.sub)))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -273,7 +273,7 @@ POSTHOOK: Input: default@nested_orders
1 [{"col1":"Chris","col2":"2013-06-21","col3":{"\"juice\"":21.45,"\"bread\"":15.2}},{"col1":"Chris","col2":"2014-10-11","col3":{"\"grape\"":1200.5,"\"rice\"":29.36}}]
2 [{"col1":"John","col2":"2013-08-10","col3":{"\"yogurt\"":126.57,"\"beef\"":210.57}},{"col1":"John","col2":"2014-06-25","col3":{"\"chocolate\"":3.65,"\"water\"":420.36}},{"col1":"John","col2":"2015-01-15","col3":{"\"milk\"":27.45}}]
3 [{"col1":"Martin","col2":"2014-05-11","col3":{"\"apple\"":30.5,"\"orange\"":41.35}},{"col1":"Martin","col2":"2014-12-12","col3":{"\"icecream\"":210.03,"\"banana\"":100.56,"\"coffee":500.0}}]
-PREHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.date, o.sub)))
+PREHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.d, o.sub)))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -281,7 +281,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@customers
PREHOOK: Input: default@nested_orders
#### A masked pattern was here ####
-POSTHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.date, o.sub)))
+POSTHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.d, o.sub)))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -294,7 +294,7 @@ POSTHOOK: Input: default@nested_orders
3 [{"col1":"Martin","col2":"2014-05-11","col3":{"\"apple\"":30.5,"\"orange\"":41.35}},{"col1":"Martin","col2":"2014-12-12","col3":{"\"icecream\"":210.03,"\"banana\"":100.56,"\"coffee":500.0}}]
PREHOOK: query: -- 1.3 when field is list
-SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.date, "sub", map_values(o.sub))))
+SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.d, "sub", map_values(o.sub))))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -304,7 +304,7 @@ PREHOOK: Input: default@nested_orders
#### A masked pattern was here ####
POSTHOOK: query: -- 1.3 when field is list
-SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.date, "sub", map_values(o.sub))))
+SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.d, "sub", map_values(o.sub))))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -315,7 +315,7 @@ POSTHOOK: Input: default@nested_orders
1 [{"name":"Chris","date":"2013-06-21","sub":[21.45,15.2]},{"name":"Chris","date":"2014-10-11","sub":[1200.5,29.36]}]
2 [{"name":"John","date":"2013-08-10","sub":[126.57,210.57]},{"name":"John","date":"2014-06-25","sub":[3.65,420.36]},{"name":"John","date":"2015-01-15","sub":[27.45]}]
3 [{"name":"Martin","date":"2014-05-11","sub":[30.5,41.35]},{"name":"Martin","date":"2014-12-12","sub":[210.03,100.56,500.0]}]
-PREHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.date, "sub", map_values(o.sub))))
+PREHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.d, "sub", map_values(o.sub))))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -323,7 +323,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@customers
PREHOOK: Input: default@nested_orders
#### A masked pattern was here ####
-POSTHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.date, "sub", map_values(o.sub))))
+POSTHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.d, "sub", map_values(o.sub))))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -334,7 +334,7 @@ POSTHOOK: Input: default@nested_orders
1 [{"name":"Chris","date":"2013-06-21","sub":[21.45,15.2]},{"name":"Chris","date":"2013-06-21","sub":[21.45,15.2]},{"name":"Chris","date":"2014-10-11","sub":[1200.5,29.36]}]
2 [{"name":"John","date":"2013-08-10","sub":[126.57,210.57]},{"name":"John","date":"2014-06-25","sub":[3.65,420.36]},{"name":"John","date":"2015-01-15","sub":[27.45]}]
3 [{"name":"Martin","date":"2014-05-11","sub":[30.5,41.35]},{"name":"Martin","date":"2014-12-12","sub":[210.03,100.56,500.0]}]
-PREHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.date, map_values(o.sub))))
+PREHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.d, map_values(o.sub))))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -342,7 +342,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@customers
PREHOOK: Input: default@nested_orders
#### A masked pattern was here ####
-POSTHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.date, map_values(o.sub))))
+POSTHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.d, map_values(o.sub))))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -353,7 +353,7 @@ POSTHOOK: Input: default@nested_orders
1 [{"col1":"Chris","col2":"2013-06-21","col3":[21.45,15.2]},{"col1":"Chris","col2":"2014-10-11","col3":[1200.5,29.36]}]
2 [{"col1":"John","col2":"2013-08-10","col3":[126.57,210.57]},{"col1":"John","col2":"2014-06-25","col3":[3.65,420.36]},{"col1":"John","col2":"2015-01-15","col3":[27.45]}]
3 [{"col1":"Martin","col2":"2014-05-11","col3":[30.5,41.35]},{"col1":"Martin","col2":"2014-12-12","col3":[210.03,100.56,500.0]}]
-PREHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.date, map_values(o.sub))))
+PREHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.d, map_values(o.sub))))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -361,7 +361,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@customers
PREHOOK: Input: default@nested_orders
#### A masked pattern was here ####
-POSTHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.date, map_values(o.sub))))
+POSTHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.d, map_values(o.sub))))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
http://git-wip-us.apache.org/repos/asf/hive/blob/9cfdd4bb/ql/src/test/results/clientpositive/ppd_field_garbage.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/ppd_field_garbage.q.out b/ql/src/test/results/clientpositive/ppd_field_garbage.q.out
index 1ce7a39..bf16dd7 100644
--- a/ql/src/test/results/clientpositive/ppd_field_garbage.q.out
+++ b/ql/src/test/results/clientpositive/ppd_field_garbage.q.out
@@ -1,21 +1,19 @@
-PREHOOK: query: -- We need the above setting for backward compatibility because 'user' is a keyword in SQL2011
--- ppd leaves invalid expr in field expr
-CREATE TABLE test_issue (fileid int, infos ARRAY<STRUCT<user:INT>>, test_c STRUCT<user_c:STRUCT<age:INT>>)
+PREHOOK: query: -- ppd leaves invalid expr in field expr
+CREATE TABLE test_issue (fileid int, infos ARRAY<STRUCT<u:INT>>, test_c STRUCT<user_c:STRUCT<age:INT>>)
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@test_issue
-POSTHOOK: query: -- We need the above setting for backward compatibility because 'user' is a keyword in SQL2011
--- ppd leaves invalid expr in field expr
-CREATE TABLE test_issue (fileid int, infos ARRAY<STRUCT<user:INT>>, test_c STRUCT<user_c:STRUCT<age:INT>>)
+POSTHOOK: query: -- ppd leaves invalid expr in field expr
+CREATE TABLE test_issue (fileid int, infos ARRAY<STRUCT<u:INT>>, test_c STRUCT<user_c:STRUCT<age:INT>>)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@test_issue
-PREHOOK: query: CREATE VIEW v_test_issue AS SELECT fileid, i.user, test_c.user_c.age FROM test_issue LATERAL VIEW explode(infos) info AS i
+PREHOOK: query: CREATE VIEW v_test_issue AS SELECT fileid, i.u, test_c.user_c.age FROM test_issue LATERAL VIEW explode(infos) info AS i
PREHOOK: type: CREATEVIEW
PREHOOK: Input: default@test_issue
PREHOOK: Output: database:default
PREHOOK: Output: default@v_test_issue
-POSTHOOK: query: CREATE VIEW v_test_issue AS SELECT fileid, i.user, test_c.user_c.age FROM test_issue LATERAL VIEW explode(infos) info AS i
+POSTHOOK: query: CREATE VIEW v_test_issue AS SELECT fileid, i.u, test_c.user_c.age FROM test_issue LATERAL VIEW explode(infos) info AS i
POSTHOOK: type: CREATEVIEW
POSTHOOK: Input: default@test_issue
POSTHOOK: Output: database:default
http://git-wip-us.apache.org/repos/asf/hive/blob/9cfdd4bb/ql/src/test/results/clientpositive/udaf_collect_set_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udaf_collect_set_2.q.out b/ql/src/test/results/clientpositive/udaf_collect_set_2.q.out
index 7425988..f2e76a7 100644
--- a/ql/src/test/results/clientpositive/udaf_collect_set_2.q.out
+++ b/ql/src/test/results/clientpositive/udaf_collect_set_2.q.out
@@ -42,13 +42,13 @@ POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/customers.txt" INTO TA
POSTHOOK: type: LOAD
#### A masked pattern was here ####
POSTHOOK: Output: default@customers
-PREHOOK: query: CREATE TABLE orders (id int, cid int, date date, amount double)
+PREHOOK: query: CREATE TABLE orders (id int, cid int, d date, amount double)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@orders
-POSTHOOK: query: CREATE TABLE orders (id int, cid int, date date, amount double)
+POSTHOOK: query: CREATE TABLE orders (id int, cid int, d date, amount double)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
POSTHOOK: type: CREATETABLE
@@ -62,7 +62,7 @@ POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/orders.txt" INTO TABLE
POSTHOOK: type: LOAD
#### A masked pattern was here ####
POSTHOOK: Output: default@orders
-PREHOOK: query: CREATE TABLE nested_orders (id int, cid int, date date, sub map<string,double>)
+PREHOOK: query: CREATE TABLE nested_orders (id int, cid int, d date, sub map<string,double>)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY '$'
@@ -70,7 +70,7 @@ MAP KEYS TERMINATED BY ':'
PREHOOK: type: CREATETABLE
PREHOOK: Output: database:default
PREHOOK: Output: default@nested_orders
-POSTHOOK: query: CREATE TABLE nested_orders (id int, cid int, date date, sub map<string,double>)
+POSTHOOK: query: CREATE TABLE nested_orders (id int, cid int, d date, sub map<string,double>)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY '$'
@@ -90,7 +90,7 @@ PREHOOK: query: -- 1. test struct
-- 1.1 when field is primitive
-SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.date, "amount", o.amount)))
+SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.d, "amount", o.amount)))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -102,7 +102,7 @@ POSTHOOK: query: -- 1. test struct
-- 1.1 when field is primitive
-SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.date, "amount", o.amount)))
+SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.d, "amount", o.amount)))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -113,7 +113,7 @@ POSTHOOK: Input: default@orders
1 [{"name":"Chris","date":"2013-06-21","amount":21.45},{"name":"Chris","date":"2014-10-11","amount":29.36}]
2 [{"name":"John","date":"2013-08-10","amount":126.57},{"name":"John","date":"2014-06-25","amount":3.65},{"name":"John","date":"2015-01-15","amount":27.45}]
3 [{"name":"Martin","date":"2014-05-11","amount":30.5},{"name":"Martin","date":"2014-12-12","amount":210.03}]
-PREHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.date, "amount", o.amount)))
+PREHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.d, "amount", o.amount)))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -121,7 +121,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@customers
PREHOOK: Input: default@orders
#### A masked pattern was here ####
-POSTHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.date, "amount", o.amount)))
+POSTHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.d, "amount", o.amount)))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -134,7 +134,7 @@ POSTHOOK: Input: default@orders
3 [{"name":"Martin","date":"2014-05-11","amount":30.5},{"name":"Martin","date":"2014-12-12","amount":210.03}]
PREHOOK: query: -- cast decimal
-SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.date, "amount", cast(o.amount as decimal(10,1)))))
+SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.d, "amount", cast(o.amount as decimal(10,1)))))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -144,7 +144,7 @@ PREHOOK: Input: default@orders
#### A masked pattern was here ####
POSTHOOK: query: -- cast decimal
-SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.date, "amount", cast(o.amount as decimal(10,1)))))
+SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.d, "amount", cast(o.amount as decimal(10,1)))))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -155,7 +155,7 @@ POSTHOOK: Input: default@orders
1 [{"name":"Chris","date":"2013-06-21","amount":21.5},{"name":"Chris","date":"2014-10-11","amount":29.4}]
2 [{"name":"John","date":"2013-08-10","amount":126.6},{"name":"John","date":"2014-06-25","amount":3.7},{"name":"John","date":"2015-01-15","amount":27.5}]
3 [{"name":"Martin","date":"2014-05-11","amount":30.5},{"name":"Martin","date":"2014-12-12","amount":210}]
-PREHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.date, "amount", cast(o.amount as decimal(10,1)))))
+PREHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.d, "amount", cast(o.amount as decimal(10,1)))))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -163,7 +163,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@customers
PREHOOK: Input: default@orders
#### A masked pattern was here ####
-POSTHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.date, "amount", cast(o.amount as decimal(10,1)))))
+POSTHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.d, "amount", cast(o.amount as decimal(10,1)))))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -174,7 +174,7 @@ POSTHOOK: Input: default@orders
1 [{"name":"Chris","date":"2013-06-21","amount":21.5},{"name":"Chris","date":"2013-06-21","amount":21.5},{"name":"Chris","date":"2014-10-11","amount":29.4}]
2 [{"name":"John","date":"2013-08-10","amount":126.6},{"name":"John","date":"2014-06-25","amount":3.7},{"name":"John","date":"2015-01-15","amount":27.5}]
3 [{"name":"Martin","date":"2014-05-11","amount":30.5},{"name":"Martin","date":"2014-12-12","amount":210}]
-PREHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.date, o.amount)))
+PREHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.d, o.amount)))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -182,7 +182,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@customers
PREHOOK: Input: default@orders
#### A masked pattern was here ####
-POSTHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.date, o.amount)))
+POSTHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.d, o.amount)))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -193,7 +193,7 @@ POSTHOOK: Input: default@orders
1 [{"col1":"Chris","col2":"2013-06-21","col3":21.45},{"col1":"Chris","col2":"2014-10-11","col3":29.36}]
2 [{"col1":"John","col2":"2013-08-10","col3":126.57},{"col1":"John","col2":"2014-06-25","col3":3.65},{"col1":"John","col2":"2015-01-15","col3":27.45}]
3 [{"col1":"Martin","col2":"2014-05-11","col3":30.5},{"col1":"Martin","col2":"2014-12-12","col3":210.03}]
-PREHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.date, o.amount)))
+PREHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.d, o.amount)))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -201,7 +201,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@customers
PREHOOK: Input: default@orders
#### A masked pattern was here ####
-POSTHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.date, o.amount)))
+POSTHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.d, o.amount)))
FROM customers c
INNER JOIN orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -214,7 +214,7 @@ POSTHOOK: Input: default@orders
3 [{"col1":"Martin","col2":"2014-05-11","col3":30.5},{"col1":"Martin","col2":"2014-12-12","col3":210.03}]
PREHOOK: query: -- 1.2 when field is map
-SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.date, "sub", o.sub)))
+SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.d, "sub", o.sub)))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -224,7 +224,7 @@ PREHOOK: Input: default@nested_orders
#### A masked pattern was here ####
POSTHOOK: query: -- 1.2 when field is map
-SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.date, "sub", o.sub)))
+SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.d, "sub", o.sub)))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -235,7 +235,7 @@ POSTHOOK: Input: default@nested_orders
1 [{"name":"Chris","date":"2013-06-21","sub":{"\"juice\"":21.45,"\"bread\"":15.2}},{"name":"Chris","date":"2014-10-11","sub":{"\"grape\"":1200.5,"\"rice\"":29.36}}]
2 [{"name":"John","date":"2013-08-10","sub":{"\"yogurt\"":126.57,"\"beef\"":210.57}},{"name":"John","date":"2014-06-25","sub":{"\"chocolate\"":3.65,"\"water\"":420.36}},{"name":"John","date":"2015-01-15","sub":{"\"milk\"":27.45}}]
3 [{"name":"Martin","date":"2014-05-11","sub":{"\"apple\"":30.5,"\"orange\"":41.35}},{"name":"Martin","date":"2014-12-12","sub":{"\"icecream\"":210.03,"\"banana\"":100.56,"\"coffee":500.0}}]
-PREHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.date, "sub", o.sub)))
+PREHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.d, "sub", o.sub)))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -243,7 +243,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@customers
PREHOOK: Input: default@nested_orders
#### A masked pattern was here ####
-POSTHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.date, "sub", o.sub)))
+POSTHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.d, "sub", o.sub)))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -254,7 +254,7 @@ POSTHOOK: Input: default@nested_orders
1 [{"name":"Chris","date":"2013-06-21","sub":{"\"juice\"":21.45,"\"bread\"":15.2}},{"name":"Chris","date":"2013-06-21","sub":{"\"juice\"":21.45,"\"bread\"":15.2}},{"name":"Chris","date":"2014-10-11","sub":{"\"grape\"":1200.5,"\"rice\"":29.36}}]
2 [{"name":"John","date":"2013-08-10","sub":{"\"yogurt\"":126.57,"\"beef\"":210.57}},{"name":"John","date":"2014-06-25","sub":{"\"chocolate\"":3.65,"\"water\"":420.36}},{"name":"John","date":"2015-01-15","sub":{"\"milk\"":27.45}}]
3 [{"name":"Martin","date":"2014-05-11","sub":{"\"apple\"":30.5,"\"orange\"":41.35}},{"name":"Martin","date":"2014-12-12","sub":{"\"icecream\"":210.03,"\"banana\"":100.56,"\"coffee":500.0}}]
-PREHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.date, o.sub)))
+PREHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.d, o.sub)))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -262,7 +262,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@customers
PREHOOK: Input: default@nested_orders
#### A masked pattern was here ####
-POSTHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.date, o.sub)))
+POSTHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.d, o.sub)))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -273,7 +273,7 @@ POSTHOOK: Input: default@nested_orders
1 [{"col1":"Chris","col2":"2013-06-21","col3":{"\"juice\"":21.45,"\"bread\"":15.2}},{"col1":"Chris","col2":"2014-10-11","col3":{"\"grape\"":1200.5,"\"rice\"":29.36}}]
2 [{"col1":"John","col2":"2013-08-10","col3":{"\"yogurt\"":126.57,"\"beef\"":210.57}},{"col1":"John","col2":"2014-06-25","col3":{"\"chocolate\"":3.65,"\"water\"":420.36}},{"col1":"John","col2":"2015-01-15","col3":{"\"milk\"":27.45}}]
3 [{"col1":"Martin","col2":"2014-05-11","col3":{"\"apple\"":30.5,"\"orange\"":41.35}},{"col1":"Martin","col2":"2014-12-12","col3":{"\"icecream\"":210.03,"\"banana\"":100.56,"\"coffee":500.0}}]
-PREHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.date, o.sub)))
+PREHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.d, o.sub)))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -281,7 +281,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@customers
PREHOOK: Input: default@nested_orders
#### A masked pattern was here ####
-POSTHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.date, o.sub)))
+POSTHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.d, o.sub)))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -294,7 +294,7 @@ POSTHOOK: Input: default@nested_orders
3 [{"col1":"Martin","col2":"2014-05-11","col3":{"\"apple\"":30.5,"\"orange\"":41.35}},{"col1":"Martin","col2":"2014-12-12","col3":{"\"icecream\"":210.03,"\"banana\"":100.56,"\"coffee":500.0}}]
PREHOOK: query: -- 1.3 when field is list
-SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.date, "sub", map_values(o.sub))))
+SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.d, "sub", map_values(o.sub))))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -304,7 +304,7 @@ PREHOOK: Input: default@nested_orders
#### A masked pattern was here ####
POSTHOOK: query: -- 1.3 when field is list
-SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.date, "sub", map_values(o.sub))))
+SELECT c.id, sort_array(collect_set(named_struct("name", c.name, "date", o.d, "sub", map_values(o.sub))))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -315,7 +315,7 @@ POSTHOOK: Input: default@nested_orders
1 [{"name":"Chris","date":"2013-06-21","sub":[21.45,15.2]},{"name":"Chris","date":"2014-10-11","sub":[1200.5,29.36]}]
2 [{"name":"John","date":"2013-08-10","sub":[126.57,210.57]},{"name":"John","date":"2014-06-25","sub":[3.65,420.36]},{"name":"John","date":"2015-01-15","sub":[27.45]}]
3 [{"name":"Martin","date":"2014-05-11","sub":[30.5,41.35]},{"name":"Martin","date":"2014-12-12","sub":[210.03,100.56,500.0]}]
-PREHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.date, "sub", map_values(o.sub))))
+PREHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.d, "sub", map_values(o.sub))))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -323,7 +323,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@customers
PREHOOK: Input: default@nested_orders
#### A masked pattern was here ####
-POSTHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.date, "sub", map_values(o.sub))))
+POSTHOOK: query: SELECT c.id, sort_array(collect_list(named_struct("name", c.name, "date", o.d, "sub", map_values(o.sub))))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -334,7 +334,7 @@ POSTHOOK: Input: default@nested_orders
1 [{"name":"Chris","date":"2013-06-21","sub":[21.45,15.2]},{"name":"Chris","date":"2013-06-21","sub":[21.45,15.2]},{"name":"Chris","date":"2014-10-11","sub":[1200.5,29.36]}]
2 [{"name":"John","date":"2013-08-10","sub":[126.57,210.57]},{"name":"John","date":"2014-06-25","sub":[3.65,420.36]},{"name":"John","date":"2015-01-15","sub":[27.45]}]
3 [{"name":"Martin","date":"2014-05-11","sub":[30.5,41.35]},{"name":"Martin","date":"2014-12-12","sub":[210.03,100.56,500.0]}]
-PREHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.date, map_values(o.sub))))
+PREHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.d, map_values(o.sub))))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -342,7 +342,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@customers
PREHOOK: Input: default@nested_orders
#### A masked pattern was here ####
-POSTHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.date, map_values(o.sub))))
+POSTHOOK: query: SELECT c.id, sort_array(collect_set(struct(c.name, o.d, map_values(o.sub))))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -353,7 +353,7 @@ POSTHOOK: Input: default@nested_orders
1 [{"col1":"Chris","col2":"2013-06-21","col3":[21.45,15.2]},{"col1":"Chris","col2":"2014-10-11","col3":[1200.5,29.36]}]
2 [{"col1":"John","col2":"2013-08-10","col3":[126.57,210.57]},{"col1":"John","col2":"2014-06-25","col3":[3.65,420.36]},{"col1":"John","col2":"2015-01-15","col3":[27.45]}]
3 [{"col1":"Martin","col2":"2014-05-11","col3":[30.5,41.35]},{"col1":"Martin","col2":"2014-12-12","col3":[210.03,100.56,500.0]}]
-PREHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.date, map_values(o.sub))))
+PREHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.d, map_values(o.sub))))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
@@ -361,7 +361,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@customers
PREHOOK: Input: default@nested_orders
#### A masked pattern was here ####
-POSTHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.date, map_values(o.sub))))
+POSTHOOK: query: SELECT c.id, sort_array(collect_list(struct(c.name, o.d, map_values(o.sub))))
FROM customers c
INNER JOIN nested_orders o
ON (c.id = o.cid) GROUP BY c.id
http://git-wip-us.apache.org/repos/asf/hive/blob/9cfdd4bb/ql/src/test/results/compiler/errors/missing_overwrite.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/compiler/errors/missing_overwrite.q.out b/ql/src/test/results/compiler/errors/missing_overwrite.q.out
index 7fed7a5..441558a 100644
--- a/ql/src/test/results/compiler/errors/missing_overwrite.q.out
+++ b/ql/src/test/results/compiler/errors/missing_overwrite.q.out
@@ -1 +1 @@
-Parse Error: line 2:7 cannot recognize input near 'INSERT' 'TABLE' 'dest1' in table source
\ No newline at end of file
+Parse Error: line 2:0 cannot recognize input near 'INSERT' 'TABLE' 'dest1' in insert clause
\ No newline at end of file
[2/2] hive git commit: HIVE-14872: Remove the configuration
HIVE_SUPPORT_SQL11_RESERVED_KEYWORDS (Pengcheng Xiong,
reviewed by Ashutosh Chauhan)
Posted by px...@apache.org.
HIVE-14872: Remove the configuration HIVE_SUPPORT_SQL11_RESERVED_KEYWORDS (Pengcheng Xiong, reviewed by Ashutosh Chauhan)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/9cfdd4bb
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/9cfdd4bb
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/9cfdd4bb
Branch: refs/heads/master
Commit: 9cfdd4bb0c63ac487094692caac2a66d4831f973
Parents: bfa34f3
Author: Pengcheng Xiong <px...@apache.org>
Authored: Wed Oct 12 14:04:03 2016 -0700
Committer: Pengcheng Xiong <px...@apache.org>
Committed: Wed Oct 12 14:04:03 2016 -0700
----------------------------------------------------------------------
.../org/apache/hadoop/hive/conf/HiveConf.java | 4 -
.../hadoop/hive/ql/parse/FromClauseParser.g | 3 -
.../apache/hadoop/hive/ql/parse/HiveParser.g | 10 +-
.../hadoop/hive/ql/parse/IdentifiersParser.g | 48 +-
.../hadoop/hive/ql/parse/SelectClauseParser.g | 3 -
.../TestSQL11ReservedKeyWordsNegative.java | 2158 +++++++++---------
.../TestSQL11ReservedKeyWordsPositive.java | 822 -------
ql/src/test/queries/clientpositive/keyword_2.q | 7 +-
.../queries/clientpositive/ppd_field_garbage.q | 6 +-
.../queries/clientpositive/udaf_collect_set_2.q | 34 +-
.../authorization_cannot_create_all_role.q.out | 2 +-
.../authorization_cannot_create_none_role.q.out | 2 +-
.../clientnegative/cte_with_in_subquery.q.out | 2 +-
.../clientnegative/lateral_view_join.q.out | 2 +-
.../results/clientnegative/subq_insert.q.out | 2 +-
.../test/results/clientpositive/keyword_2.q.out | 12 +-
.../llap/udaf_collect_set_2.q.out | 64 +-
.../clientpositive/ppd_field_garbage.q.out | 14 +-
.../clientpositive/udaf_collect_set_2.q.out | 64 +-
.../compiler/errors/missing_overwrite.q.out | 2 +-
20 files changed, 1207 insertions(+), 2054 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/9cfdd4bb/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
----------------------------------------------------------------------
diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
index 5ea9751..e6ca361 100644
--- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
+++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
@@ -2678,9 +2678,6 @@ public class HiveConf extends Configuration {
" none: default(past) behavior. Implies only alphaNumeric and underscore are valid characters in identifiers.\n" +
" column: implies column names can contain any character."
),
- HIVE_SUPPORT_SQL11_RESERVED_KEYWORDS("hive.support.sql11.reserved.keywords", true,
- "This flag should be set to true to enable support for SQL2011 reserved keywords.\n" +
- "The default value is true."),
HIVE_SUPPORT_SPECICAL_CHARACTERS_IN_TABLE_NAMES("hive.support.special.characters.tablename", true,
"This flag should be set to true to enable support for special characters in table names.\n"
+ "When it is set to false, only [a-zA-Z_0-9]+ are supported.\n"
@@ -3977,7 +3974,6 @@ public class HiveConf extends Configuration {
ConfVars.HIVE_SCHEMA_EVOLUTION.varname,
ConfVars.HIVE_SERVER2_LOGGING_OPERATION_LEVEL.varname,
ConfVars.HIVE_SERVER2_THRIFT_RESULTSET_SERIALIZE_IN_TASKS.varname,
- ConfVars.HIVE_SUPPORT_SQL11_RESERVED_KEYWORDS.varname,
ConfVars.HIVE_SUPPORT_SPECICAL_CHARACTERS_IN_TABLE_NAMES.varname,
ConfVars.JOB_DEBUG_CAPTURE_STACKTRACES.varname,
ConfVars.JOB_DEBUG_TIMEOUT.varname,
http://git-wip-us.apache.org/repos/asf/hive/blob/9cfdd4bb/ql/src/java/org/apache/hadoop/hive/ql/parse/FromClauseParser.g
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/FromClauseParser.g b/ql/src/java/org/apache/hadoop/hive/ql/parse/FromClauseParser.g
index bf35d60..26aca96 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/FromClauseParser.g
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/FromClauseParser.g
@@ -35,9 +35,6 @@ k=3;
RecognitionException e) {
gParent.errors.add(new ParseError(gParent, e, tokenNames));
}
- protected boolean useSQL11ReservedKeywordsForIdentifier() {
- return gParent.useSQL11ReservedKeywordsForIdentifier();
- }
}
@rulecatch {
http://git-wip-us.apache.org/repos/asf/hive/blob/9cfdd4bb/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g
----------------------------------------------------------------------
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 bef3acf..5c16c55 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
@@ -690,12 +690,6 @@ import org.apache.hadoop.hive.conf.HiveConf;
public void setHiveConf(Configuration hiveConf) {
this.hiveConf = hiveConf;
}
- protected boolean useSQL11ReservedKeywordsForIdentifier() {
- if(hiveConf==null){
- return false;
- }
- return !HiveConf.getBoolVar(hiveConf, HiveConf.ConfVars.HIVE_SUPPORT_SQL11_RESERVED_KEYWORDS);
- }
}
@rulecatch {
@@ -2514,11 +2508,11 @@ body
whereClause?
groupByClause?
havingClause?
+ window_clause?
orderByClause?
clusterByClause?
distributeByClause?
sortByClause?
- window_clause?
limitClause? -> ^(TOK_INSERT insertClause
selectClause lateralView? whereClause? groupByClause? havingClause? orderByClause? clusterByClause?
distributeByClause? sortByClause? window_clause? limitClause?)
@@ -2528,11 +2522,11 @@ body
whereClause?
groupByClause?
havingClause?
+ window_clause?
orderByClause?
clusterByClause?
distributeByClause?
sortByClause?
- window_clause?
limitClause? -> ^(TOK_INSERT ^(TOK_DESTINATION ^(TOK_DIR TOK_TMP_FILE))
selectClause lateralView? whereClause? groupByClause? havingClause? orderByClause? clusterByClause?
distributeByClause? sortByClause? window_clause? limitClause?)
http://git-wip-us.apache.org/repos/asf/hive/blob/9cfdd4bb/ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g
----------------------------------------------------------------------
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 6ae731f..50987c3 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
@@ -35,9 +35,6 @@ k=3;
RecognitionException e) {
gParent.errors.add(new ParseError(gParent, e, tokenNames));
}
- protected boolean useSQL11ReservedKeywordsForIdentifier() {
- return gParent.useSQL11ReservedKeywordsForIdentifier();
- }
}
@rulecatch {
@@ -206,7 +203,7 @@ functionName
|
(functionIdentifier) => functionIdentifier
|
- {!useSQL11ReservedKeywordsForIdentifier()}? sql11ReservedKeywordsUsedAsCastFunctionName -> Identifier[$sql11ReservedKeywordsUsedAsCastFunctionName.start]
+ sql11ReservedKeywordsUsedAsFunctionName -> Identifier[$sql11ReservedKeywordsUsedAsFunctionName.start]
;
castExpression
@@ -663,9 +660,6 @@ identifier
:
Identifier
| nonReserved -> Identifier[$nonReserved.start]
- // If it decides to support SQL11 reserved keywords, i.e., useSQL11ReservedKeywordsForIdentifier()=false,
- // the sql11keywords in existing q tests will NOT be added back.
- | {useSQL11ReservedKeywordsForIdentifier()}? sql11ReservedKeywordsUsedAsIdentifier -> Identifier[$sql11ReservedKeywordsUsedAsIdentifier.start]
;
functionIdentifier
@@ -684,11 +678,13 @@ principalIdentifier
| QuotedIdentifier
;
-//The new version of nonReserved + sql11ReservedKeywordsUsedAsIdentifier = old version of nonReserved
-//Non reserved keywords are basically the keywords that can be used as identifiers.
-//All the KW_* are automatically not only keywords, but also reserved keywords.
-//That means, they can NOT be used as identifiers.
-//If you would like to use them as identifiers, put them in the nonReserved list below.
+// Here is what you have to do if you would like to add a new keyword.
+// Note that non reserved keywords are basically the keywords that can be used as identifiers.
+// (1) Add a new entry to HiveLexer, e.g., KW_TRUE : 'TRUE';
+// (2) If it is reserved, you do NOT need to change IdentifiersParser.g
+// because all the KW_* are automatically not only keywords, but also reserved keywords.
+// However, you need to add a test to TestSQL11ReservedKeyWordsNegative.java.
+// Otherwise it is non-reserved, you need to put them in the nonReserved list below.
//If you are not sure, please refer to the SQL2011 column in
//http://www.postgresql.org/docs/9.5/static/sql-keywords-appendix.html
nonReserved
@@ -725,30 +721,8 @@ nonReserved
| KW_KEY
;
-//The following SQL2011 reserved keywords are used as cast function name only, but not as identifiers.
-sql11ReservedKeywordsUsedAsCastFunctionName
+//The following SQL2011 reserved keywords are used as function name only, but not as identifiers.
+sql11ReservedKeywordsUsedAsFunctionName
:
KW_BIGINT | KW_BINARY | KW_BOOLEAN | KW_CURRENT_DATE | KW_CURRENT_TIMESTAMP | KW_DATE | KW_DOUBLE | KW_FLOAT | KW_INT | KW_SMALLINT | KW_TIMESTAMP
- ;
-
-//The following SQL2011 reserved keywords are used as identifiers in many q tests, they may be added back due to backward compatibility.
-//We are planning to remove the following whole list after several releases.
-//Thus, please do not change the following list unless you know what to do.
-sql11ReservedKeywordsUsedAsIdentifier
- :
- KW_ALL | KW_ALTER | KW_ARRAY | KW_AS | KW_AUTHORIZATION | KW_BETWEEN | KW_BIGINT | KW_BINARY | KW_BOOLEAN
- | KW_BOTH | KW_BY | KW_CREATE | KW_CUBE | KW_CURRENT_DATE | KW_CURRENT_TIMESTAMP | KW_CURSOR | KW_DATE | KW_DECIMAL | KW_DELETE | KW_DESCRIBE
- | KW_DOUBLE | KW_DROP | KW_EXISTS | KW_EXTERNAL | KW_FALSE | KW_FETCH | KW_FLOAT | KW_FOR | KW_FULL | KW_GRANT
- | KW_GROUP | KW_GROUPING | KW_IMPORT | KW_IN | KW_INNER | KW_INSERT | KW_INT | KW_INTERSECT | KW_INTO | KW_IS | KW_LATERAL
- | KW_LEFT | KW_LIKE | KW_LOCAL | KW_NONE | KW_NULL | KW_OF | KW_ORDER | KW_OUT | KW_OUTER | KW_PARTITION
- | KW_PERCENT | KW_PROCEDURE | KW_RANGE | KW_READS | KW_REVOKE | KW_RIGHT
- | KW_ROLLUP | KW_ROW | KW_ROWS | KW_SET | KW_SMALLINT | KW_TABLE | KW_TIMESTAMP | KW_TO | KW_TRIGGER | KW_TRUE
- | KW_TRUNCATE | KW_UNION | KW_UPDATE | KW_USER | KW_USING | KW_VALUES | KW_WITH
-//The following two keywords come from MySQL. Although they are not keywords in SQL2011, they are reserved keywords in MySQL.
- | KW_REGEXP | KW_RLIKE
- | KW_PRIMARY
- | KW_FOREIGN
- | KW_CONSTRAINT
- | KW_REFERENCES
- | KW_PRECISION
- ;
+ ;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/hive/blob/9cfdd4bb/ql/src/java/org/apache/hadoop/hive/ql/parse/SelectClauseParser.g
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/SelectClauseParser.g b/ql/src/java/org/apache/hadoop/hive/ql/parse/SelectClauseParser.g
index 5f06ff4..3c6fa39 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/SelectClauseParser.g
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/SelectClauseParser.g
@@ -35,9 +35,6 @@ k=3;
RecognitionException e) {
gParent.errors.add(new ParseError(gParent, e, tokenNames));
}
- protected boolean useSQL11ReservedKeywordsForIdentifier() {
- return gParent.useSQL11ReservedKeywordsForIdentifier();
- }
}
@rulecatch {
http://git-wip-us.apache.org/repos/asf/hive/blob/9cfdd4bb/ql/src/test/org/apache/hadoop/hive/ql/parse/TestSQL11ReservedKeyWordsNegative.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/parse/TestSQL11ReservedKeyWordsNegative.java b/ql/src/test/org/apache/hadoop/hive/ql/parse/TestSQL11ReservedKeyWordsNegative.java
index 97ae0d9..a427803 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/parse/TestSQL11ReservedKeyWordsNegative.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/parse/TestSQL11ReservedKeyWordsNegative.java
@@ -30,1074 +30,1098 @@ import org.junit.Test;
/**
* Parser tests for SQL11 Reserved KeyWords. Please find more information in
- * HIVE-6617. Total number : 74 + 2 (MySQL)
+ * HIVE-6617. Total number : 81
+ * ALL,ALTER,ARRAY,AS,AUTHORIZATION,BETWEEN,BIGINT,BINARY
+ * ,BOOLEAN,BOTH,BY,CONSTRAINT
+ * ,CREATE,CUBE,CURRENT_DATE,CURRENT_TIMESTAMP,CURSOR,
+ * DATE,DECIMAL,DELETE,DESCRIBE
+ * ,DOUBLE,DROP,EXISTS,EXTERNAL,FALSE,FETCH,FLOAT,FOR
+ * ,FOREIGN,FULL,GRANT,GROUP,GROUPING
+ * ,IMPORT,IN,INNER,INSERT,INT,INTERSECT,INTO,IS
+ * ,LATERAL,LEFT,LIKE,LOCAL,NONE,NULL
+ * ,OF,ORDER,OUT,OUTER,PARTITION,PERCENT,PRECISION
+ * ,PRIMARY,PROCEDURE,RANGE,READS,
+ * REFERENCES,REGEXP,REVOKE,RIGHT,RLIKE,ROLLUP,ROW
+ * ,ROWS,SET,SMALLINT,TABLE,TIMESTAMP
+ * ,TO,TRIGGER,TRUE,TRUNCATE,UNION,UPDATE,USER,USING,VALUES,WITH,
*/
public class TestSQL11ReservedKeyWordsNegative {
- private static HiveConf conf;
-
- private ParseDriver pd;
-
- @BeforeClass
- public static void initialize() {
- conf = new HiveConf(SemanticAnalyzer.class);
- conf.setBoolVar(ConfVars.HIVE_SUPPORT_SQL11_RESERVED_KEYWORDS, true);
- SessionState.start(conf);
- }
-
- @Before
- public void setup() throws SemanticException, IOException {
- pd = new ParseDriver();
- }
-
- ASTNode parse(String query) throws ParseException {
- ASTNode nd = null;
- try {
- nd = pd.parse(query, new Context(conf));
- } catch (IOException e) {
- e.printStackTrace();
- }
- return (ASTNode) nd.getChild(0);
- }
-
- @Test
- public void testSQL11ReservedKeyWords_ALL() {
- try {
- parse("CREATE TABLE ALL (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert.assertEquals("Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'ALL'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_ALTER() {
- try {
- parse("CREATE TABLE ALTER (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'ALTER'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_ARRAY() {
- try {
- parse("CREATE TABLE ARRAY (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'ARRAY'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_AS() {
- try {
- parse("CREATE TABLE AS (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert.assertEquals("Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'AS'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_AUTHORIZATION() {
- try {
- parse("CREATE TABLE AUTHORIZATION (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'AUTHORIZATION'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_BETWEEN() {
- try {
- parse("CREATE TABLE BETWEEN (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'BETWEEN'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_BIGINT() {
- try {
- parse("CREATE TABLE BIGINT (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'BIGINT'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_BINARY() {
- try {
- parse("CREATE TABLE BINARY (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'BINARY'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_BOOLEAN() {
- try {
- parse("CREATE TABLE BOOLEAN (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'BOOLEAN'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_BOTH() {
- try {
- parse("CREATE TABLE BOTH (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'BOTH'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_BY() {
- try {
- parse("CREATE TABLE BY (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert.assertEquals("Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'BY'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_CREATE() {
- try {
- parse("CREATE TABLE CREATE (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'CREATE'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_CUBE() {
- try {
- parse("CREATE TABLE CUBE (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'CUBE'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_CURRENT_DATE() {
- try {
- parse("CREATE TABLE CURRENT_DATE (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'CURRENT_DATE'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_CURRENT_TIMESTAMP() {
- try {
- parse("CREATE TABLE CURRENT_TIMESTAMP (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'CURRENT_TIMESTAMP'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_CURSOR() {
- try {
- parse("CREATE TABLE CURSOR (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'CURSOR'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_DATE() {
- try {
- parse("CREATE TABLE DATE (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'DATE'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_DECIMAL() {
- try {
- parse("CREATE TABLE DECIMAL (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'DECIMAL'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_DELETE() {
- try {
- parse("CREATE TABLE DELETE (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'DELETE'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_DESCRIBE() {
- try {
- parse("CREATE TABLE DESCRIBE (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'DESCRIBE'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_DOUBLE() {
- try {
- parse("CREATE TABLE DOUBLE (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'DOUBLE'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_DROP() {
- try {
- parse("CREATE TABLE DROP (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'DROP'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_EXISTS() {
- try {
- parse("CREATE TABLE EXISTS (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'EXISTS'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_EXTERNAL() {
- try {
- parse("CREATE TABLE EXTERNAL (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'EXTERNAL'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_FALSE() {
- try {
- parse("CREATE TABLE FALSE (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'FALSE'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_FETCH() {
- try {
- parse("CREATE TABLE FETCH (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'FETCH'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_FLOAT() {
- try {
- parse("CREATE TABLE FLOAT (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'FLOAT'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_FOR() {
- try {
- parse("CREATE TABLE FOR (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert.assertEquals("Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'FOR'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_FULL() {
- try {
- parse("CREATE TABLE FULL (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'FULL'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_GRANT() {
- try {
- parse("CREATE TABLE GRANT (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'GRANT'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_GROUP() {
- try {
- parse("CREATE TABLE GROUP (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'GROUP'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_GROUPING() {
- try {
- parse("CREATE TABLE GROUPING (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'GROUPING'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_IMPORT() {
- try {
- parse("CREATE TABLE IMPORT (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'IMPORT'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_IN() {
- try {
- parse("CREATE TABLE IN (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert.assertEquals("Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'IN'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_INNER() {
- try {
- parse("CREATE TABLE INNER (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'INNER'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_INSERT() {
- try {
- parse("CREATE TABLE INSERT (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'INSERT'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_INT() {
- try {
- parse("CREATE TABLE INT (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert.assertEquals("Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'INT'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_INTERSECT() {
- try {
- parse("CREATE TABLE INTERSECT (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'INTERSECT'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_INTO() {
- try {
- parse("CREATE TABLE INTO (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'INTO'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_IS() {
- try {
- parse("CREATE TABLE IS (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert.assertEquals("Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'IS'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_LATERAL() {
- try {
- parse("CREATE TABLE LATERAL (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'LATERAL'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_LEFT() {
- try {
- parse("CREATE TABLE LEFT (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'LEFT'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_LIKE() {
- try {
- parse("CREATE TABLE LIKE (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'LIKE'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_LOCAL() {
- try {
- parse("CREATE TABLE LOCAL (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'LOCAL'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_NONE() {
- try {
- parse("CREATE TABLE NONE (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'NONE'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_NULL() {
- try {
- parse("CREATE TABLE NULL (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'NULL'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_OF() {
- try {
- parse("CREATE TABLE OF (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert.assertEquals("Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'OF'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_ORDER() {
- try {
- parse("CREATE TABLE ORDER (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'ORDER'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_OUT() {
- try {
- parse("CREATE TABLE OUT (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert.assertEquals("Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'OUT'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_OUTER() {
- try {
- parse("CREATE TABLE OUTER (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'OUTER'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_PARTITION() {
- try {
- parse("CREATE TABLE PARTITION (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'PARTITION'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_PERCENT() {
- try {
- parse("CREATE TABLE PERCENT (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'PERCENT'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_PROCEDURE() {
- try {
- parse("CREATE TABLE PROCEDURE (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'PROCEDURE'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_RANGE() {
- try {
- parse("CREATE TABLE RANGE (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'RANGE'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_READS() {
- try {
- parse("CREATE TABLE READS (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'READS'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_REVOKE() {
- try {
- parse("CREATE TABLE REVOKE (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'REVOKE'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_RIGHT() {
- try {
- parse("CREATE TABLE RIGHT (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'RIGHT'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_ROLLUP() {
- try {
- parse("CREATE TABLE ROLLUP (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'ROLLUP'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_ROW() {
- try {
- parse("CREATE TABLE ROW (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert.assertEquals("Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'ROW'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_ROWS() {
- try {
- parse("CREATE TABLE ROWS (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'ROWS'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_SET() {
- try {
- parse("CREATE TABLE SET (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert.assertEquals("Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'SET'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_SMALLINT() {
- try {
- parse("CREATE TABLE SMALLINT (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'SMALLINT'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_TABLE() {
- try {
- parse("CREATE TABLE TABLE (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'TABLE'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_TIMESTAMP() {
- try {
- parse("CREATE TABLE TIMESTAMP (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'TIMESTAMP'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_TO() {
- try {
- parse("CREATE TABLE TO (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert.assertEquals("Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'TO'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_TRIGGER() {
- try {
- parse("CREATE TABLE TRIGGER (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'TRIGGER'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_TRUE() {
- try {
- parse("CREATE TABLE TRUE (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'TRUE'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_TRUNCATE() {
- try {
- parse("CREATE TABLE TRUNCATE (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'TRUNCATE'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_UNION() {
- try {
- parse("CREATE TABLE UNION (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'UNION'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_UPDATE() {
- try {
- parse("CREATE TABLE UPDATE (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'UPDATE'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_USER() {
- try {
- parse("CREATE TABLE USER (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'USER'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_USING() {
- try {
- parse("CREATE TABLE USING (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'USING'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_VALUES() {
- try {
- parse("CREATE TABLE VALUES (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'VALUES'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_WITH() {
- try {
- parse("CREATE TABLE WITH (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'WITH'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- // MySQL reserved keywords.
- @Test
- public void testSQL11ReservedKeyWords_RLIKE() {
- try {
- parse("CREATE TABLE RLIKE (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'RLIKE'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
-
- @Test
- public void testSQL11ReservedKeyWords_REGEXP() {
- try {
- parse("CREATE TABLE REGEXP (col STRING)");
- Assert.assertFalse("Expected ParseException", true);
- } catch (ParseException ex) {
- Assert
- .assertEquals(
- "Failure didn't match.",
- "line 1:13 Failed to recognize predicate 'REGEXP'. Failed rule: 'identifier' in table name",
- ex.getMessage());
- }
- }
+ private static HiveConf conf;
+
+ private ParseDriver pd;
+
+ @BeforeClass
+ public static void initialize() {
+ conf = new HiveConf(SemanticAnalyzer.class);
+ SessionState.start(conf);
+ }
+
+ @Before
+ public void setup() throws SemanticException, IOException {
+ pd = new ParseDriver();
+ }
+
+ ASTNode parse(String query) throws ParseException {
+ ASTNode nd = null;
+ try {
+ nd = pd.parse(query, new Context(conf));
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return (ASTNode) nd.getChild(0);
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_ALL() {
+ try {
+ parse("CREATE TABLE ALL (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'ALL' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_ALTER() {
+ try {
+ parse("CREATE TABLE ALTER (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'ALTER' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_ARRAY() {
+ try {
+ parse("CREATE TABLE ARRAY (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'ARRAY' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_AS() {
+ try {
+ parse("CREATE TABLE AS (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'AS' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_AUTHORIZATION() {
+ try {
+ parse("CREATE TABLE AUTHORIZATION (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'AUTHORIZATION' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_BETWEEN() {
+ try {
+ parse("CREATE TABLE BETWEEN (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'BETWEEN' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_BIGINT() {
+ try {
+ parse("CREATE TABLE BIGINT (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'BIGINT' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_BINARY() {
+ try {
+ parse("CREATE TABLE BINARY (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'BINARY' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_BOOLEAN() {
+ try {
+ parse("CREATE TABLE BOOLEAN (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'BOOLEAN' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_BOTH() {
+ try {
+ parse("CREATE TABLE BOTH (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'BOTH' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_BY() {
+ try {
+ parse("CREATE TABLE BY (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'BY' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_CONSTRAINT() {
+ try {
+ parse("CREATE TABLE CONSTRAINT (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'CONSTRAINT' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_CREATE() {
+ try {
+ parse("CREATE TABLE CREATE (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'CREATE' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_CUBE() {
+ try {
+ parse("CREATE TABLE CUBE (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'CUBE' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_CURRENT_DATE() {
+ try {
+ parse("CREATE TABLE CURRENT_DATE (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'CURRENT_DATE' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_CURRENT_TIMESTAMP() {
+ try {
+ parse("CREATE TABLE CURRENT_TIMESTAMP (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'CURRENT_TIMESTAMP' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_CURSOR() {
+ try {
+ parse("CREATE TABLE CURSOR (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'CURSOR' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_DATE() {
+ try {
+ parse("CREATE TABLE DATE (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'DATE' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_DECIMAL() {
+ try {
+ parse("CREATE TABLE DECIMAL (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'DECIMAL' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_DELETE() {
+ try {
+ parse("CREATE TABLE DELETE (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'DELETE' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_DESCRIBE() {
+ try {
+ parse("CREATE TABLE DESCRIBE (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'DESCRIBE' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_DOUBLE() {
+ try {
+ parse("CREATE TABLE DOUBLE (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'DOUBLE' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_DROP() {
+ try {
+ parse("CREATE TABLE DROP (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'DROP' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_EXISTS() {
+ try {
+ parse("CREATE TABLE EXISTS (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'EXISTS' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_EXTERNAL() {
+ try {
+ parse("CREATE TABLE EXTERNAL (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'EXTERNAL' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_FALSE() {
+ try {
+ parse("CREATE TABLE FALSE (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'FALSE' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_FETCH() {
+ try {
+ parse("CREATE TABLE FETCH (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'FETCH' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_FLOAT() {
+ try {
+ parse("CREATE TABLE FLOAT (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'FLOAT' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_FOR() {
+ try {
+ parse("CREATE TABLE FOR (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'FOR' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_FOREIGN() {
+ try {
+ parse("CREATE TABLE FOREIGN (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'FOREIGN' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_FULL() {
+ try {
+ parse("CREATE TABLE FULL (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'FULL' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_GRANT() {
+ try {
+ parse("CREATE TABLE GRANT (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'GRANT' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_GROUP() {
+ try {
+ parse("CREATE TABLE GROUP (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'GROUP' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_GROUPING() {
+ try {
+ parse("CREATE TABLE GROUPING (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'GROUPING' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_IMPORT() {
+ try {
+ parse("CREATE TABLE IMPORT (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'IMPORT' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_IN() {
+ try {
+ parse("CREATE TABLE IN (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'IN' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_INNER() {
+ try {
+ parse("CREATE TABLE INNER (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'INNER' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_INSERT() {
+ try {
+ parse("CREATE TABLE INSERT (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'INSERT' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_INT() {
+ try {
+ parse("CREATE TABLE INT (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'INT' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_INTERSECT() {
+ try {
+ parse("CREATE TABLE INTERSECT (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'INTERSECT' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_INTO() {
+ try {
+ parse("CREATE TABLE INTO (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'INTO' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_IS() {
+ try {
+ parse("CREATE TABLE IS (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'IS' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_LATERAL() {
+ try {
+ parse("CREATE TABLE LATERAL (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'LATERAL' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_LEFT() {
+ try {
+ parse("CREATE TABLE LEFT (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'LEFT' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_LIKE() {
+ try {
+ parse("CREATE TABLE LIKE (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'LIKE' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_LOCAL() {
+ try {
+ parse("CREATE TABLE LOCAL (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'LOCAL' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_NONE() {
+ try {
+ parse("CREATE TABLE NONE (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'NONE' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_NULL() {
+ try {
+ parse("CREATE TABLE NULL (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'NULL' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_OF() {
+ try {
+ parse("CREATE TABLE OF (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'OF' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_ORDER() {
+ try {
+ parse("CREATE TABLE ORDER (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'ORDER' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_OUT() {
+ try {
+ parse("CREATE TABLE OUT (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'OUT' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_OUTER() {
+ try {
+ parse("CREATE TABLE OUTER (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'OUTER' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_PARTITION() {
+ try {
+ parse("CREATE TABLE PARTITION (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'PARTITION' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_PERCENT() {
+ try {
+ parse("CREATE TABLE PERCENT (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'PERCENT' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_PRECISION() {
+ try {
+ parse("CREATE TABLE PRECISION (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'PRECISION' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_PRIMARY() {
+ try {
+ parse("CREATE TABLE PRIMARY (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'PRIMARY' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_PROCEDURE() {
+ try {
+ parse("CREATE TABLE PROCEDURE (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'PROCEDURE' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_RANGE() {
+ try {
+ parse("CREATE TABLE RANGE (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'RANGE' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_READS() {
+ try {
+ parse("CREATE TABLE READS (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'READS' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_REFERENCES() {
+ try {
+ parse("CREATE TABLE REFERENCES (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'REFERENCES' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_REGEXP() {
+ try {
+ parse("CREATE TABLE REGEXP (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'REGEXP' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_REVOKE() {
+ try {
+ parse("CREATE TABLE REVOKE (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'REVOKE' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_RIGHT() {
+ try {
+ parse("CREATE TABLE RIGHT (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'RIGHT' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_RLIKE() {
+ try {
+ parse("CREATE TABLE RLIKE (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'RLIKE' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_ROLLUP() {
+ try {
+ parse("CREATE TABLE ROLLUP (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'ROLLUP' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_ROW() {
+ try {
+ parse("CREATE TABLE ROW (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'ROW' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_ROWS() {
+ try {
+ parse("CREATE TABLE ROWS (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'ROWS' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_SET() {
+ try {
+ parse("CREATE TABLE SET (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'SET' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_SMALLINT() {
+ try {
+ parse("CREATE TABLE SMALLINT (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'SMALLINT' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_TABLE() {
+ try {
+ parse("CREATE TABLE TABLE (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'TABLE' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_TIMESTAMP() {
+ try {
+ parse("CREATE TABLE TIMESTAMP (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'TIMESTAMP' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_TO() {
+ try {
+ parse("CREATE TABLE TO (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'TO' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_TRIGGER() {
+ try {
+ parse("CREATE TABLE TRIGGER (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'TRIGGER' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_TRUE() {
+ try {
+ parse("CREATE TABLE TRUE (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'TRUE' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_TRUNCATE() {
+ try {
+ parse("CREATE TABLE TRUNCATE (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'TRUNCATE' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_UNION() {
+ try {
+ parse("CREATE TABLE UNION (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'UNION' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_UPDATE() {
+ try {
+ parse("CREATE TABLE UPDATE (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'UPDATE' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_USER() {
+ try {
+ parse("CREATE TABLE USER (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'USER' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_USING() {
+ try {
+ parse("CREATE TABLE USING (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'USING' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_VALUES() {
+ try {
+ parse("CREATE TABLE VALUES (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'VALUES' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
+
+ @Test
+ public void testSQL11ReservedKeyWords_WITH() {
+ try {
+ parse("CREATE TABLE WITH (col STRING)");
+ Assert.assertFalse("Expected ParseException", true);
+ } catch (ParseException ex) {
+ Assert.assertEquals(
+ "Failure didn't match.",
+ "line 1:13 cannot recognize input near 'WITH' '(' 'col' in table name",
+ ex.getMessage());
+ }
+ }
}