Browse Source

HUE-8856 [autocomplete] Extract jison for Hive SELECT, SET, SHOW, UPDATE and USE

Johan Ahlen 6 years ago
parent
commit
04cf3dfe49

+ 8 - 18
desktop/core/src/desktop/js/parse/jison/hive/sql_alter.jison

@@ -123,7 +123,7 @@ AlterIndex_EDIT
  ;
  ;
 
 
 AlterTable
 AlterTable
- : AlterTableLeftSide 'ADD' OptionalIfNotExists PartitionSpec OptionalHdfsLocation OptionalPartitionSpecs OptionalImpalaCachedInOrUncached
+ : AlterTableLeftSide 'ADD' OptionalIfNotExists PartitionSpec OptionalHdfsLocation OptionalPartitionSpecs
  | AlterTableLeftSide 'ADD' 'CONSTRAINT' RegularOrBacktickedIdentifier PrimaryKeySpecification
  | AlterTableLeftSide 'ADD' 'CONSTRAINT' RegularOrBacktickedIdentifier PrimaryKeySpecification
  | AlterTableLeftSide 'ADD' 'CONSTRAINT' RegularOrBacktickedIdentifier ForeignKeySpecification
  | AlterTableLeftSide 'ADD' 'CONSTRAINT' RegularOrBacktickedIdentifier ForeignKeySpecification
  | AlterTableLeftSide 'RENAME' 'TO' RegularOrBackTickedSchemaQualifiedName
  | AlterTableLeftSide 'RENAME' 'TO' RegularOrBackTickedSchemaQualifiedName
@@ -146,7 +146,7 @@ AlterTable
 
 
 AlterTable_EDIT
 AlterTable_EDIT
  : AlterTableLeftSide_EDIT
  : AlterTableLeftSide_EDIT
- | AlterTableLeftSide_EDIT 'ADD' OptionalIfNotExists PartitionSpec OptionalHdfsLocation OptionalPartitionSpecs OptionalImpalaCachedInOrUncached
+ | AlterTableLeftSide_EDIT 'ADD' OptionalIfNotExists PartitionSpec OptionalHdfsLocation OptionalPartitionSpecs
  | AlterTableLeftSide_EDIT 'RENAME' 'TO' RegularOrBackTickedSchemaQualifiedName
  | AlterTableLeftSide_EDIT 'RENAME' 'TO' RegularOrBackTickedSchemaQualifiedName
  | AlterTableLeftSide_EDIT ClusteredBy
  | AlterTableLeftSide_EDIT ClusteredBy
  | AlterTableLeftSide_EDIT 'SKEWED' 'BY' ParenthesizedColumnList 'ON' ParenthesizedSkewedValueList OptionalStoredAsDirectories
  | AlterTableLeftSide_EDIT 'SKEWED' 'BY' ParenthesizedColumnList 'ON' ParenthesizedSkewedValueList OptionalStoredAsDirectories
@@ -172,12 +172,11 @@ AlterTable_EDIT
      parser.suggestKeywords(['COLUMNS']);
      parser.suggestKeywords(['COLUMNS']);
    }
    }
  | AlterTableLeftSide 'ADD' OptionalIfNotExists_EDIT
  | AlterTableLeftSide 'ADD' OptionalIfNotExists_EDIT
- | AlterTableLeftSide 'ADD' OptionalIfNotExists PartitionSpec HdfsLocation_EDIT OptionalPartitionSpecs OptionalImpalaCachedInOrUncached
- | AlterTableLeftSide 'ADD' OptionalIfNotExists PartitionSpec OptionalHdfsLocation OptionalPartitionSpecs_EDIT OptionalImpalaCachedInOrUncached
- | AlterTableLeftSide 'ADD' OptionalIfNotExists PartitionSpec OptionalHdfsLocation OptionalPartitionSpecs CachedIn_EDIT
- | AlterTableLeftSide 'ADD' OptionalIfNotExists PartitionSpec OptionalHdfsLocation OptionalPartitionSpecs OptionalImpalaCachedInOrUncached 'CURSOR'
+ | AlterTableLeftSide 'ADD' OptionalIfNotExists PartitionSpec HdfsLocation_EDIT OptionalPartitionSpecs
+ | AlterTableLeftSide 'ADD' OptionalIfNotExists PartitionSpec OptionalHdfsLocation OptionalPartitionSpecs_EDIT
+ | AlterTableLeftSide 'ADD' OptionalIfNotExists PartitionSpec OptionalHdfsLocation OptionalPartitionSpecs 'CURSOR'
    {
    {
-     if (!$5 && !$6 && !$7) {
+     if (!$5 && !$6) {
        parser.suggestKeywords(['LOCATION', 'PARTITION']);
        parser.suggestKeywords(['LOCATION', 'PARTITION']);
      } else if ($6 && $6.suggestKeywords) {
      } else if ($6 && $6.suggestKeywords) {
        var keywords = parser.createWeightedKeywords($6.suggestKeywords, 2);
        var keywords = parser.createWeightedKeywords($6.suggestKeywords, 2);
@@ -187,7 +186,7 @@ AlterTable_EDIT
        parser.suggestKeywords(['PARTITION']);
        parser.suggestKeywords(['PARTITION']);
      }
      }
    }
    }
- | AlterTableLeftSide 'ADD' OptionalIfNotExists PartitionSpec_EDIT OptionalHdfsLocation OptionalPartitionSpecs OptionalCachedIn
+ | AlterTableLeftSide 'ADD' OptionalIfNotExists PartitionSpec_EDIT OptionalHdfsLocation OptionalPartitionSpecs
  | AlterTableLeftSide 'ADD' 'CONSTRAINT' 'CURSOR'
  | AlterTableLeftSide 'ADD' 'CONSTRAINT' 'CURSOR'
  | AlterTableLeftSide 'ADD' 'CONSTRAINT' RegularOrBacktickedIdentifier 'CURSOR'
  | AlterTableLeftSide 'ADD' 'CONSTRAINT' RegularOrBacktickedIdentifier 'CURSOR'
    {
    {
@@ -334,7 +333,6 @@ OptionalPartitionOperations
  | 'SET' 'TBLPROPERTIES' ParenthesizedPropertyAssignmentList
  | 'SET' 'TBLPROPERTIES' ParenthesizedPropertyAssignmentList
  | 'SET' 'SERDE' QuotedValue OptionalWithSerdeproperties
  | 'SET' 'SERDE' QuotedValue OptionalWithSerdeproperties
  | 'SET' 'SERDEPROPERTIES' ParenthesizedPropertyAssignmentList
  | 'SET' 'SERDEPROPERTIES' ParenthesizedPropertyAssignmentList
- | 'SET' CachedIn OptionalWithReplication
  | AddReplaceColumns
  | AddReplaceColumns
  | 'CONCATENATE'
  | 'CONCATENATE'
  | 'COMPACT' QuotedValue OptionalAndWait OptionalWithOverwriteTblProperties
  | 'COMPACT' QuotedValue OptionalAndWait OptionalWithOverwriteTblProperties
@@ -397,14 +395,6 @@ OptionalPartitionOperations_EDIT
      parser.suggestFileFormats();
      parser.suggestFileFormats();
    }
    }
  | 'SET' HdfsLocation_EDIT
  | 'SET' HdfsLocation_EDIT
- | 'SET' CachedIn_EDIT
- | 'SET' CachedIn OptionalWithReplication 'CURSOR'
-   {
-     if (!$3) {
-       parser.suggestKeywords(['WITH REPLICATION =']);
-     }
-   }
- | 'SET' CachedIn WithReplication_EDIT
  | 'SET' 'SERDE' QuotedValue OptionalWithSerdeproperties 'CURSOR'
  | 'SET' 'SERDE' QuotedValue OptionalWithSerdeproperties 'CURSOR'
    {
    {
      if (!$4) {
      if (!$4) {
@@ -432,7 +422,7 @@ OptionalWithOverwriteTblProperties
  ;
  ;
 
 
 WithOverwriteTblProperties_EDIT
 WithOverwriteTblProperties_EDIT
- : AnyWith 'CURSOR'
+ : 'WITH' 'CURSOR'
    {
    {
      parser.suggestKeywords(['OVERWRITE TBLPROPERTIES']);
      parser.suggestKeywords(['OVERWRITE TBLPROPERTIES']);
    }
    }

+ 14 - 19
desktop/core/src/desktop/js/parse/jison/hive/sql_create.jison

@@ -833,11 +833,11 @@ OptionalStoredAs
  ;
  ;
 
 
 StoredAs
 StoredAs
- : 'STORED' AnyAs FileFormat
+ : 'STORED' 'AS' FileFormat
  ;
  ;
 
 
 StoredAs_EDIT
 StoredAs_EDIT
- : 'STORED' AnyAs 'CURSOR'
+ : 'STORED' 'AS' 'CURSOR'
    {
    {
      parser.suggestFileFormats();
      parser.suggestFileFormats();
    }
    }
@@ -1020,15 +1020,15 @@ TblProperties
 
 
 OptionalAsSelectStatement
 OptionalAsSelectStatement
  :
  :
- | AnyAs CommitLocations QuerySpecification
+ | 'AS' CommitLocations QuerySpecification
  ;
  ;
 
 
 OptionalAsSelectStatement_EDIT
 OptionalAsSelectStatement_EDIT
- : AnyAs CommitLocations 'CURSOR'
+ : 'AS' CommitLocations 'CURSOR'
    {
    {
      parser.suggestKeywords(['SELECT']);
      parser.suggestKeywords(['SELECT']);
    }
    }
- | AnyAs CommitLocations QuerySpecification_EDIT
+ | 'AS' CommitLocations QuerySpecification_EDIT
  ;
  ;
 
 
 CommitLocations
 CommitLocations
@@ -1039,26 +1039,26 @@ CommitLocations
  ;
  ;
 
 
 ViewDefinition
 ViewDefinition
- : 'CREATE' AnyView OptionalIfNotExists SchemaQualifiedIdentifier OptionalParenthesizedViewColumnList OptionalComment OptionalTblproperties AnyAs QuerySpecification
+ : 'CREATE' 'VIEW' OptionalIfNotExists SchemaQualifiedIdentifier OptionalParenthesizedViewColumnList OptionalComment OptionalTblproperties 'AS' QuerySpecification
  ;
  ;
 
 
 ViewDefinition_EDIT
 ViewDefinition_EDIT
- : 'CREATE' AnyView OptionalIfNotExists 'CURSOR'
+ : 'CREATE' 'VIEW' OptionalIfNotExists 'CURSOR'
    {
    {
      if (!$3) {
      if (!$3) {
        parser.suggestKeywords(['IF NOT EXISTS']);
        parser.suggestKeywords(['IF NOT EXISTS']);
      }
      }
      parser.suggestDatabases({ appendDot: true });
      parser.suggestDatabases({ appendDot: true });
    }
    }
- | 'CREATE' AnyView OptionalIfNotExists 'CURSOR' SchemaQualifiedIdentifier OptionalParenthesizedViewColumnList OptionalComment OptionalTblproperties AnyAs QuerySpecification
+ | 'CREATE' 'VIEW' OptionalIfNotExists 'CURSOR' SchemaQualifiedIdentifier OptionalParenthesizedViewColumnList OptionalComment OptionalTblproperties 'AS' QuerySpecification
    {
    {
      if (!$3) {
      if (!$3) {
        parser.suggestKeywords(['IF NOT EXISTS']);
        parser.suggestKeywords(['IF NOT EXISTS']);
      }
      }
    }
    }
- | 'CREATE' AnyView OptionalIfNotExists_EDIT
- | 'CREATE' AnyView OptionalIfNotExists SchemaQualifiedIdentifier ParenthesizedViewColumnList_EDIT OptionalComment OptionalTblproperties
- | 'CREATE' AnyView OptionalIfNotExists SchemaQualifiedIdentifier OptionalParenthesizedViewColumnList OptionalComment OptionalTblproperties 'CURSOR'
+ | 'CREATE' 'VIEW' OptionalIfNotExists_EDIT
+ | 'CREATE' 'VIEW' OptionalIfNotExists SchemaQualifiedIdentifier ParenthesizedViewColumnList_EDIT OptionalComment OptionalTblproperties
+ | 'CREATE' 'VIEW' OptionalIfNotExists SchemaQualifiedIdentifier OptionalParenthesizedViewColumnList OptionalComment OptionalTblproperties 'CURSOR'
    {
    {
      var keywords = [{value: 'AS', weight: 1 }];
      var keywords = [{value: 'AS', weight: 1 }];
      if (!$7) {
      if (!$7) {
@@ -1069,12 +1069,12 @@ ViewDefinition_EDIT
      }
      }
      parser.suggestKeywords(keywords);
      parser.suggestKeywords(keywords);
    }
    }
- | 'CREATE' AnyView OptionalIfNotExists SchemaQualifiedIdentifier OptionalParenthesizedViewColumnList OptionalComment OptionalTblproperties AnyAs 'CURSOR'
+ | 'CREATE' 'VIEW' OptionalIfNotExists SchemaQualifiedIdentifier OptionalParenthesizedViewColumnList OptionalComment OptionalTblproperties 'AS' 'CURSOR'
    {
    {
      parser.suggestKeywords(['SELECT']);
      parser.suggestKeywords(['SELECT']);
    }
    }
- | 'CREATE' AnyView OptionalIfNotExists SchemaQualifiedIdentifier OptionalParenthesizedViewColumnList OptionalComment OptionalTblproperties AnyAs QuerySpecification_EDIT
- | 'CREATE' AnyView OptionalIfNotExists SchemaQualifiedIdentifier_EDIT OptionalParenthesizedViewColumnList OptionalComment OptionalTblproperties AnyAs QuerySpecification
+ | 'CREATE' 'VIEW' OptionalIfNotExists SchemaQualifiedIdentifier OptionalParenthesizedViewColumnList OptionalComment OptionalTblproperties 'AS' QuerySpecification_EDIT
+ | 'CREATE' 'VIEW' OptionalIfNotExists SchemaQualifiedIdentifier_EDIT OptionalParenthesizedViewColumnList OptionalComment OptionalTblproperties 'AS' QuerySpecification
  ;
  ;
 
 
 FunctionDefinition
 FunctionDefinition
@@ -1158,11 +1158,6 @@ FunctionResourceType
  | 'JAR'
  | 'JAR'
  ;
  ;
 
 
-AnyView
- : 'VIEW'
- | 'VIEW'
- ;
-
 OptionalParenthesizedViewColumnList
 OptionalParenthesizedViewColumnList
  :
  :
  | ParenthesizedViewColumnList
  | ParenthesizedViewColumnList

+ 43 - 48
desktop/core/src/desktop/js/parse/jison/hive/sql_error.jison

@@ -27,16 +27,16 @@ SqlStatement_EDIT
  ;
  ;
 
 
 SelectStatement
 SelectStatement
- : 'SELECT' OptionalAllOrDistinct OptionalStraightJoin SelectList_ERROR TableExpression
- | 'SELECT' OptionalAllOrDistinct OptionalStraightJoin SelectList TableExpression_ERROR
+ : 'SELECT' OptionalAllOrDistinct SelectList_ERROR TableExpression
+ | 'SELECT' OptionalAllOrDistinct SelectList TableExpression_ERROR
  ;
  ;
 
 
 SelectStatement_EDIT
 SelectStatement_EDIT
- : 'SELECT' OptionalAllOrDistinct OptionalStraightJoin SelectList_ERROR_EDIT TableExpression
+ : 'SELECT' OptionalAllOrDistinct SelectList_ERROR_EDIT TableExpression
    {
    {
-     parser.selectListNoTableSuggest($4, $2);
+     parser.selectListNoTableSuggest($3, $2);
    }
    }
- | 'SELECT' OptionalAllOrDistinct OptionalStraightJoin SelectList_ERROR TableExpression_EDIT
+ | 'SELECT' OptionalAllOrDistinct SelectList_ERROR TableExpression_EDIT
  ;
  ;
 
 
 SelectList_ERROR
 SelectList_ERROR
@@ -97,76 +97,71 @@ JoinType_EDIT
  ;
  ;
 
 
 OptionalSelectConditions_EDIT
 OptionalSelectConditions_EDIT
- : WhereClause error 'CURSOR' OptionalGroupByClause OptionalHavingClause OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause OptionalOffsetClause
+ : WhereClause error 'CURSOR' OptionalGroupByClause OptionalHavingClause OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause
    {
    {
      $$ = {
      $$ = {
-       suggestKeywords: parser.getKeywordsForOptionalsLR([$4, $5, $6, $7, $8, $9, $10], [{ value: 'GROUP BY', weight: 8 }, { value: 'HAVING', weight: 7 }, { value: 'WINDOW', weight: 6 }, { value: 'ORDER BY', weight: 5 }, [{ value: 'CLUSTER BY', weight: 4 }, { value: 'DISTRIBUTE BY', weight: 4 }, { value: 'SORT BY', weight: 4 }], { value: 'LIMIT', weight: 3 }, { value: 'OFFSET', weight: 2 }], [true, true, true, true, true, true, parser.isImpala()]),
-       cursorAtEnd: !$4 && !$5 && !$6 && !$7 && !$8 && !$9 && !$10
+       suggestKeywords: parser.getKeywordsForOptionalsLR([$4, $5, $6, $7, $8, $9], [{ value: 'GROUP BY', weight: 8 }, { value: 'HAVING', weight: 7 }, { value: 'WINDOW', weight: 6 }, { value: 'ORDER BY', weight: 5 }, [{ value: 'CLUSTER BY', weight: 4 }, { value: 'DISTRIBUTE BY', weight: 4 }, { value: 'SORT BY', weight: 4 }], { value: 'LIMIT', weight: 3 }], [true, true, true, true, true, true]),
+       cursorAtEnd: !$4 && !$5 && !$6 && !$7 && !$8 && !$9
      };
      };
    }
    }
- | OptionalWhereClause OptionalGroupByClause HavingClause error 'CURSOR' OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause OptionalOffsetClause
+ | OptionalWhereClause OptionalGroupByClause HavingClause error 'CURSOR' OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause
    {
    {
      $$ = {
      $$ = {
-       suggestKeywords: parser.getKeywordsForOptionalsLR([$6, $7, $8, $9, $10], [{ value: 'WINDOW', weight: 6 }, { value: 'ORDER BY', weight: 5 }, [{ value: 'CLUSTER BY', weight: 4 }, { value: 'DISTRIBUTE BY', weight: 4 }, { value: 'SORT BY', weight: 4 }], { value: 'LIMIT', weight: 3 }, { value: 'OFFSET', weight: 2 }], [true, true, true, true, parser.isImpala()]),
-       cursorAtEnd: !$6 && !$7 && !$8 && !$9 && !$10
+       suggestKeywords: parser.getKeywordsForOptionalsLR([$6, $7, $8, $9], [{ value: 'WINDOW', weight: 6 }, { value: 'ORDER BY', weight: 5 }, [{ value: 'CLUSTER BY', weight: 4 }, { value: 'DISTRIBUTE BY', weight: 4 }, { value: 'SORT BY', weight: 4 }], { value: 'LIMIT', weight: 3 }], [true, true, true, true]),
+       cursorAtEnd: !$6 && !$7 && !$8 && !$9
      }
      }
    }
    }
- | OptionalWhereClause OptionalGroupByClause OptionalHavingClause WindowClause error 'CURSOR' OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause OptionalOffsetClause
+ | OptionalWhereClause OptionalGroupByClause OptionalHavingClause WindowClause error 'CURSOR' OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause
    {
    {
      $$ = {
      $$ = {
-       suggestKeywords: parser.getKeywordsForOptionalsLR([$7, $8, $9, $10], [{ value: 'ORDER BY', weight: 5 }, [{ value: 'CLUSTER BY', weight: 4 }, { value: 'DISTRIBUTE BY', weight: 4 }, { value: 'SORT BY', weight: 4 }], { value: 'LIMIT', weight: 3 }, { value: 'OFFSET', weight: 2 }], [true, true, true, parser.isImpala()]),
-       cursorAtEnd: !$7 && !$8 && !$9 && !$10
+       suggestKeywords: parser.getKeywordsForOptionalsLR([$7, $8, $9], [{ value: 'ORDER BY', weight: 5 }, [{ value: 'CLUSTER BY', weight: 4 }, { value: 'DISTRIBUTE BY', weight: 4 }, { value: 'SORT BY', weight: 4 }], { value: 'LIMIT', weight: 3 }], [true, true, true]),
+       cursorAtEnd: !$7 && !$8 && !$9
      }
      }
    }
    }
- | OptionalWhereClause OptionalGroupByClause OptionalHavingClause OptionalWindowClause OrderByClause error 'CURSOR' OptionalClusterOrDistributeBy OptionalLimitClause OptionalOffsetClause
+ | OptionalWhereClause OptionalGroupByClause OptionalHavingClause OptionalWindowClause OrderByClause error 'CURSOR' OptionalClusterOrDistributeBy OptionalLimitClause
    {
    {
      $$ = {
      $$ = {
-       suggestKeywords: parser.getKeywordsForOptionalsLR([$8, $9, $10], [[{ value: 'CLUSTER BY', weight: 4 }, { value: 'DISTRIBUTE BY', weight: 4 }, { value: 'SORT BY', weight: 4 }], { value: 'LIMIT', weight: 3 }, { value: 'OFFSET', weight: 2 }], [true, true, parser.isImpala()]),
-       cursorAtEnd: !$8 && !$9 && !$10
+       suggestKeywords: parser.getKeywordsForOptionalsLR([$8, $9], [[{ value: 'CLUSTER BY', weight: 4 }, { value: 'DISTRIBUTE BY', weight: 4 }, { value: 'SORT BY', weight: 4 }], { value: 'LIMIT', weight: 3 }], [true, true]),
+       cursorAtEnd: !$8 && !$9
      }
      }
    }
    }
- | OptionalWhereClause OptionalGroupByClause OptionalHavingClause OptionalWindowClause OptionalOrderByClause ClusterOrDistributeBy error 'CURSOR' OptionalLimitClause OptionalOffsetClause
+ | OptionalWhereClause OptionalGroupByClause OptionalHavingClause OptionalWindowClause OptionalOrderByClause ClusterOrDistributeBy error 'CURSOR' OptionalLimitClause
    {
    {
      $$ = {
      $$ = {
-       suggestKeywords: parser.getKeywordsForOptionalsLR([$9, $10], [{ value: 'LIMIT', weight: 3 }, { value: 'OFFSET', weight: 2 }], [true, parser.isImpala()]),
-       cursorAtEnd: !$9 && !$10
+       suggestKeywords: parser.getKeywordsForOptionalsLR([$9], [{ value: 'LIMIT', weight: 3 }], [true]),
+       cursorAtEnd: !$9
      }
      }
    }
    }
- | OptionalWhereClause OptionalGroupByClause OptionalHavingClause OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy LimitClause error 'CURSOR' OptionalOffsetClause
+ | OptionalWhereClause OptionalGroupByClause OptionalHavingClause OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy LimitClause error 'CURSOR'
    {
    {
      $$ = {
      $$ = {
-       suggestKeywords: parser.getKeywordsForOptionalsLR([$10], [{ value: 'OFFSET', weight: 2 }], [parser.isImpala()]),
-       cursorAtEnd: !$10
+       suggestKeywords: [],
+       cursorAtEnd: true
      }
      }
    }
    }
  ;
  ;
 
 
 OptionalSelectConditions_EDIT
 OptionalSelectConditions_EDIT
- : WhereClause error GroupByClause_EDIT OptionalHavingClause OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause OptionalOffsetClause
- | WhereClause error OptionalGroupByClause HavingClause_EDIT OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause OptionalOffsetClause
- | WhereClause error OptionalGroupByClause OptionalHavingClause WindowClause_EDIT OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause OptionalOffsetClause
- | WhereClause error OptionalGroupByClause OptionalHavingClause OptionalWindowClause OrderByClause_EDIT OptionalClusterOrDistributeBy OptionalLimitClause OptionalOffsetClause
- | WhereClause error OptionalGroupByClause OptionalHavingClause OptionalWindowClause OptionalOrderByClause ClusterOrDistributeBy_EDIT OptionalLimitClause OptionalOffsetClause
- | WhereClause error OptionalGroupByClause OptionalHavingClause OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy LimitClause_EDIT OptionalOffsetClause
- | WhereClause error OptionalGroupByClause OptionalHavingClause OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause OffsetClause_EDIT
- | OptionalWhereClause GroupByClause error HavingClause_EDIT OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause OptionalOffsetClause
- | OptionalWhereClause GroupByClause error OptionalHavingClause WindowClause_EDIT OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause OptionalOffsetClause
- | OptionalWhereClause GroupByClause error OptionalHavingClause OptionalWindowClause OrderByClause_EDIT OptionalClusterOrDistributeBy OptionalLimitClause OptionalOffsetClause
- | OptionalWhereClause GroupByClause error OptionalHavingClause OptionalWindowClause OptionalOrderByClause ClusterOrDistributeBy_EDIT OptionalLimitClause OptionalOffsetClause
- | OptionalWhereClause GroupByClause error OptionalHavingClause OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy LimitClause_EDIT OptionalOffsetClause
- | OptionalWhereClause GroupByClause error OptionalHavingClause OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause OffsetClause_EDIT
- | OptionalWhereClause OptionalGroupByClause HavingClause error WindowClause_EDIT OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause OptionalOffsetClause
- | OptionalWhereClause OptionalGroupByClause HavingClause error OptionalWindowClause OrderByClause_EDIT OptionalClusterOrDistributeBy OptionalLimitClause OptionalOffsetClause
- | OptionalWhereClause OptionalGroupByClause HavingClause error OptionalWindowClause OptionalOrderByClause ClusterOrDistributeBy_EDIT OptionalLimitClause OptionalOffsetClause
- | OptionalWhereClause OptionalGroupByClause HavingClause error OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy LimitClause_EDIT OptionalOffsetClause
- | OptionalWhereClause OptionalGroupByClause HavingClause error OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause OffsetClause_EDIT
- | OptionalWhereClause OptionalGroupByClause OptionalHavingClause WindowClause error OrderByClause_EDIT OptionalClusterOrDistributeBy OptionalLimitClause OptionalOffsetClause
- | OptionalWhereClause OptionalGroupByClause OptionalHavingClause WindowClause error OptionalOrderByClause ClusterOrDistributeBy_EDIT OptionalLimitClause OptionalOffsetClause
- | OptionalWhereClause OptionalGroupByClause OptionalHavingClause WindowClause error OptionalOrderByClause OptionalClusterOrDistributeBy LimitClause_EDIT OptionalOffsetClause
- | OptionalWhereClause OptionalGroupByClause OptionalHavingClause WindowClause error OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause OffsetClause_EDIT
- | OptionalWhereClause OptionalGroupByClause OptionalHavingClause OptionalWindowClause OrderByClause error ClusterOrDistributeBy_EDIT OptionalLimitClause OptionalOffsetClause
- | OptionalWhereClause OptionalGroupByClause OptionalHavingClause OptionalWindowClause OrderByClause error OptionalClusterOrDistributeBy LimitClause_EDIT OptionalOffsetClause
- | OptionalWhereClause OptionalGroupByClause OptionalHavingClause OptionalWindowClause OrderByClause error OptionalClusterOrDistributeBy OptionalLimitClause OffsetClause_EDIT
+ : WhereClause error GroupByClause_EDIT OptionalHavingClause OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause
+ | WhereClause error OptionalGroupByClause HavingClause_EDIT OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause
+ | WhereClause error OptionalGroupByClause OptionalHavingClause WindowClause_EDIT OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause
+ | WhereClause error OptionalGroupByClause OptionalHavingClause OptionalWindowClause OrderByClause_EDIT OptionalClusterOrDistributeBy OptionalLimitClause
+ | WhereClause error OptionalGroupByClause OptionalHavingClause OptionalWindowClause OptionalOrderByClause ClusterOrDistributeBy_EDIT OptionalLimitClause
+ | WhereClause error OptionalGroupByClause OptionalHavingClause OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy LimitClause_EDIT
+ | OptionalWhereClause GroupByClause error HavingClause_EDIT OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause
+ | OptionalWhereClause GroupByClause error OptionalHavingClause WindowClause_EDIT OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause
+ | OptionalWhereClause GroupByClause error OptionalHavingClause OptionalWindowClause OrderByClause_EDIT OptionalClusterOrDistributeBy OptionalLimitClause
+ | OptionalWhereClause GroupByClause error OptionalHavingClause OptionalWindowClause OptionalOrderByClause ClusterOrDistributeBy_EDIT OptionalLimitClause
+ | OptionalWhereClause GroupByClause error OptionalHavingClause OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy LimitClause_EDIT
+ | OptionalWhereClause OptionalGroupByClause HavingClause error WindowClause_EDIT OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause
+ | OptionalWhereClause OptionalGroupByClause HavingClause error OptionalWindowClause OrderByClause_EDIT OptionalClusterOrDistributeBy OptionalLimitClause
+ | OptionalWhereClause OptionalGroupByClause HavingClause error OptionalWindowClause OptionalOrderByClause ClusterOrDistributeBy_EDIT OptionalLimitClause
+ | OptionalWhereClause OptionalGroupByClause HavingClause error OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy LimitClause_EDIT
+ | OptionalWhereClause OptionalGroupByClause OptionalHavingClause WindowClause error OrderByClause_EDIT OptionalClusterOrDistributeBy OptionalLimitClause
+ | OptionalWhereClause OptionalGroupByClause OptionalHavingClause WindowClause error OptionalOrderByClause ClusterOrDistributeBy_EDIT OptionalLimitClause
+ | OptionalWhereClause OptionalGroupByClause OptionalHavingClause WindowClause error OptionalOrderByClause OptionalClusterOrDistributeBy LimitClause_EDIT
+ | OptionalWhereClause OptionalGroupByClause OptionalHavingClause OptionalWindowClause OrderByClause error ClusterOrDistributeBy_EDIT OptionalLimitClause
+ | OptionalWhereClause OptionalGroupByClause OptionalHavingClause OptionalWindowClause OrderByClause error OptionalClusterOrDistributeBy LimitClause_EDIT
  ;
  ;
 
 
 DatabaseDefinition_EDIT
 DatabaseDefinition_EDIT

+ 1 - 1
desktop/core/src/desktop/js/parse/jison/hive/sql_grant.jison

@@ -222,7 +222,7 @@ OptionalWithGrantOption
  ;
  ;
 
 
 WithGrantOption_EDIT
 WithGrantOption_EDIT
- : AnyWith 'CURSOR'
+ : 'WITH' 'CURSOR'
    {
    {
      parser.suggestKeywords(['GRANT OPTION']);
      parser.suggestKeywords(['GRANT OPTION']);
    }
    }

+ 7 - 7
desktop/core/src/desktop/js/parse/jison/hive/sql_insert.jison

@@ -321,27 +321,27 @@ OptionalInsertRowFormat_EDIT
  ;
  ;
 
 
 SelectWithoutTableExpression
 SelectWithoutTableExpression
- : 'SELECT' OptionalAllOrDistinct OptionalStraightJoin SelectList  -> { selectList: $4 }
+ : 'SELECT' OptionalAllOrDistinct SelectList  -> { selectList: $3 }
  ;
  ;
 
 
 SelectWithoutTableExpression_EDIT
 SelectWithoutTableExpression_EDIT
- : 'SELECT' OptionalAllOrDistinct OptionalStraightJoin SelectList 'CURSOR'
+ : 'SELECT' OptionalAllOrDistinct SelectList 'CURSOR'
    {
    {
-     $$ = $4;
+     $$ = $3;
      $$.cursorAtEnd = true;
      $$.cursorAtEnd = true;
    }
    }
- | 'SELECT' OptionalAllOrDistinct OptionalStraightJoin SelectList_EDIT
+ | 'SELECT' OptionalAllOrDistinct SelectList_EDIT
    {
    {
-     parser.selectListNoTableSuggest($4, $2);
+     parser.selectListNoTableSuggest($3, $2);
    }
    }
- | 'SELECT' OptionalAllOrDistinct OptionalStraightJoin 'CURSOR'
+ | 'SELECT' OptionalAllOrDistinct 'CURSOR'
    {
    {
      var keywords = parser.getSelectListKeywords();
      var keywords = parser.getSelectListKeywords();
      if (!$2 || $2 === 'ALL') {
      if (!$2 || $2 === 'ALL') {
        parser.suggestAggregateFunctions();
        parser.suggestAggregateFunctions();
        parser.suggestAnalyticFunctions();
        parser.suggestAnalyticFunctions();
      }
      }
-     if (!$3 && !$2) {
+     if (!$2) {
        keywords.push({ value: 'ALL', weight: 2 });
        keywords.push({ value: 'ALL', weight: 2 });
        keywords.push({ value: 'DISTINCT', weight: 2 });
        keywords.push({ value: 'DISTINCT', weight: 2 });
      }
      }

File diff suppressed because it is too large
+ 271 - 598
desktop/core/src/desktop/js/parse/jison/hive/sql_main.jison


+ 7 - 12
desktop/core/src/desktop/js/parse/jison/hive/sql_set.jison

@@ -24,12 +24,7 @@ DataDefinition_EDIT
  | 'SET' 'CURSOR'
  | 'SET' 'CURSOR'
    {
    {
      parser.suggestSetOptions();
      parser.suggestSetOptions();
-     if (parser.isHive()) {
-       parser.suggestKeywords(['ROLE']);
-     }
-     if (parser.isImpala()) {
-       parser.suggestKeywords(['ALL']);
-     }
+     parser.suggestKeywords(['ROLE']);
    }
    }
  ;
  ;
 
 
@@ -40,7 +35,7 @@ SetSpecification
 
 
 SetOption
 SetOption
  : RegularIdentifier
  : RegularIdentifier
- | SetOption AnyDot RegularIdentifier
+ | SetOption '.' RegularIdentifier
  ;
  ;
 
 
 SetValue
 SetValue
@@ -54,14 +49,14 @@ SetValue
  ;
  ;
 
 
 SetRoleStatement
 SetRoleStatement
- : 'SET' '<hive>ROLE' RegularIdentifier
- | 'SET' '<hive>ROLE' '<hive>ALL'
- | 'SET' '<hive>ROLE' '<hive>NONE'
+ : 'SET' 'ROLE' RegularIdentifier
+ | 'SET' 'ROLE' 'ALL'
+ | 'SET' 'ROLE' 'NONE'
  ;
  ;
 
 
 SetRoleStatement_EDIT
 SetRoleStatement_EDIT
- : 'SET' '<hive>ROLE' 'CURSOR'
+ : 'SET' 'ROLE' 'CURSOR'
    {
    {
      parser.suggestKeywords(['ALL', 'NONE']);
      parser.suggestKeywords(['ALL', 'NONE']);
    }
    }
- ;
+ ;

+ 116 - 340
desktop/core/src/desktop/js/parse/jison/hive/sql_show.jison

@@ -23,373 +23,205 @@ DataDefinition_EDIT
  ;
  ;
 
 
 ShowStatement
 ShowStatement
- : ShowColumnStatsStatement
- | ShowColumnsStatement
+ : ShowColumnsStatement
  | ShowCompactionsStatement
  | ShowCompactionsStatement
  | ShowConfStatement
  | ShowConfStatement
  | ShowCreateTableStatement
  | ShowCreateTableStatement
  | ShowCurrentRolesStatement
  | ShowCurrentRolesStatement
  | ShowDatabasesStatement
  | ShowDatabasesStatement
- | ShowFilesStatement
  | ShowFunctionsStatement
  | ShowFunctionsStatement
  | ShowGrantStatement
  | ShowGrantStatement
  | ShowIndexStatement
  | ShowIndexStatement
  | ShowLocksStatement
  | ShowLocksStatement
  | ShowPartitionsStatement
  | ShowPartitionsStatement
- | ShowRoleStatement
  | ShowRolesStatement
  | ShowRolesStatement
- | ShowTableStatement
+ | ShowRoleStatement
  | ShowTablesStatement
  | ShowTablesStatement
+ | ShowTableStatement
  | ShowTblPropertiesStatement
  | ShowTblPropertiesStatement
  | ShowTransactionsStatement
  | ShowTransactionsStatement
  | ShowViewsStatement
  | ShowViewsStatement
  ;
  ;
 
 
-AnyShow
+'SHOW'
  : 'SHOW'
  : 'SHOW'
- | '<hive>SHOW'
+ | 'SHOW'
  ;
  ;
 
 
 ShowStatement_EDIT
 ShowStatement_EDIT
- : AnyShow 'CURSOR'
+ : 'SHOW' 'CURSOR'
    {
    {
-     if (parser.isHive()) {
-       parser.suggestKeywords(['COLUMNS', 'COMPACTIONS', 'CONF', 'CREATE TABLE', 'CURRENT ROLES', 'DATABASES', 'FORMATTED', 'FUNCTIONS', 'GRANT', 'INDEX', 'INDEXES', 'LOCKS', 'PARTITIONS', 'PRINCIPALS', 'ROLE GRANT', 'ROLES', 'SCHEMAS', 'TABLE EXTENDED', 'TABLES', 'TBLPROPERTIES', 'TRANSACTIONS', 'VIEWS']);
-     } else if (parser.isImpala()) {
-       parser.suggestKeywords(['AGGREGATE FUNCTIONS', 'ANALYTIC FUNCTIONS', 'COLUMN STATS', 'CREATE TABLE', 'CURRENT ROLES', 'CREATE VIEW', 'DATABASES', 'FILES IN', 'FUNCTIONS', 'GRANT ROLE', 'GRANT USER', 'PARTITIONS', 'RANGE PARTITIONS', 'ROLE GRANT GROUP', 'ROLES', 'SCHEMAS', 'TABLE STATS', 'TABLES']);
-     } else {
-       parser.suggestKeywords(['COLUMNS', 'DATABASES', 'TABLES']);
-     }
+     parser.suggestKeywords(['COLUMNS', 'COMPACTIONS', 'CONF', 'CREATE TABLE', 'CURRENT ROLES', 'DATABASES', 'FORMATTED', 'FUNCTIONS', 'GRANT', 'INDEX', 'INDEXES', 'LOCKS', 'PARTITIONS', 'PRINCIPALS', 'ROLE GRANT', 'ROLES', 'SCHEMAS', 'TABLE EXTENDED', 'TABLES', 'TBLPROPERTIES', 'TRANSACTIONS', 'VIEWS']);
    }
    }
- | AnyShow 'CURSOR' RegularOrBackTickedSchemaQualifiedName
+ | 'SHOW' 'CURSOR' RegularOrBackTickedSchemaQualifiedName
    {
    {
      // ROLES is considered a non-reserved keywords so we can't match it in ShowCurrentRolesStatement_EDIT
      // ROLES is considered a non-reserved keywords so we can't match it in ShowCurrentRolesStatement_EDIT
-     if (!parser.isImpala() && $3.identifierChain && $3.identifierChain.length === 1 && $3.identifierChain[0].name.toLowerCase() === 'roles') {
+     if ($3.identifierChain && $3.identifierChain.length === 1 && $3.identifierChain[0].name.toLowerCase() === 'roles') {
        parser.suggestKeywords(['CURRENT']);
        parser.suggestKeywords(['CURRENT']);
        parser.yy.locations.pop();
        parser.yy.locations.pop();
      } else {
      } else {
        parser.addTablePrimary($3);
        parser.addTablePrimary($3);
-       if (parser.isImpala()) {
-         parser.suggestKeywords(['COLUMN STATS', 'CREATE TABLE', 'CREATE VIEW', 'FILES IN', 'PARTITIONS', 'RANGE PARTITIONS', 'TABLE STATS']);
-       }
      }
      }
    }
    }
- | AnyShow 'CURSOR' LIKE SingleQuotedValue
+ | 'SHOW' 'CURSOR' LIKE SingleQuotedValue
    {
    {
-     if (parser.isImpala()) {
-       parser.suggestKeywords(['AGGREGATE FUNCTIONS', 'ANALYTIC FUNCTIONS', 'DATABASES', 'FUNCTIONS', 'SCHEMAS', 'TABLES']);
-     } else if (parser.isHive()) {
-       parser.suggestKeywords(['DATABASES', 'SCHEMAS', 'TABLE EXTENDED']);
-     }
+     parser.suggestKeywords(['DATABASES', 'SCHEMAS', 'TABLE EXTENDED']);
    }
    }
- | ShowColumnStatsStatement_EDIT
  | ShowColumnsStatement_EDIT
  | ShowColumnsStatement_EDIT
  | ShowCreateTableStatement_EDIT
  | ShowCreateTableStatement_EDIT
  | ShowCurrentRolesStatement_EDIT
  | ShowCurrentRolesStatement_EDIT
  | ShowDatabasesStatement_EDIT
  | ShowDatabasesStatement_EDIT
- | ShowFilesStatement_EDIT
- | ShowFunctionsStatement_EDIT
  | ShowGrantStatement_EDIT
  | ShowGrantStatement_EDIT
  | ShowIndexStatement_EDIT
  | ShowIndexStatement_EDIT
  | ShowLocksStatement_EDIT
  | ShowLocksStatement_EDIT
  | ShowPartitionsStatement_EDIT
  | ShowPartitionsStatement_EDIT
  | ShowRoleStatement_EDIT
  | ShowRoleStatement_EDIT
- | ShowTableStatement_EDIT
  | ShowTablesStatement_EDIT
  | ShowTablesStatement_EDIT
+ | ShowTableStatement_EDIT
  | ShowTblPropertiesStatement_EDIT
  | ShowTblPropertiesStatement_EDIT
  | ShowViewsStatement_EDIT
  | ShowViewsStatement_EDIT
  ;
  ;
 
 
-ShowColumnStatsStatement
- : AnyShow '<impala>COLUMN' '<impala>STATS' RegularOrBackTickedSchemaQualifiedName
-   {
-     parser.addTablePrimary($4);
-   }
- ;
-
-ShowColumnStatsStatement_EDIT
- : AnyShow '<impala>COLUMN' 'CURSOR'
-   {
-     parser.suggestKeywords(['STATS']);
-   }
- | AnyShow '<impala>COLUMN' '<impala>STATS' 'CURSOR'
-   {
-     parser.suggestTables();
-     parser.suggestDatabases({
-       appendDot: true
-     });
-   }
- | AnyShow '<impala>COLUMN' '<impala>STATS' RegularOrBackTickedSchemaQualifiedName_EDIT
- ;
-
 ShowColumnsStatement
 ShowColumnsStatement
- : AnyShow '<hive>COLUMNS' AnyFromOrIn RegularOrBacktickedIdentifier
- | AnyShow '<hive>COLUMNS' AnyFromOrIn RegularOrBacktickedIdentifier AnyFromOrIn RegularOrBacktickedIdentifier
+ : 'SHOW' 'COLUMNS' FromOrIn RegularOrBacktickedIdentifier
+ | 'SHOW' 'COLUMNS' FromOrIn RegularOrBacktickedIdentifier FromOrIn RegularOrBacktickedIdentifier
  ;
  ;
 
 
 ShowColumnsStatement_EDIT
 ShowColumnsStatement_EDIT
- : AnyShow '<hive>COLUMNS' 'CURSOR'
+ : 'SHOW' 'COLUMNS' 'CURSOR'
    {
    {
      parser.suggestKeywords(['FROM', 'IN']);
      parser.suggestKeywords(['FROM', 'IN']);
    }
    }
- | AnyShow '<hive>COLUMNS' 'CURSOR' RegularOrBacktickedIdentifier
+ | 'SHOW' 'COLUMNS' 'CURSOR' RegularOrBacktickedIdentifier
    {
    {
      parser.suggestKeywords(['FROM', 'IN']);
      parser.suggestKeywords(['FROM', 'IN']);
    }
    }
- | AnyShow '<hive>COLUMNS' AnyFromOrIn 'CURSOR'
+ | 'SHOW' 'COLUMNS' FromOrIn 'CURSOR'
    {
    {
      parser.suggestTables();
      parser.suggestTables();
    }
    }
- | AnyShow '<hive>COLUMNS' AnyFromOrIn 'CURSOR' AnyFromOrIn
+ | 'SHOW' 'COLUMNS' FromOrIn 'CURSOR' FromOrIn
    {
    {
      parser.suggestTables();
      parser.suggestTables();
    }
    }
- | AnyShow '<hive>COLUMNS' AnyFromOrIn 'CURSOR' AnyFromOrIn RegularOrBacktickedIdentifier
+ | 'SHOW' 'COLUMNS' FromOrIn 'CURSOR' FromOrIn RegularOrBacktickedIdentifier
    {
    {
      parser.suggestTables();
      parser.suggestTables();
    }
    }
- | AnyShow '<hive>COLUMNS' AnyFromOrIn RegularOrBacktickedIdentifier 'CURSOR'
+ | 'SHOW' 'COLUMNS' FromOrIn RegularOrBacktickedIdentifier 'CURSOR'
    {
    {
      parser.suggestKeywords(['FROM', 'IN']);
      parser.suggestKeywords(['FROM', 'IN']);
    }
    }
- | AnyShow '<hive>COLUMNS' AnyFromOrIn RegularOrBacktickedIdentifier 'CURSOR' RegularOrBacktickedIdentifier
+ | 'SHOW' 'COLUMNS' FromOrIn RegularOrBacktickedIdentifier 'CURSOR' RegularOrBacktickedIdentifier
    {
    {
      parser.suggestKeywords(['FROM', 'IN']);
      parser.suggestKeywords(['FROM', 'IN']);
    }
    }
- | AnyShow '<hive>COLUMNS' AnyFromOrIn RegularOrBacktickedIdentifier AnyFromOrIn 'CURSOR'
+ | 'SHOW' 'COLUMNS' FromOrIn RegularOrBacktickedIdentifier FromOrIn 'CURSOR'
    {
    {
      parser.suggestDatabases();
      parser.suggestDatabases();
    }
    }
  ;
  ;
 
 
 ShowCompactionsStatement
 ShowCompactionsStatement
- : AnyShow '<hive>COMPACTIONS'
+ : 'SHOW' 'COMPACTIONS'
  ;
  ;
 
 
 ShowConfStatement
 ShowConfStatement
- : AnyShow '<hive>CONF' ConfigurationName
+ : 'SHOW' 'CONF' ConfigurationName
  ;
  ;
 
 
 ShowCreateTableStatement
 ShowCreateTableStatement
- : AnyShow HiveOrImpalaCreate AnyTableOrView RegularOrBackTickedSchemaQualifiedName
+ : 'SHOW' 'CREATE' TableOrView RegularOrBackTickedSchemaQualifiedName
    {
    {
      parser.addTablePrimary($4);
      parser.addTablePrimary($4);
    }
    }
  ;
  ;
 
 
 ShowCreateTableStatement_EDIT
 ShowCreateTableStatement_EDIT
- : AnyShow HiveOrImpalaCreate 'CURSOR'
+ : 'SHOW' 'CREATE' 'CURSOR'
    {
    {
-     if (parser.isImpala()) {
-       parser.suggestKeywords(['TABLE', 'VIEW']);
-     } else {
-       parser.suggestKeywords(['TABLE']);
-     }
+     parser.suggestKeywords(['TABLE']);
    }
    }
- | AnyShow HiveOrImpalaCreate AnyTableOrView 'CURSOR'
+ | 'SHOW' 'CREATE' TableOrView 'CURSOR'
    {
    {
-     if ($3.isView && parser.isImpala()) {
-       parser.suggestTables({ onlyViews: true });
-     } else {
-       parser.suggestTables();
-     }
+     parser.suggestTables();
      parser.suggestDatabases({
      parser.suggestDatabases({
        appendDot: true
        appendDot: true
      });
      });
    }
    }
- | AnyShow HiveOrImpalaCreate AnyTableOrView RegularOrBackTickedSchemaQualifiedName_EDIT
+ | 'SHOW' 'CREATE' TableOrView RegularOrBackTickedSchemaQualifiedName_EDIT
    {
    {
      if (parser.yy.result.suggestTables && $3.isView) {
      if (parser.yy.result.suggestTables && $3.isView) {
        parser.yy.result.suggestTables.onlyViews = true;
        parser.yy.result.suggestTables.onlyViews = true;
      }
      }
    }
    }
- | AnyShow HiveOrImpalaCreate 'CURSOR' RegularOrBackTickedSchemaQualifiedName
+ | 'SHOW' 'CREATE' 'CURSOR' RegularOrBackTickedSchemaQualifiedName
    {
    {
      parser.addTablePrimary($4);
      parser.addTablePrimary($4);
-     if (parser.isImpala()) {
-       parser.suggestKeywords(['TABLE', 'VIEW']);
-     } else {
-       parser.suggestKeywords(['TABLE']);
-     }
+     parser.suggestKeywords(['TABLE']);
    }
    }
  ;
  ;
 
 
-AnyTableOrView
+TableOrView
  : 'TABLE'
  : 'TABLE'
  | 'VIEW'   --> { isView: true }
  | 'VIEW'   --> { isView: true }
  ;
  ;
 
 
 ShowCurrentRolesStatement
 ShowCurrentRolesStatement
- : AnyShow '<hive>CURRENT' '<hive>ROLES'
- | AnyShow '<impala>CURRENT' '<impala>ROLES'
+ : 'SHOW' 'CURRENT' 'ROLES'
  ;
  ;
 
 
 ShowCurrentRolesStatement_EDIT
 ShowCurrentRolesStatement_EDIT
- : AnyShow '<hive>CURRENT' 'CURSOR'
-   {
-     parser.suggestKeywords([ 'ROLES' ]);
-   }
- | AnyShow '<impala>CURRENT' 'CURSOR'
+ : 'SHOW' 'CURRENT' 'CURSOR'
    {
    {
      parser.suggestKeywords([ 'ROLES' ]);
      parser.suggestKeywords([ 'ROLES' ]);
    }
    }
- | AnyShow 'CURSOR' '<impala>ROLES'
-   {
-     parser.suggestKeywords([ 'CURRENT' ]);
-   }
  ;
  ;
 
 
 ShowDatabasesStatement
 ShowDatabasesStatement
- : AnyShow HiveOrImpalaDatabasesOrSchemas 'LIKE' SingleQuotedValue
- | AnyShow '<impala>DATABASES' SingleQuotedValue
+ : 'SHOW' DatabasesOrSchemas 'LIKE' SingleQuotedValue
  ;
  ;
 
 
 ShowDatabasesStatement_EDIT
 ShowDatabasesStatement_EDIT
- : AnyShow HiveOrImpalaDatabasesOrSchemas 'CURSOR'
+ : 'SHOW' DatabasesOrSchemas 'CURSOR'
    {
    {
      parser.suggestKeywords(['LIKE']);
      parser.suggestKeywords(['LIKE']);
    }
    }
  ;
  ;
 
 
-ShowFilesStatement
- : AnyShow '<impala>FILES' 'IN' RegularOrBackTickedSchemaQualifiedName OptionalPartitionSpec
-   {
-     parser.addTablePrimary($4);
-   }
- ;
-
-ShowFilesStatement_EDIT
- : AnyShow '<impala>FILES' 'CURSOR'
-   {
-     parser.suggestKeywords(['IN']);
-   }
- | AnyShow '<impala>FILES' 'IN' 'CURSOR'
-   {
-     parser.suggestTables();
-     parser.suggestDatabases({
-       appendDot: true
-     });
-   }
- | AnyShow '<impala>FILES' 'IN' RegularOrBackTickedSchemaQualifiedName_EDIT OptionalPartitionSpec
- | AnyShow '<impala>FILES' 'IN' RegularOrBackTickedSchemaQualifiedName OptionalPartitionSpec 'CURSOR'
-   {
-     parser.addTablePrimary($4);
-     if (!$5) {
-       parser.suggestKeywords(['PARTITION']);
-     }
-   }
- | AnyShow '<impala>FILES' 'IN' RegularOrBackTickedSchemaQualifiedName OptionalPartitionSpec_EDIT
- | AnyShow '<impala>FILES' 'CURSOR' RegularOrBackTickedSchemaQualifiedName OptionalPartitionSpec
-   {
-     parser.addTablePrimary($4);
-     parser.suggestKeywords(['IN']);
-   }
- ;
-
 ShowFunctionsStatement
 ShowFunctionsStatement
- : AnyShow '<hive>FUNCTIONS'
- | AnyShow '<hive>FUNCTIONS' DoubleQuotedValue
- | AnyShow OptionalAggregateOrAnalytic '<impala>FUNCTIONS' OptionalInDatabase
- | AnyShow OptionalAggregateOrAnalytic '<impala>FUNCTIONS' OptionalInDatabase 'LIKE' QuotedValue
- ;
-
-ShowFunctionsStatement_EDIT
- : AnyShow AggregateOrAnalytic 'CURSOR'
-   {
-     parser.suggestKeywords(['FUNCTIONS']);
-   }
- | AnyShow 'CURSOR' '<impala>FUNCTIONS' OptionalInDatabase
-   {
-     parser.suggestKeywords(['AGGREGATE', 'ANALYTICAL']);
-   }
- | AnyShow OptionalAggregateOrAnalytic '<impala>FUNCTIONS' OptionalInDatabase 'CURSOR'
-   {
-     if (!$4) {
-       parser.suggestKeywords(['IN', 'LIKE']);
-     } else {
-       parser.suggestKeywords(['LIKE']);
-     }
-   }
- | AnyShow AggregateOrAnalytic 'CURSOR' OptionalInDatabase 'LIKE' QuotedValue
-   {
-     parser.suggestKeywords(['FUNCTIONS']);
-   }
- | AnyShow 'CURSOR' '<impala>FUNCTIONS' OptionalInDatabase 'LIKE' QuotedValue
-   {
-     parser.suggestKeywords(['AGGREGATE', 'ANALYTICAL']);
-   }
- | AnyShow OptionalAggregateOrAnalytic '<impala>FUNCTIONS' OptionalInDatabase 'CURSOR' QuotedValue
-   {
-     if (!$4) {
-       parser.suggestKeywords([{ value: 'IN', weight: 2 }, { value: 'LIKE', weight: 1 }]);
-     } else {
-       parser.suggestKeywords(['LIKE']);
-     }
-   }
+ : 'SHOW' 'FUNCTIONS'
+ | 'SHOW' 'FUNCTIONS' DoubleQuotedValue
  ;
  ;
 
 
 ShowGrantStatement
 ShowGrantStatement
- : AnyShow '<hive>GRANT' OptionalPrincipalName
- | AnyShow '<hive>GRANT' OptionalPrincipalName 'ON' '<hive>ALL'
- | AnyShow '<hive>GRANT' OptionalPrincipalName 'ON' SchemaQualifiedTableIdentifier
- | AnyShow '<hive>GRANT' OptionalPrincipalName 'ON' 'TABLE' SchemaQualifiedTableIdentifier
- | AnyShow '<impala>GRANT' ImpalaRoleOrUser RegularOrBacktickedIdentifier
- | AnyShow '<impala>GRANT' ImpalaRoleOrUser RegularOrBacktickedIdentifier 'ON' 'DATABASE' RegularOrBacktickedIdentifier
-   {
-     parser.addDatabaseLocation(@7, [ { name: $7 } ]);
-   }
- | AnyShow '<impala>GRANT' ImpalaRoleOrUser RegularOrBacktickedIdentifier 'ON' '<impala>SERVER'
- | AnyShow '<impala>GRANT' ImpalaRoleOrUser RegularOrBacktickedIdentifier 'ON' '<impala>TABLE' SchemaQualifiedTableIdentifier
- | AnyShow '<impala>GRANT' ImpalaRoleOrUser RegularOrBacktickedIdentifier 'ON' '<impala>URI' RegularOrBacktickedIdentifier
+ : 'SHOW' 'GRANT' OptionalPrincipalName
+ | 'SHOW' 'GRANT' OptionalPrincipalName 'ON' 'ALL'
+ | 'SHOW' 'GRANT' OptionalPrincipalName 'ON' SchemaQualifiedTableIdentifier
+ | 'SHOW' 'GRANT' OptionalPrincipalName 'ON' 'TABLE' SchemaQualifiedTableIdentifier
  ;
  ;
 
 
 ShowGrantStatement_EDIT
 ShowGrantStatement_EDIT
- : AnyShow '<hive>GRANT' OptionalPrincipalName_EDIT
+ : 'SHOW' 'GRANT' OptionalPrincipalName_EDIT
    {
    {
      parser.suggestKeywords(['ON']);
      parser.suggestKeywords(['ON']);
    }
    }
- | AnyShow '<hive>GRANT' OptionalPrincipalName_EDIT 'ON' '<hive>ALL'
- | AnyShow '<hive>GRANT' OptionalPrincipalName 'ON' 'CURSOR'
+ | 'SHOW' 'GRANT' OptionalPrincipalName_EDIT 'ON' 'ALL'
+ | 'SHOW' 'GRANT' OptionalPrincipalName 'ON' 'CURSOR'
    {
    {
      parser.suggestKeywords(['ALL', 'TABLE']);
      parser.suggestKeywords(['ALL', 'TABLE']);
      parser.suggestTables();
      parser.suggestTables();
    }
    }
- | AnyShow '<hive>GRANT' OptionalPrincipalName 'ON' SchemaQualifiedTableIdentifier_EDIT
- | AnyShow  '<hive>GRANT' OptionalPrincipalName 'ON' 'TABLE' 'CURSOR'
+ | 'SHOW' 'GRANT' OptionalPrincipalName 'ON' SchemaQualifiedTableIdentifier_EDIT
+ | 'SHOW'  'GRANT' OptionalPrincipalName 'ON' 'TABLE' 'CURSOR'
    {
    {
      parser.suggestTables();
      parser.suggestTables();
    }
    }
- | AnyShow '<hive>GRANT' OptionalPrincipalName 'ON' 'CURSOR' SchemaQualifiedTableIdentifier
+ | 'SHOW' 'GRANT' OptionalPrincipalName 'ON' 'CURSOR' SchemaQualifiedTableIdentifier
    {
    {
      parser.suggestKeywords(['TABLE']);
      parser.suggestKeywords(['TABLE']);
    }
    }
- | AnyShow '<hive>GRANT' OptionalPrincipalName 'ON' 'CURSOR' SchemaQualifiedTableIdentifier_EDIT
- | AnyShow '<impala>GRANT' 'CURSOR'
-   {
-     parser.suggestKeywords(['ROLE', 'USER']);
-   }
- | AnyShow '<impala>GRANT' ImpalaRoleOrUser 'CURSOR'
- | AnyShow '<impala>GRANT' ImpalaRoleOrUser RegularOrBacktickedIdentifier 'CURSOR'
-   {
-     parser.suggestKeywords(['ON DATABASE', 'ON SERVER', 'ON TABLE', 'ON URI']);
-   }
- | AnyShow '<impala>GRANT' ImpalaRoleOrUser RegularOrBacktickedIdentifier 'ON' 'CURSOR'
-   {
-     parser.suggestKeywords(['DATABASE', 'SERVER', 'TABLE', 'URI']);
-   }
- | AnyShow '<impala>GRANT' ImpalaRoleOrUser RegularOrBacktickedIdentifier 'ON' 'DATABASE' 'CURSOR'
-   {
-     parser.suggestDatabases();
-   }
- | AnyShow '<impala>GRANT' ImpalaRoleOrUser RegularOrBacktickedIdentifier 'ON' '<impala>TABLE' 'CURSOR'
-   {
-     parser.suggestDatabases({
-       appendDot: true
-     });
-     parser.suggestTables();
-   }
- | AnyShow '<impala>GRANT' ImpalaRoleOrUser RegularOrBacktickedIdentifier 'ON' '<impala>TABLE' SchemaQualifiedTableIdentifier_EDIT
- | AnyShow '<impala>GRANT' ImpalaRoleOrUser RegularOrBacktickedIdentifier 'ON' '<impala>URI' 'CURSOR'
+ | 'SHOW' 'GRANT' OptionalPrincipalName 'ON' 'CURSOR' SchemaQualifiedTableIdentifier_EDIT
  ;
  ;
 
 
 OptionalPrincipalName
 OptionalPrincipalName
@@ -403,67 +235,67 @@ OptionalPrincipalName_EDIT
  ;
  ;
 
 
 ShowIndexStatement
 ShowIndexStatement
- : AnyShow OptionallyFormattedIndex 'ON' RegularOrBacktickedIdentifier
- | AnyShow OptionallyFormattedIndex 'ON' RegularOrBacktickedIdentifier AnyFromOrIn RegularOrBacktickedIdentifier
+ : 'SHOW' OptionallyFormattedIndex 'ON' RegularOrBacktickedIdentifier
+ | 'SHOW' OptionallyFormattedIndex 'ON' RegularOrBacktickedIdentifier FromOrIn RegularOrBacktickedIdentifier
  ;
  ;
 
 
 ShowIndexStatement_EDIT
 ShowIndexStatement_EDIT
- : AnyShow OptionallyFormattedIndex
- | AnyShow OptionallyFormattedIndex_EDIT
- | AnyShow OptionallyFormattedIndex_EDIT 'ON' RegularOrBacktickedIdentifier
- | AnyShow OptionallyFormattedIndex_EDIT 'ON' RegularOrBacktickedIdentifier AnyFromOrIn RegularOrBacktickedIdentifier
- | AnyShow OptionallyFormattedIndex 'CURSOR'
+ : 'SHOW' OptionallyFormattedIndex
+ | 'SHOW' OptionallyFormattedIndex_EDIT
+ | 'SHOW' OptionallyFormattedIndex_EDIT 'ON' RegularOrBacktickedIdentifier
+ | 'SHOW' OptionallyFormattedIndex_EDIT 'ON' RegularOrBacktickedIdentifier FromOrIn RegularOrBacktickedIdentifier
+ | 'SHOW' OptionallyFormattedIndex 'CURSOR'
    {
    {
      parser.suggestKeywords(['ON']);
      parser.suggestKeywords(['ON']);
    }
    }
- | AnyShow OptionallyFormattedIndex 'ON' 'CURSOR'
+ | 'SHOW' OptionallyFormattedIndex 'ON' 'CURSOR'
    {
    {
      parser.suggestTables();
      parser.suggestTables();
    }
    }
- | AnyShow OptionallyFormattedIndex 'CURSOR' RegularOrBacktickedIdentifier
+ | 'SHOW' OptionallyFormattedIndex 'CURSOR' RegularOrBacktickedIdentifier
    {
    {
      parser.suggestKeywords(['ON']);
      parser.suggestKeywords(['ON']);
    }
    }
- | AnyShow OptionallyFormattedIndex 'ON' RegularOrBacktickedIdentifier 'CURSOR'
+ | 'SHOW' OptionallyFormattedIndex 'ON' RegularOrBacktickedIdentifier 'CURSOR'
    {
    {
      parser.suggestKeywords(['FROM', 'IN']);
      parser.suggestKeywords(['FROM', 'IN']);
    }
    }
- | AnyShow OptionallyFormattedIndex 'ON' RegularOrBacktickedIdentifier 'CURSOR' RegularOrBacktickedIdentifier
+ | 'SHOW' OptionallyFormattedIndex 'ON' RegularOrBacktickedIdentifier 'CURSOR' RegularOrBacktickedIdentifier
    {
    {
      parser.suggestKeywords(['FROM', 'IN']);
      parser.suggestKeywords(['FROM', 'IN']);
    }
    }
- | AnyShow OptionallyFormattedIndex 'ON' RegularOrBacktickedIdentifier AnyFromOrIn 'CURSOR'
+ | 'SHOW' OptionallyFormattedIndex 'ON' RegularOrBacktickedIdentifier FromOrIn 'CURSOR'
    {
    {
      parser.suggestDatabases();
      parser.suggestDatabases();
    }
    }
- | AnyShow OptionallyFormattedIndex 'ON' 'CURSOR' AnyFromOrIn RegularOrBacktickedIdentifier
+ | 'SHOW' OptionallyFormattedIndex 'ON' 'CURSOR' FromOrIn RegularOrBacktickedIdentifier
    {
    {
      parser.suggestTables({identifierChain: [{name: $6}]});
      parser.suggestTables({identifierChain: [{name: $6}]});
    }
    }
  ;
  ;
 
 
 ShowLocksStatement
 ShowLocksStatement
- : AnyShow '<hive>LOCKS' RegularOrBackTickedSchemaQualifiedName
+ : 'SHOW' 'LOCKS' RegularOrBackTickedSchemaQualifiedName
    {
    {
      parser.addTablePrimary($3);
      parser.addTablePrimary($3);
    }
    }
- | AnyShow '<hive>LOCKS' RegularOrBackTickedSchemaQualifiedName '<hive>EXTENDED'
+ | 'SHOW' 'LOCKS' RegularOrBackTickedSchemaQualifiedName 'EXTENDED'
    {
    {
      parser.addTablePrimary($3);
      parser.addTablePrimary($3);
    }
    }
- | AnyShow '<hive>LOCKS' RegularOrBackTickedSchemaQualifiedName PartitionSpec
+ | 'SHOW' 'LOCKS' RegularOrBackTickedSchemaQualifiedName PartitionSpec
    {
    {
      parser.addTablePrimary($3);
      parser.addTablePrimary($3);
    }
    }
- | AnyShow '<hive>LOCKS' RegularOrBackTickedSchemaQualifiedName PartitionSpec '<hive>EXTENDED'
+ | 'SHOW' 'LOCKS' RegularOrBackTickedSchemaQualifiedName PartitionSpec 'EXTENDED'
    {
    {
      parser.addTablePrimary($3);
      parser.addTablePrimary($3);
    }
    }
- | AnyShow '<hive>LOCKS' DatabaseOrSchema RegularOrBacktickedIdentifier
+ | 'SHOW' 'LOCKS' DatabaseOrSchema RegularOrBacktickedIdentifier
  ;
  ;
 
 
 ShowLocksStatement_EDIT
 ShowLocksStatement_EDIT
- : AnyShow '<hive>LOCKS' 'CURSOR'
+ : 'SHOW' 'LOCKS' 'CURSOR'
    {
    {
      parser.suggestTables();
      parser.suggestTables();
      parser.suggestDatabases({
      parser.suggestDatabases({
@@ -471,132 +303,94 @@ ShowLocksStatement_EDIT
      });
      });
      parser.suggestKeywords(['DATABASE', 'SCHEMA']);
      parser.suggestKeywords(['DATABASE', 'SCHEMA']);
    }
    }
- | AnyShow '<hive>LOCKS' RegularOrBackTickedSchemaQualifiedName_EDIT
- | AnyShow '<hive>LOCKS' RegularOrBackTickedSchemaQualifiedName 'CURSOR'
+ | 'SHOW' 'LOCKS' RegularOrBackTickedSchemaQualifiedName_EDIT
+ | 'SHOW' 'LOCKS' RegularOrBackTickedSchemaQualifiedName 'CURSOR'
     {
     {
       parser.addTablePrimary($3);
       parser.addTablePrimary($3);
       parser.suggestKeywords(['EXTENDED', 'PARTITION']);
       parser.suggestKeywords(['EXTENDED', 'PARTITION']);
     }
     }
- | AnyShow '<hive>LOCKS' RegularOrBackTickedSchemaQualifiedName_EDIT '<hive>EXTENDED'
- | AnyShow '<hive>LOCKS' RegularOrBackTickedSchemaQualifiedName_EDIT PartitionSpec
- | AnyShow '<hive>LOCKS' RegularOrBackTickedSchemaQualifiedName PartitionSpec 'CURSOR'
+ | 'SHOW' 'LOCKS' RegularOrBackTickedSchemaQualifiedName_EDIT 'EXTENDED'
+ | 'SHOW' 'LOCKS' RegularOrBackTickedSchemaQualifiedName_EDIT PartitionSpec
+ | 'SHOW' 'LOCKS' RegularOrBackTickedSchemaQualifiedName PartitionSpec 'CURSOR'
    {
    {
      parser.addTablePrimary($3);
      parser.addTablePrimary($3);
      parser.suggestKeywords(['EXTENDED']);
      parser.suggestKeywords(['EXTENDED']);
    }
    }
- | AnyShow '<hive>LOCKS' RegularOrBackTickedSchemaQualifiedName_EDIT PartitionSpec '<hive>EXTENDED'
- | AnyShow '<hive>LOCKS' DatabaseOrSchema 'CURSOR'
+ | 'SHOW' 'LOCKS' RegularOrBackTickedSchemaQualifiedName_EDIT PartitionSpec 'EXTENDED'
+ | 'SHOW' 'LOCKS' DatabaseOrSchema 'CURSOR'
    {
    {
      parser.suggestDatabases();
      parser.suggestDatabases();
    }
    }
  ;
  ;
 
 
 ShowPartitionsStatement
 ShowPartitionsStatement
- : AnyShow '<hive>PARTITIONS' RegularOrBackTickedSchemaQualifiedName
-   {
-     parser.addTablePrimary($3);
-   }
- | AnyShow '<hive>PARTITIONS' RegularOrBackTickedSchemaQualifiedName PartitionSpec
+ : 'SHOW' 'PARTITIONS' RegularOrBackTickedSchemaQualifiedName
    {
    {
      parser.addTablePrimary($3);
      parser.addTablePrimary($3);
    }
    }
- | AnyShow '<impala>PARTITIONS' RegularOrBackTickedSchemaQualifiedName
-   {
-     parser.addTablePrimary($3);
-   }
- | AnyShow '<impala>RANGE' '<impala>PARTITIONS' RegularOrBackTickedSchemaQualifiedName
+ | 'SHOW' 'PARTITIONS' RegularOrBackTickedSchemaQualifiedName PartitionSpec
    {
    {
      parser.addTablePrimary($3);
      parser.addTablePrimary($3);
    }
    }
  ;
  ;
 
 
 ShowPartitionsStatement_EDIT
 ShowPartitionsStatement_EDIT
- : AnyShow '<hive>PARTITIONS' 'CURSOR'
+ : 'SHOW' 'PARTITIONS' 'CURSOR'
    {
    {
      parser.suggestTables();
      parser.suggestTables();
      parser.suggestDatabases({
      parser.suggestDatabases({
        appendDot: true
        appendDot: true
      });
      });
    }
    }
- | AnyShow '<hive>PARTITIONS' RegularOrBackTickedSchemaQualifiedName_EDIT
- | AnyShow '<hive>PARTITIONS' RegularOrBackTickedSchemaQualifiedName 'CURSOR'
+ | 'SHOW' 'PARTITIONS' RegularOrBackTickedSchemaQualifiedName_EDIT
+ | 'SHOW' 'PARTITIONS' RegularOrBackTickedSchemaQualifiedName 'CURSOR'
    {
    {
      parser.addTablePrimary($3);
      parser.addTablePrimary($3);
      parser.suggestKeywords(['PARTITION']);
      parser.suggestKeywords(['PARTITION']);
    }
    }
- | AnyShow '<hive>PARTITIONS' RegularOrBackTickedSchemaQualifiedName_EDIT PartitionSpec
- | AnyShow '<impala>PARTITIONS' 'CURSOR'
-   {
-     parser.suggestTables();
-     parser.suggestDatabases({
-       appendDot: true
-     });
-   }
- | AnyShow '<impala>PARTITIONS' RegularOrBackTickedSchemaQualifiedName_EDIT
- | AnyShow '<impala>RANGE' '<impala>PARTITIONS' 'CURSOR'
-   {
-     parser.suggestTables();
-     parser.suggestDatabases({
-       appendDot: true
-     });
-   }
- | AnyShow '<impala>RANGE' '<impala>PARTITIONS' RegularOrBackTickedSchemaQualifiedName_EDIT
+ | 'SHOW' 'PARTITIONS' RegularOrBackTickedSchemaQualifiedName_EDIT PartitionSpec
  ;
  ;
 
 
 ShowRoleStatement
 ShowRoleStatement
- : AnyShow '<hive>ROLE' '<hive>GRANT' HiveRoleOrUser RegularIdentifier
- | AnyShow '<impala>ROLE' '<impala>GRANT' '<impala>GROUP' RegularIdentifier
+ : 'SHOW' 'ROLE' 'GRANT' RoleOrUser RegularIdentifier
  ;
  ;
 
 
 ShowRoleStatement_EDIT
 ShowRoleStatement_EDIT
- : AnyShow '<hive>ROLE' 'CURSOR'
+ : 'SHOW' 'ROLE' 'CURSOR'
    {
    {
      parser.suggestKeywords(['GRANT']);
      parser.suggestKeywords(['GRANT']);
    }
    }
- | AnyShow '<impala>ROLE' 'CURSOR'
+ | 'SHOW' 'ROLE' 'CURSOR' RoleOrUser RegularIdentifier
    {
    {
      parser.suggestKeywords(['GRANT']);
      parser.suggestKeywords(['GRANT']);
    }
    }
- | AnyShow '<hive>ROLE' 'CURSOR' HiveRoleOrUser RegularIdentifier
-   {
-     parser.suggestKeywords(['GRANT']);
-   }
- | AnyShow '<hive>ROLE' '<hive>GRANT' 'CURSOR'
+ | 'SHOW' 'ROLE' 'GRANT' 'CURSOR'
    {
    {
      parser.suggestKeywords(['ROLE', 'USER']);
      parser.suggestKeywords(['ROLE', 'USER']);
    }
    }
- | AnyShow '<hive>ROLE' '<hive>GRANT' 'CURSOR' RegularIdentifier
+ | 'SHOW' 'ROLE' 'GRANT' 'CURSOR' RegularIdentifier
    {
    {
      parser.suggestKeywords(['ROLE', 'USER']);
      parser.suggestKeywords(['ROLE', 'USER']);
    }
    }
- | AnyShow '<impala>ROLE' '<impala>GRANT' 'CURSOR'
-   {
-     parser.suggestKeywords(['GROUP']);
-   }
- | AnyShow '<impala>ROLE' '<impala>GRANT' 'CURSOR' RegularIdentifier
-   {
-     parser.suggestKeywords(['GROUP']);
-   }
  ;
  ;
 
 
 ShowRolesStatement
 ShowRolesStatement
- : AnyShow '<impala>ROLES'
- | AnyShow '<hive>ROLES'
+ : 'SHOW' 'ROLES'
  ;
  ;
 
 
 ShowTableStatement
 ShowTableStatement
- : AnyShow '<hive>TABLE' '<hive>EXTENDED' OptionalFromDatabase 'LIKE' SingleQuotedValue
- | AnyShow '<hive>TABLE' '<hive>EXTENDED' OptionalFromDatabase 'LIKE' SingleQuotedValue PartitionSpec
+ : 'SHOW' 'TABLE' 'EXTENDED' OptionalFromDatabase 'LIKE' SingleQuotedValue
+ | 'SHOW' 'TABLE' 'EXTENDED' OptionalFromDatabase 'LIKE' SingleQuotedValue PartitionSpec
  ;
  ;
 
 
 ShowTableStatement_EDIT
 ShowTableStatement_EDIT
- : AnyShow '<hive>TABLE' 'CURSOR'
+ : 'SHOW' 'TABLE' 'CURSOR'
    {
    {
      parser.suggestKeywords(['EXTENDED']);
      parser.suggestKeywords(['EXTENDED']);
    }
    }
- | AnyShow '<hive>TABLE' '<hive>EXTENDED' OptionalFromDatabase
- | AnyShow '<hive>TABLE' '<hive>EXTENDED' OptionalFromDatabase_EDIT
- | AnyShow '<hive>TABLE' '<hive>EXTENDED' OptionalFromDatabase 'CURSOR'
+ | 'SHOW' 'TABLE' 'EXTENDED' OptionalFromDatabase
+ | 'SHOW' 'TABLE' 'EXTENDED' OptionalFromDatabase_EDIT
+ | 'SHOW' 'TABLE' 'EXTENDED' OptionalFromDatabase 'CURSOR'
     {
     {
       if ($4) {
       if ($4) {
         parser.suggestKeywords(['LIKE']);
         parser.suggestKeywords(['LIKE']);
@@ -604,60 +398,42 @@ ShowTableStatement_EDIT
         parser.suggestKeywords(['FROM', 'IN', 'LIKE']);
         parser.suggestKeywords(['FROM', 'IN', 'LIKE']);
       }
       }
     }
     }
- | AnyShow '<hive>TABLE' '<hive>EXTENDED' OptionalFromDatabase_EDIT 'LIKE' SingleQuotedValue
- | AnyShow '<hive>TABLE' 'CURSOR' OptionalFromDatabase 'LIKE' SingleQuotedValue
+ | 'SHOW' 'TABLE' 'EXTENDED' OptionalFromDatabase_EDIT 'LIKE' SingleQuotedValue
+ | 'SHOW' 'TABLE' 'CURSOR' OptionalFromDatabase 'LIKE' SingleQuotedValue
     {
     {
-      if (parser.isHive()) {
-        parser.suggestKeywords(['EXTENDED']);
-      }
+      parser.suggestKeywords(['EXTENDED']);
     }
     }
- | AnyShow '<hive>TABLE' '<hive>EXTENDED' OptionalFromDatabase 'CURSOR' SingleQuotedValue
+ | 'SHOW' 'TABLE' 'EXTENDED' OptionalFromDatabase 'CURSOR' SingleQuotedValue
     {
     {
       parser.suggestKeywords(['LIKE']);
       parser.suggestKeywords(['LIKE']);
     }
     }
- | AnyShow '<hive>TABLE' '<hive>EXTENDED' OptionalFromDatabase 'LIKE' SingleQuotedValue 'CURSOR'
+ | 'SHOW' 'TABLE' 'EXTENDED' OptionalFromDatabase 'LIKE' SingleQuotedValue 'CURSOR'
     {
     {
       parser.suggestKeywords(['PARTITION']);
       parser.suggestKeywords(['PARTITION']);
     }
     }
- | AnyShow '<hive>TABLE' '<hive>EXTENDED' OptionalFromDatabase_EDIT 'LIKE' SingleQuotedValue PartitionSpec
- | AnyShow '<hive>TABLE' 'CURSOR' OptionalFromDatabase 'LIKE' SingleQuotedValue PartitionSpec
+ | 'SHOW' 'TABLE' 'EXTENDED' OptionalFromDatabase_EDIT 'LIKE' SingleQuotedValue PartitionSpec
+ | 'SHOW' 'TABLE' 'CURSOR' OptionalFromDatabase 'LIKE' SingleQuotedValue PartitionSpec
    {
    {
      parser.suggestKeywords(['EXTENDED']);
      parser.suggestKeywords(['EXTENDED']);
    }
    }
- | AnyShow '<hive>TABLE' '<hive>EXTENDED' OptionalFromDatabase 'CURSOR' SingleQuotedValue PartitionSpec
+ | 'SHOW' 'TABLE' 'EXTENDED' OptionalFromDatabase 'CURSOR' SingleQuotedValue PartitionSpec
    {
    {
      parser.suggestKeywords(['LIKE']);
      parser.suggestKeywords(['LIKE']);
    }
    }
- | AnyShow '<hive>TABLE' '<hive>EXTENDED' OptionalFromDatabase 'LIKE' SingleQuotedValue 'CURSOR' PartitionSpecList
+ | 'SHOW' 'TABLE' 'EXTENDED' OptionalFromDatabase 'LIKE' SingleQuotedValue 'CURSOR' PartitionSpecList
    {
    {
      parser.suggestKeywords(['PARTITION']);
      parser.suggestKeywords(['PARTITION']);
    }
    }
- | AnyShow '<impala>TABLE' 'CURSOR'
-   {
-     parser.suggestKeywords(['STATS']);
-   }
- | AnyShow '<impala>TABLE' '<impala>STATS' 'CURSOR'
-   {
-     parser.suggestTables();
-     parser.suggestDatabases({
-       appendDot: true
-     });
-   }
- | AnyShow '<impala>TABLE' '<impala>STATS' RegularOrBackTickedSchemaQualifiedName
-    {
-      parser.addTablePrimary($4);
-    }
- | AnyShow '<impala>TABLE' '<impala>STATS' RegularOrBackTickedSchemaQualifiedName_EDIT
  ;
  ;
 
 
 ShowTablesStatement
 ShowTablesStatement
- : AnyShow HiveOrImpalaTables OptionalInDatabase
- | AnyShow HiveOrImpalaTables OptionalInDatabase SingleQuotedValue
- | AnyShow HiveOrImpalaTables OptionalInDatabase 'LIKE' SingleQuotedValue
+ : 'SHOW' 'TABLES' OptionalInDatabase
+ | 'SHOW' 'TABLES' OptionalInDatabase SingleQuotedValue
+ | 'SHOW' 'TABLES' OptionalInDatabase 'LIKE' SingleQuotedValue
  ;
  ;
 
 
 ShowTablesStatement_EDIT
 ShowTablesStatement_EDIT
- : AnyShow HiveOrImpalaTables OptionalInDatabase 'CURSOR'
+ : 'SHOW' 'TABLES' OptionalInDatabase 'CURSOR'
    {
    {
      if (!$3) {
      if (!$3) {
        parser.suggestKeywords(['IN', 'LIKE']);
        parser.suggestKeywords(['IN', 'LIKE']);
@@ -668,19 +444,19 @@ ShowTablesStatement_EDIT
  ;
  ;
 
 
 ShowTblPropertiesStatement
 ShowTblPropertiesStatement
- : AnyShow '<hive>TBLPROPERTIES' RegularOrBackTickedSchemaQualifiedName
+ : 'SHOW' 'TBLPROPERTIES' RegularOrBackTickedSchemaQualifiedName
    {
    {
      parser.addTablePrimary($3);
      parser.addTablePrimary($3);
    }
    }
- | AnyShow '<hive>TBLPROPERTIES' RegularOrBackTickedSchemaQualifiedName '(' QuotedValue ')'
+ | 'SHOW' 'TBLPROPERTIES' RegularOrBackTickedSchemaQualifiedName '(' QuotedValue ')'
    {
    {
      parser.addTablePrimary($3);
      parser.addTablePrimary($3);
    }
    }
  ;
  ;
 
 
 ShowTblPropertiesStatement_EDIT
 ShowTblPropertiesStatement_EDIT
- : AnyShow '<hive>TBLPROPERTIES' RegularOrBackTickedSchemaQualifiedName_EDIT
- | AnyShow '<hive>TBLPROPERTIES' 'CURSOR'
+ : 'SHOW' 'TBLPROPERTIES' RegularOrBackTickedSchemaQualifiedName_EDIT
+ | 'SHOW' 'TBLPROPERTIES' 'CURSOR'
    {
    {
      parser.suggestTables();
      parser.suggestTables();
      parser.suggestDatabases({ prependDot: true });
      parser.suggestDatabases({ prependDot: true });
@@ -688,15 +464,15 @@ ShowTblPropertiesStatement_EDIT
  ;
  ;
 
 
 ShowTransactionsStatement
 ShowTransactionsStatement
- : AnyShow '<hive>TRANSACTIONS'
+ : 'SHOW' 'TRANSACTIONS'
  ;
  ;
 
 
 ShowViewsStatement
 ShowViewsStatement
- : AnyShow '<hive>VIEWS' OptionalInOrFromDatabase OptionalLike
+ : 'SHOW' 'VIEWS' OptionalInOrFromDatabase OptionalLike
  ;
  ;
 
 
 ShowViewsStatement_EDIT
 ShowViewsStatement_EDIT
- : AnyShow '<hive>VIEWS' OptionalInOrFromDatabase OptionalLike 'CURSOR'
+ : 'SHOW' 'VIEWS' OptionalInOrFromDatabase OptionalLike 'CURSOR'
    {
    {
      if (!$4 && !$3) {
      if (!$4 && !$3) {
        parser.suggestKeywords([{ value: 'IN', weight: 2 }, { value: 'FROM', weight: 2 }, { value: 'LIKE', weight: 1 }]);
        parser.suggestKeywords([{ value: 'IN', weight: 2 }, { value: 'FROM', weight: 2 }, { value: 'LIKE', weight: 1 }]);
@@ -704,8 +480,8 @@ ShowViewsStatement_EDIT
        parser.suggestKeywords(['LIKE']);
        parser.suggestKeywords(['LIKE']);
      }
      }
    }
    }
- | AnyShow '<hive>VIEWS' InOrFromDatabase_EDIT OptionalLike
- | AnyShow '<hive>VIEWS' OptionalInOrFromDatabase Like_EDIT
+ | 'SHOW' 'VIEWS' InOrFromDatabase_EDIT OptionalLike
+ | 'SHOW' 'VIEWS' OptionalInOrFromDatabase Like_EDIT
  ;
  ;
 
 
 OptionalInOrFromDatabase
 OptionalInOrFromDatabase

+ 1 - 15
desktop/core/src/desktop/js/parse/jison/hive/sql_update.jison

@@ -33,21 +33,7 @@ UpdateStatement_EDIT
  | 'UPDATE' TargetTable 'SET' SetClauseList OptionalFromJoinedTable WhereClause_EDIT
  | 'UPDATE' TargetTable 'SET' SetClauseList OptionalFromJoinedTable WhereClause_EDIT
  | 'UPDATE' TargetTable 'SET' SetClauseList OptionalFromJoinedTable OptionalWhereClause 'CURSOR'
  | 'UPDATE' TargetTable 'SET' SetClauseList OptionalFromJoinedTable OptionalWhereClause 'CURSOR'
    {
    {
-     if (parser.isImpala() && !$6 && !$5) {
-       parser.suggestKeywords([{ value: 'FROM', weight: 2 }, { value: 'WHERE', weight: 1 }]);
-     } else if (parser.isImpala() && !$6 && $5) {
-       var keywords = [{ value: 'FULL JOIN', weight: 2 }, { value: 'FULL OUTER JOIN', weight: 2 }, { value: 'JOIN', weight: 2 }, { value: 'LEFT JOIN', weight: 2 }, { value: 'LEFT OUTER JOIN', weight: 2 }, { value: 'RIGHT JOIN', weight: 2 }, { value: 'RIGHT OUTER JOIN', weight: 2 }, { value: 'INNER JOIN', weight: 2 },  { value: 'LEFT ANTI JOIN', weight: 2 }, { value: 'LEFT SEMI JOIN', weight: 2 }, { value: 'RIGHT ANTI JOIN', weight: 2 }, { value: 'RIGHT SEMI JOIN', weight: 2 }, { value: 'WHERE', weight: 1 }];
-       if ($5.suggestJoinConditions) {
-         parser.suggestJoinConditions($5.suggestJoinConditions);
-       }
-       if ($5.suggestJoins) {
-         parser.suggestJoins($5.suggestJoins);
-       }
-       if ($5.suggestKeywords) {
-         keywords = keywords.concat(parser.createWeightedKeywords($5.suggestKeywords, 3));
-       }
-       parser.suggestKeywords(keywords);
-     } else if (!$6) {
+     if (!$6) {
        parser.suggestKeywords([ 'WHERE' ]);
        parser.suggestKeywords([ 'WHERE' ]);
      }
      }
    }
    }

+ 2 - 7
desktop/core/src/desktop/js/parse/jison/hive/sql_use.jison

@@ -22,13 +22,8 @@ DataDefinition_EDIT
  : UseStatement_EDIT
  : UseStatement_EDIT
  ;
  ;
 
 
-AnyUse
- : 'USE'
- | '<hive>USE'
- ;
-
 UseStatement
 UseStatement
- : AnyUse RegularIdentifier
+ : 'USE' RegularIdentifier
    {
    {
      if (! parser.yy.cursorFound) {
      if (! parser.yy.cursorFound) {
        parser.yy.result.useDatabase = $2;
        parser.yy.result.useDatabase = $2;
@@ -37,7 +32,7 @@ UseStatement
  ;
  ;
 
 
 UseStatement_EDIT
 UseStatement_EDIT
- : AnyUse 'CURSOR'
+ : 'USE' 'CURSOR'
    {
    {
      parser.suggestDatabases();
      parser.suggestDatabases();
    }
    }

+ 3 - 31
desktop/core/src/desktop/js/parse/jison/hive/sql_valueExpression.jison

@@ -35,7 +35,6 @@ ValueExpression
  | ValueExpression 'IS' OptionalNot 'NULL'                             -> { types: [ 'BOOLEAN' ] }
  | ValueExpression 'IS' OptionalNot 'NULL'                             -> { types: [ 'BOOLEAN' ] }
  | ValueExpression 'IS' OptionalNot 'TRUE'                             -> { types: [ 'BOOLEAN' ] }
  | ValueExpression 'IS' OptionalNot 'TRUE'                             -> { types: [ 'BOOLEAN' ] }
  | ValueExpression 'IS' OptionalNot 'FALSE'                            -> { types: [ 'BOOLEAN' ] }
  | ValueExpression 'IS' OptionalNot 'FALSE'                            -> { types: [ 'BOOLEAN' ] }
- | ValueExpression 'IS' OptionalNot '<impala>UNKNOWN'                  -> { types: [ 'BOOLEAN' ] }
  | ValueExpression 'IS' OptionalNot 'DISTINCT' 'FROM' ValueExpression  -> { types: [ 'BOOLEAN' ] }
  | ValueExpression 'IS' OptionalNot 'DISTINCT' 'FROM' ValueExpression  -> { types: [ 'BOOLEAN' ] }
  ;
  ;
 
 
@@ -77,27 +76,16 @@ ValueExpression_EDIT
    }
    }
  | ValueExpression 'IS' 'CURSOR'
  | ValueExpression 'IS' 'CURSOR'
    {
    {
-     var keywords = ['FALSE', 'NOT NULL', 'NOT TRUE', 'NOT FALSE', 'NULL', 'TRUE'];
-     if (parser.isImpala()) {
-       keywords = keywords.concat(['DISTINCT FROM', 'NOT DISTINCT FROM', 'NOT UNKNOWN', 'UNKNOWN']);
-     }
-     parser.suggestKeywords(keywords);
+     parser.suggestKeywords(['FALSE', 'NOT NULL', 'NOT TRUE', 'NOT FALSE', 'NULL', 'TRUE']);
      $$ = { types: [ 'BOOLEAN' ] };
      $$ = { types: [ 'BOOLEAN' ] };
    }
    }
  | ValueExpression 'IS' 'NOT' 'CURSOR'
  | ValueExpression 'IS' 'NOT' 'CURSOR'
    {
    {
-     var keywords = ['FALSE', 'NULL', 'TRUE'];
-     if (parser.isImpala()) {
-       keywords = keywords.concat(['DISTINCT FROM', 'UNKNOWN']);
-     }
-     parser.suggestKeywords(keywords);
+     parser.suggestKeywords(['FALSE', 'NULL', 'TRUE']);
      $$ = { types: [ 'BOOLEAN' ] };
      $$ = { types: [ 'BOOLEAN' ] };
    }
    }
  | ValueExpression 'IS' OptionalNot 'DISTINCT' 'CURSOR'
  | ValueExpression 'IS' OptionalNot 'DISTINCT' 'CURSOR'
    {
    {
-     if (parser.isImpala()) {
-       parser.suggestKeywords(['FROM']);
-     }
      $$ = { types: [ 'BOOLEAN' ] };
      $$ = { types: [ 'BOOLEAN' ] };
    }
    }
  | ValueExpression 'IS' 'CURSOR' 'NULL'
  | ValueExpression 'IS' 'CURSOR' 'NULL'
@@ -592,16 +580,12 @@ ValueExpression
 
 
 LikeRightPart
 LikeRightPart
  : 'LIKE' ValueExpression             -> { suggestKeywords: ['NOT'] }
  : 'LIKE' ValueExpression             -> { suggestKeywords: ['NOT'] }
- | '<impala>ILIKE' ValueExpression    -> { suggestKeywords: ['NOT'] }
- | '<impala>IREGEXP' ValueExpression  -> { suggestKeywords: ['NOT'] }
  | 'RLIKE' ValueExpression            -> { suggestKeywords: ['NOT'] }
  | 'RLIKE' ValueExpression            -> { suggestKeywords: ['NOT'] }
  | 'REGEXP' ValueExpression           -> { suggestKeywords: ['NOT'] }
  | 'REGEXP' ValueExpression           -> { suggestKeywords: ['NOT'] }
  ;
  ;
 
 
 LikeRightPart_EDIT
 LikeRightPart_EDIT
  : 'LIKE' ValueExpression_EDIT
  : 'LIKE' ValueExpression_EDIT
- | '<impala>ILIKE' ValueExpression_EDIT
- | '<impala>IREGEXP' ValueExpression_EDIT
  | 'RLIKE' ValueExpression_EDIT
  | 'RLIKE' ValueExpression_EDIT
  | 'REGEXP' ValueExpression_EDIT
  | 'REGEXP' ValueExpression_EDIT
  | 'LIKE' PartialBacktickedOrCursor
  | 'LIKE' PartialBacktickedOrCursor
@@ -610,18 +594,6 @@ LikeRightPart_EDIT
      parser.suggestColumns({ types: [ 'STRING' ] });
      parser.suggestColumns({ types: [ 'STRING' ] });
      $$ = { types: ['BOOLEAN'] }
      $$ = { types: ['BOOLEAN'] }
    }
    }
- | '<impala>ILIKE' PartialBacktickedOrCursor
-   {
-     parser.suggestFunctions({ types: [ 'STRING' ] });
-     parser.suggestColumns({ types: [ 'STRING' ] });
-     $$ = { types: ['BOOLEAN'] }
-   }
- | '<impala>IREGEXP' PartialBacktickedOrCursor
-   {
-     parser.suggestFunctions({ types: [ 'STRING' ] });
-     parser.suggestColumns({ types: [ 'STRING' ] });
-     $$ = { types: ['BOOLEAN'] }
-   }
  | 'RLIKE' PartialBacktickedOrCursor
  | 'RLIKE' PartialBacktickedOrCursor
    {
    {
      parser.suggestFunctions({ types: [ 'STRING' ] });
      parser.suggestFunctions({ types: [ 'STRING' ] });
@@ -864,4 +836,4 @@ CaseWhenThenListPartTwo_EDIT
      parser.valueExpressionSuggest();
      parser.valueExpressionSuggest();
      $$ = { caseTypes: [{ types: ['T'] }] };
      $$ = { caseTypes: [{ types: ['T'] }] };
    }
    }
- ;
+ ;

+ 0 - 12
desktop/core/src/desktop/js/parse/jison/impala/sql_main.jison

@@ -134,20 +134,16 @@ NonStartingToken
  | ','
  | ','
  | '-'
  | '-'
  | '.'
  | '.'
- | '.'
  | '...'
  | '...'
  | '<'
  | '<'
  | '='
  | '='
  | '>'
  | '>'
  | '['
  | '['
- | '['
- | ']'
  | ']'
  | ']'
  | 'AGGREGATE'
  | 'AGGREGATE'
  | 'ALL'
  | 'ALL'
  | 'ALLOCATE'
  | 'ALLOCATE'
  | 'ANALYTIC'
  | 'ANALYTIC'
- | 'ANALYTIC'
  | 'AND'
  | 'AND'
  | 'ANTI'
  | 'ANTI'
  | 'ANY'
  | 'ANY'
@@ -279,7 +275,6 @@ NonStartingToken
  | 'GLOBAL'
  | 'GLOBAL'
  | 'GRANT'
  | 'GRANT'
  | 'GROUP'
  | 'GROUP'
- | 'GROUP'
  | 'GROUP_CONCAT'
  | 'GROUP_CONCAT'
  | 'GROUPING'
  | 'GROUPING'
  | 'GROUPS'
  | 'GROUPS'
@@ -327,7 +322,6 @@ NonStartingToken
  | 'LIKE'
  | 'LIKE'
  | 'LIKE_REGEX'
  | 'LIKE_REGEX'
  | 'LIMIT'
  | 'LIMIT'
- | 'LIMIT'
  | 'LINES'
  | 'LINES'
  | 'LISTAGG'
  | 'LISTAGG'
  | 'LOCAL'
  | 'LOCAL'
@@ -372,7 +366,6 @@ NonStartingToken
  | 'OUT'
  | 'OUT'
  | 'OUTER'
  | 'OUTER'
  | 'OVER'
  | 'OVER'
- | 'OVER'
  | 'OVERLAPS'
  | 'OVERLAPS'
  | 'OVERLAY'
  | 'OVERLAY'
  | 'OWNER'
  | 'OWNER'
@@ -396,8 +389,6 @@ NonStartingToken
  | 'PROCEDURE'
  | 'PROCEDURE'
  | 'PTF'
  | 'PTF'
  | 'PURGE'
  | 'PURGE'
- | 'RANGE'
- | 'RANGE'
  | 'RCFILE'
  | 'RCFILE'
  | 'READS'
  | 'READS'
  | 'REAL'
  | 'REAL'
@@ -424,7 +415,6 @@ NonStartingToken
  | 'RIGHT'
  | 'RIGHT'
  | 'RLIKE'
  | 'RLIKE'
  | 'ROLE'
  | 'ROLE'
- | 'ROLE'
  | 'ROLES'
  | 'ROLES'
  | 'ROLLBACK'
  | 'ROLLBACK'
  | 'ROLLUP'
  | 'ROLLUP'
@@ -476,7 +466,6 @@ NonStartingToken
  | 'SYSTEM_TIME'
  | 'SYSTEM_TIME'
  | 'SYSTEM_USER'
  | 'SYSTEM_USER'
  | 'TABLE'
  | 'TABLE'
- | 'TABLE'
  | 'TABLES'
  | 'TABLES'
  | 'TABLESAMPLE'
  | 'TABLESAMPLE'
  | 'TBLPROPERTIES'
  | 'TBLPROPERTIES'
@@ -510,7 +499,6 @@ NonStartingToken
  | 'VAR_SAMP'
  | 'VAR_SAMP'
  | 'VARBINARY'
  | 'VARBINARY'
  | 'VARCHAR'
  | 'VARCHAR'
- | 'VARCHAR'
  | 'VARIABLE_REFERENCE'
  | 'VARIABLE_REFERENCE'
  | 'VARIANCE'
  | 'VARIANCE'
  | 'VARIANCE_POP'
  | 'VARIANCE_POP'

+ 4 - 4
desktop/core/src/desktop/js/parse/jison/impala/sql_show.jison

@@ -87,7 +87,7 @@ ShowColumnStatsStatement_EDIT
  ;
  ;
 
 
 ShowCreateTableStatement
 ShowCreateTableStatement
- : 'SHOW' 'CREATE' AnyTableOrView RegularOrBackTickedSchemaQualifiedName
+ : 'SHOW' 'CREATE' TableOrView RegularOrBackTickedSchemaQualifiedName
    {
    {
      parser.addTablePrimary($4);
      parser.addTablePrimary($4);
    }
    }
@@ -98,7 +98,7 @@ ShowCreateTableStatement_EDIT
    {
    {
      parser.suggestKeywords(['TABLE', 'VIEW']);
      parser.suggestKeywords(['TABLE', 'VIEW']);
    }
    }
- | 'SHOW' 'CREATE' AnyTableOrView 'CURSOR'
+ | 'SHOW' 'CREATE' TableOrView 'CURSOR'
    {
    {
      if ($3.isView) {
      if ($3.isView) {
        parser.suggestTables({ onlyViews: true });
        parser.suggestTables({ onlyViews: true });
@@ -109,7 +109,7 @@ ShowCreateTableStatement_EDIT
        appendDot: true
        appendDot: true
      });
      });
    }
    }
- | 'SHOW' 'CREATE' AnyTableOrView RegularOrBackTickedSchemaQualifiedName_EDIT
+ | 'SHOW' 'CREATE' TableOrView RegularOrBackTickedSchemaQualifiedName_EDIT
    {
    {
      if (parser.yy.result.suggestTables && $3.isView) {
      if (parser.yy.result.suggestTables && $3.isView) {
        parser.yy.result.suggestTables.onlyViews = true;
        parser.yy.result.suggestTables.onlyViews = true;
@@ -122,7 +122,7 @@ ShowCreateTableStatement_EDIT
    }
    }
  ;
  ;
 
 
-AnyTableOrView
+TableOrView
  : 'TABLE'
  : 'TABLE'
  | 'VIEW'   --> { isView: true }
  | 'VIEW'   --> { isView: true }
  ;
  ;

Some files were not shown because too many files changed in this diff