Pārlūkot izejas kodu

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

Johan Ahlen 6 gadi atpakaļ
vecāks
revīzija
04cf3dfe49

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

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

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

@@ -833,11 +833,11 @@ OptionalStoredAs
  ;
 
 StoredAs
- : 'STORED' AnyAs FileFormat
+ : 'STORED' 'AS' FileFormat
  ;
 
 StoredAs_EDIT
- : 'STORED' AnyAs 'CURSOR'
+ : 'STORED' 'AS' 'CURSOR'
    {
      parser.suggestFileFormats();
    }
@@ -1020,15 +1020,15 @@ TblProperties
 
 OptionalAsSelectStatement
  :
- | AnyAs CommitLocations QuerySpecification
+ | 'AS' CommitLocations QuerySpecification
  ;
 
 OptionalAsSelectStatement_EDIT
- : AnyAs CommitLocations 'CURSOR'
+ : 'AS' CommitLocations 'CURSOR'
    {
      parser.suggestKeywords(['SELECT']);
    }
- | AnyAs CommitLocations QuerySpecification_EDIT
+ | 'AS' CommitLocations QuerySpecification_EDIT
  ;
 
 CommitLocations
@@ -1039,26 +1039,26 @@ CommitLocations
  ;
 
 ViewDefinition
- : 'CREATE' AnyView OptionalIfNotExists SchemaQualifiedIdentifier OptionalParenthesizedViewColumnList OptionalComment OptionalTblproperties AnyAs QuerySpecification
+ : 'CREATE' 'VIEW' OptionalIfNotExists SchemaQualifiedIdentifier OptionalParenthesizedViewColumnList OptionalComment OptionalTblproperties 'AS' QuerySpecification
  ;
 
 ViewDefinition_EDIT
- : 'CREATE' AnyView OptionalIfNotExists 'CURSOR'
+ : 'CREATE' 'VIEW' OptionalIfNotExists 'CURSOR'
    {
      if (!$3) {
        parser.suggestKeywords(['IF NOT EXISTS']);
      }
      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) {
        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 }];
      if (!$7) {
@@ -1069,12 +1069,12 @@ ViewDefinition_EDIT
      }
      parser.suggestKeywords(keywords);
    }
- | 'CREATE' AnyView OptionalIfNotExists SchemaQualifiedIdentifier OptionalParenthesizedViewColumnList OptionalComment OptionalTblproperties AnyAs 'CURSOR'
+ | 'CREATE' 'VIEW' OptionalIfNotExists SchemaQualifiedIdentifier OptionalParenthesizedViewColumnList OptionalComment OptionalTblproperties 'AS' 'CURSOR'
    {
      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
@@ -1158,11 +1158,6 @@ FunctionResourceType
  | 'JAR'
  ;
 
-AnyView
- : 'VIEW'
- | 'VIEW'
- ;
-
 OptionalParenthesizedViewColumnList
  :
  | ParenthesizedViewColumnList

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

@@ -27,16 +27,16 @@ SqlStatement_EDIT
  ;
 
 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
- : '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
@@ -97,76 +97,71 @@ JoinType_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
- : 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

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

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

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

@@ -321,27 +321,27 @@ OptionalInsertRowFormat_EDIT
  ;
 
 SelectWithoutTableExpression
- : 'SELECT' OptionalAllOrDistinct OptionalStraightJoin SelectList  -> { selectList: $4 }
+ : 'SELECT' OptionalAllOrDistinct SelectList  -> { selectList: $3 }
  ;
 
 SelectWithoutTableExpression_EDIT
- : 'SELECT' OptionalAllOrDistinct OptionalStraightJoin SelectList 'CURSOR'
+ : 'SELECT' OptionalAllOrDistinct SelectList 'CURSOR'
    {
-     $$ = $4;
+     $$ = $3;
      $$.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();
      if (!$2 || $2 === 'ALL') {
        parser.suggestAggregateFunctions();
        parser.suggestAnalyticFunctions();
      }
-     if (!$3 && !$2) {
+     if (!$2) {
        keywords.push({ value: 'ALL', weight: 2 });
        keywords.push({ value: 'DISTINCT', weight: 2 });
      }

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 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'
    {
      parser.suggestSetOptions();
-     if (parser.isHive()) {
-       parser.suggestKeywords(['ROLE']);
-     }
-     if (parser.isImpala()) {
-       parser.suggestKeywords(['ALL']);
-     }
+     parser.suggestKeywords(['ROLE']);
    }
  ;
 
@@ -40,7 +35,7 @@ SetSpecification
 
 SetOption
  : RegularIdentifier
- | SetOption AnyDot RegularIdentifier
+ | SetOption '.' RegularIdentifier
  ;
 
 SetValue
@@ -54,14 +49,14 @@ SetValue
  ;
 
 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
- : 'SET' '<hive>ROLE' 'CURSOR'
+ : 'SET' 'ROLE' 'CURSOR'
    {
      parser.suggestKeywords(['ALL', 'NONE']);
    }
- ;
+ ;

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

@@ -23,373 +23,205 @@ DataDefinition_EDIT
  ;
 
 ShowStatement
- : ShowColumnStatsStatement
- | ShowColumnsStatement
+ : ShowColumnsStatement
  | ShowCompactionsStatement
  | ShowConfStatement
  | ShowCreateTableStatement
  | ShowCurrentRolesStatement
  | ShowDatabasesStatement
- | ShowFilesStatement
  | ShowFunctionsStatement
  | ShowGrantStatement
  | ShowIndexStatement
  | ShowLocksStatement
  | ShowPartitionsStatement
- | ShowRoleStatement
  | ShowRolesStatement
- | ShowTableStatement
+ | ShowRoleStatement
  | ShowTablesStatement
+ | ShowTableStatement
  | ShowTblPropertiesStatement
  | ShowTransactionsStatement
  | ShowViewsStatement
  ;
 
-AnyShow
+'SHOW'
  : 'SHOW'
- | '<hive>SHOW'
+ | 'SHOW'
  ;
 
 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
-     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.yy.locations.pop();
      } else {
        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
  | ShowCreateTableStatement_EDIT
  | ShowCurrentRolesStatement_EDIT
  | ShowDatabasesStatement_EDIT
- | ShowFilesStatement_EDIT
- | ShowFunctionsStatement_EDIT
  | ShowGrantStatement_EDIT
  | ShowIndexStatement_EDIT
  | ShowLocksStatement_EDIT
  | ShowPartitionsStatement_EDIT
  | ShowRoleStatement_EDIT
- | ShowTableStatement_EDIT
  | ShowTablesStatement_EDIT
+ | ShowTableStatement_EDIT
  | ShowTblPropertiesStatement_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
- : AnyShow '<hive>COLUMNS' AnyFromOrIn RegularOrBacktickedIdentifier
- | AnyShow '<hive>COLUMNS' AnyFromOrIn RegularOrBacktickedIdentifier AnyFromOrIn RegularOrBacktickedIdentifier
+ : 'SHOW' 'COLUMNS' FromOrIn RegularOrBacktickedIdentifier
+ | 'SHOW' 'COLUMNS' FromOrIn RegularOrBacktickedIdentifier FromOrIn RegularOrBacktickedIdentifier
  ;
 
 ShowColumnsStatement_EDIT
- : AnyShow '<hive>COLUMNS' 'CURSOR'
+ : 'SHOW' 'COLUMNS' 'CURSOR'
    {
      parser.suggestKeywords(['FROM', 'IN']);
    }
- | AnyShow '<hive>COLUMNS' 'CURSOR' RegularOrBacktickedIdentifier
+ | 'SHOW' 'COLUMNS' 'CURSOR' RegularOrBacktickedIdentifier
    {
      parser.suggestKeywords(['FROM', 'IN']);
    }
- | AnyShow '<hive>COLUMNS' AnyFromOrIn 'CURSOR'
+ | 'SHOW' 'COLUMNS' FromOrIn 'CURSOR'
    {
      parser.suggestTables();
    }
- | AnyShow '<hive>COLUMNS' AnyFromOrIn 'CURSOR' AnyFromOrIn
+ | 'SHOW' 'COLUMNS' FromOrIn 'CURSOR' FromOrIn
    {
      parser.suggestTables();
    }
- | AnyShow '<hive>COLUMNS' AnyFromOrIn 'CURSOR' AnyFromOrIn RegularOrBacktickedIdentifier
+ | 'SHOW' 'COLUMNS' FromOrIn 'CURSOR' FromOrIn RegularOrBacktickedIdentifier
    {
      parser.suggestTables();
    }
- | AnyShow '<hive>COLUMNS' AnyFromOrIn RegularOrBacktickedIdentifier 'CURSOR'
+ | 'SHOW' 'COLUMNS' FromOrIn RegularOrBacktickedIdentifier 'CURSOR'
    {
      parser.suggestKeywords(['FROM', 'IN']);
    }
- | AnyShow '<hive>COLUMNS' AnyFromOrIn RegularOrBacktickedIdentifier 'CURSOR' RegularOrBacktickedIdentifier
+ | 'SHOW' 'COLUMNS' FromOrIn RegularOrBacktickedIdentifier 'CURSOR' RegularOrBacktickedIdentifier
    {
      parser.suggestKeywords(['FROM', 'IN']);
    }
- | AnyShow '<hive>COLUMNS' AnyFromOrIn RegularOrBacktickedIdentifier AnyFromOrIn 'CURSOR'
+ | 'SHOW' 'COLUMNS' FromOrIn RegularOrBacktickedIdentifier FromOrIn 'CURSOR'
    {
      parser.suggestDatabases();
    }
  ;
 
 ShowCompactionsStatement
- : AnyShow '<hive>COMPACTIONS'
+ : 'SHOW' 'COMPACTIONS'
  ;
 
 ShowConfStatement
- : AnyShow '<hive>CONF' ConfigurationName
+ : 'SHOW' 'CONF' ConfigurationName
  ;
 
 ShowCreateTableStatement
- : AnyShow HiveOrImpalaCreate AnyTableOrView RegularOrBackTickedSchemaQualifiedName
+ : 'SHOW' 'CREATE' TableOrView RegularOrBackTickedSchemaQualifiedName
    {
      parser.addTablePrimary($4);
    }
  ;
 
 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({
        appendDot: true
      });
    }
- | AnyShow HiveOrImpalaCreate AnyTableOrView RegularOrBackTickedSchemaQualifiedName_EDIT
+ | 'SHOW' 'CREATE' TableOrView RegularOrBackTickedSchemaQualifiedName_EDIT
    {
      if (parser.yy.result.suggestTables && $3.isView) {
        parser.yy.result.suggestTables.onlyViews = true;
      }
    }
- | AnyShow HiveOrImpalaCreate 'CURSOR' RegularOrBackTickedSchemaQualifiedName
+ | 'SHOW' 'CREATE' 'CURSOR' RegularOrBackTickedSchemaQualifiedName
    {
      parser.addTablePrimary($4);
-     if (parser.isImpala()) {
-       parser.suggestKeywords(['TABLE', 'VIEW']);
-     } else {
-       parser.suggestKeywords(['TABLE']);
-     }
+     parser.suggestKeywords(['TABLE']);
    }
  ;
 
-AnyTableOrView
+TableOrView
  : 'TABLE'
  | 'VIEW'   --> { isView: true }
  ;
 
 ShowCurrentRolesStatement
- : AnyShow '<hive>CURRENT' '<hive>ROLES'
- | AnyShow '<impala>CURRENT' '<impala>ROLES'
+ : 'SHOW' 'CURRENT' 'ROLES'
  ;
 
 ShowCurrentRolesStatement_EDIT
- : AnyShow '<hive>CURRENT' 'CURSOR'
-   {
-     parser.suggestKeywords([ 'ROLES' ]);
-   }
- | AnyShow '<impala>CURRENT' 'CURSOR'
+ : 'SHOW' 'CURRENT' 'CURSOR'
    {
      parser.suggestKeywords([ 'ROLES' ]);
    }
- | AnyShow 'CURSOR' '<impala>ROLES'
-   {
-     parser.suggestKeywords([ 'CURRENT' ]);
-   }
  ;
 
 ShowDatabasesStatement
- : AnyShow HiveOrImpalaDatabasesOrSchemas 'LIKE' SingleQuotedValue
- | AnyShow '<impala>DATABASES' SingleQuotedValue
+ : 'SHOW' DatabasesOrSchemas 'LIKE' SingleQuotedValue
  ;
 
 ShowDatabasesStatement_EDIT
- : AnyShow HiveOrImpalaDatabasesOrSchemas 'CURSOR'
+ : 'SHOW' DatabasesOrSchemas 'CURSOR'
    {
      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
- : 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
- : 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
- : AnyShow '<hive>GRANT' OptionalPrincipalName_EDIT
+ : 'SHOW' 'GRANT' OptionalPrincipalName_EDIT
    {
      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.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();
    }
- | AnyShow '<hive>GRANT' OptionalPrincipalName 'ON' 'CURSOR' SchemaQualifiedTableIdentifier
+ | 'SHOW' 'GRANT' OptionalPrincipalName 'ON' 'CURSOR' SchemaQualifiedTableIdentifier
    {
      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
@@ -403,67 +235,67 @@ OptionalPrincipalName_EDIT
  ;
 
 ShowIndexStatement
- : AnyShow OptionallyFormattedIndex 'ON' RegularOrBacktickedIdentifier
- | AnyShow OptionallyFormattedIndex 'ON' RegularOrBacktickedIdentifier AnyFromOrIn RegularOrBacktickedIdentifier
+ : 'SHOW' OptionallyFormattedIndex 'ON' RegularOrBacktickedIdentifier
+ | 'SHOW' OptionallyFormattedIndex 'ON' RegularOrBacktickedIdentifier FromOrIn RegularOrBacktickedIdentifier
  ;
 
 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']);
    }
- | AnyShow OptionallyFormattedIndex 'ON' 'CURSOR'
+ | 'SHOW' OptionallyFormattedIndex 'ON' 'CURSOR'
    {
      parser.suggestTables();
    }
- | AnyShow OptionallyFormattedIndex 'CURSOR' RegularOrBacktickedIdentifier
+ | 'SHOW' OptionallyFormattedIndex 'CURSOR' RegularOrBacktickedIdentifier
    {
      parser.suggestKeywords(['ON']);
    }
- | AnyShow OptionallyFormattedIndex 'ON' RegularOrBacktickedIdentifier 'CURSOR'
+ | 'SHOW' OptionallyFormattedIndex 'ON' RegularOrBacktickedIdentifier 'CURSOR'
    {
      parser.suggestKeywords(['FROM', 'IN']);
    }
- | AnyShow OptionallyFormattedIndex 'ON' RegularOrBacktickedIdentifier 'CURSOR' RegularOrBacktickedIdentifier
+ | 'SHOW' OptionallyFormattedIndex 'ON' RegularOrBacktickedIdentifier 'CURSOR' RegularOrBacktickedIdentifier
    {
      parser.suggestKeywords(['FROM', 'IN']);
    }
- | AnyShow OptionallyFormattedIndex 'ON' RegularOrBacktickedIdentifier AnyFromOrIn 'CURSOR'
+ | 'SHOW' OptionallyFormattedIndex 'ON' RegularOrBacktickedIdentifier FromOrIn 'CURSOR'
    {
      parser.suggestDatabases();
    }
- | AnyShow OptionallyFormattedIndex 'ON' 'CURSOR' AnyFromOrIn RegularOrBacktickedIdentifier
+ | 'SHOW' OptionallyFormattedIndex 'ON' 'CURSOR' FromOrIn RegularOrBacktickedIdentifier
    {
      parser.suggestTables({identifierChain: [{name: $6}]});
    }
  ;
 
 ShowLocksStatement
- : AnyShow '<hive>LOCKS' RegularOrBackTickedSchemaQualifiedName
+ : 'SHOW' 'LOCKS' RegularOrBackTickedSchemaQualifiedName
    {
      parser.addTablePrimary($3);
    }
- | AnyShow '<hive>LOCKS' RegularOrBackTickedSchemaQualifiedName '<hive>EXTENDED'
+ | 'SHOW' 'LOCKS' RegularOrBackTickedSchemaQualifiedName 'EXTENDED'
    {
      parser.addTablePrimary($3);
    }
- | AnyShow '<hive>LOCKS' RegularOrBackTickedSchemaQualifiedName PartitionSpec
+ | 'SHOW' 'LOCKS' RegularOrBackTickedSchemaQualifiedName PartitionSpec
    {
      parser.addTablePrimary($3);
    }
- | AnyShow '<hive>LOCKS' RegularOrBackTickedSchemaQualifiedName PartitionSpec '<hive>EXTENDED'
+ | 'SHOW' 'LOCKS' RegularOrBackTickedSchemaQualifiedName PartitionSpec 'EXTENDED'
    {
      parser.addTablePrimary($3);
    }
- | AnyShow '<hive>LOCKS' DatabaseOrSchema RegularOrBacktickedIdentifier
+ | 'SHOW' 'LOCKS' DatabaseOrSchema RegularOrBacktickedIdentifier
  ;
 
 ShowLocksStatement_EDIT
- : AnyShow '<hive>LOCKS' 'CURSOR'
+ : 'SHOW' 'LOCKS' 'CURSOR'
    {
      parser.suggestTables();
      parser.suggestDatabases({
@@ -471,132 +303,94 @@ ShowLocksStatement_EDIT
      });
      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.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.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();
    }
  ;
 
 ShowPartitionsStatement
- : AnyShow '<hive>PARTITIONS' RegularOrBackTickedSchemaQualifiedName
-   {
-     parser.addTablePrimary($3);
-   }
- | AnyShow '<hive>PARTITIONS' RegularOrBackTickedSchemaQualifiedName PartitionSpec
+ : 'SHOW' 'PARTITIONS' RegularOrBackTickedSchemaQualifiedName
    {
      parser.addTablePrimary($3);
    }
- | AnyShow '<impala>PARTITIONS' RegularOrBackTickedSchemaQualifiedName
-   {
-     parser.addTablePrimary($3);
-   }
- | AnyShow '<impala>RANGE' '<impala>PARTITIONS' RegularOrBackTickedSchemaQualifiedName
+ | 'SHOW' 'PARTITIONS' RegularOrBackTickedSchemaQualifiedName PartitionSpec
    {
      parser.addTablePrimary($3);
    }
  ;
 
 ShowPartitionsStatement_EDIT
- : AnyShow '<hive>PARTITIONS' 'CURSOR'
+ : 'SHOW' 'PARTITIONS' 'CURSOR'
    {
      parser.suggestTables();
      parser.suggestDatabases({
        appendDot: true
      });
    }
- | AnyShow '<hive>PARTITIONS' RegularOrBackTickedSchemaQualifiedName_EDIT
- | AnyShow '<hive>PARTITIONS' RegularOrBackTickedSchemaQualifiedName 'CURSOR'
+ | 'SHOW' 'PARTITIONS' RegularOrBackTickedSchemaQualifiedName_EDIT
+ | 'SHOW' 'PARTITIONS' RegularOrBackTickedSchemaQualifiedName 'CURSOR'
    {
      parser.addTablePrimary($3);
      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
- : AnyShow '<hive>ROLE' '<hive>GRANT' HiveRoleOrUser RegularIdentifier
- | AnyShow '<impala>ROLE' '<impala>GRANT' '<impala>GROUP' RegularIdentifier
+ : 'SHOW' 'ROLE' 'GRANT' RoleOrUser RegularIdentifier
  ;
 
 ShowRoleStatement_EDIT
- : AnyShow '<hive>ROLE' 'CURSOR'
+ : 'SHOW' 'ROLE' 'CURSOR'
    {
      parser.suggestKeywords(['GRANT']);
    }
- | AnyShow '<impala>ROLE' 'CURSOR'
+ | 'SHOW' 'ROLE' 'CURSOR' RoleOrUser RegularIdentifier
    {
      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']);
    }
- | AnyShow '<hive>ROLE' '<hive>GRANT' 'CURSOR' RegularIdentifier
+ | 'SHOW' 'ROLE' 'GRANT' 'CURSOR' RegularIdentifier
    {
      parser.suggestKeywords(['ROLE', 'USER']);
    }
- | AnyShow '<impala>ROLE' '<impala>GRANT' 'CURSOR'
-   {
-     parser.suggestKeywords(['GROUP']);
-   }
- | AnyShow '<impala>ROLE' '<impala>GRANT' 'CURSOR' RegularIdentifier
-   {
-     parser.suggestKeywords(['GROUP']);
-   }
  ;
 
 ShowRolesStatement
- : AnyShow '<impala>ROLES'
- | AnyShow '<hive>ROLES'
+ : 'SHOW' 'ROLES'
  ;
 
 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
- : AnyShow '<hive>TABLE' 'CURSOR'
+ : 'SHOW' 'TABLE' 'CURSOR'
    {
      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) {
         parser.suggestKeywords(['LIKE']);
@@ -604,60 +398,42 @@ ShowTableStatement_EDIT
         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']);
     }
- | AnyShow '<hive>TABLE' '<hive>EXTENDED' OptionalFromDatabase 'LIKE' SingleQuotedValue 'CURSOR'
+ | 'SHOW' 'TABLE' 'EXTENDED' OptionalFromDatabase 'LIKE' SingleQuotedValue 'CURSOR'
     {
       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']);
    }
- | AnyShow '<hive>TABLE' '<hive>EXTENDED' OptionalFromDatabase 'CURSOR' SingleQuotedValue PartitionSpec
+ | 'SHOW' 'TABLE' 'EXTENDED' OptionalFromDatabase 'CURSOR' SingleQuotedValue PartitionSpec
    {
      parser.suggestKeywords(['LIKE']);
    }
- | AnyShow '<hive>TABLE' '<hive>EXTENDED' OptionalFromDatabase 'LIKE' SingleQuotedValue 'CURSOR' PartitionSpecList
+ | 'SHOW' 'TABLE' 'EXTENDED' OptionalFromDatabase 'LIKE' SingleQuotedValue 'CURSOR' PartitionSpecList
    {
      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
- : 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
- : AnyShow HiveOrImpalaTables OptionalInDatabase 'CURSOR'
+ : 'SHOW' 'TABLES' OptionalInDatabase 'CURSOR'
    {
      if (!$3) {
        parser.suggestKeywords(['IN', 'LIKE']);
@@ -668,19 +444,19 @@ ShowTablesStatement_EDIT
  ;
 
 ShowTblPropertiesStatement
- : AnyShow '<hive>TBLPROPERTIES' RegularOrBackTickedSchemaQualifiedName
+ : 'SHOW' 'TBLPROPERTIES' RegularOrBackTickedSchemaQualifiedName
    {
      parser.addTablePrimary($3);
    }
- | AnyShow '<hive>TBLPROPERTIES' RegularOrBackTickedSchemaQualifiedName '(' QuotedValue ')'
+ | 'SHOW' 'TBLPROPERTIES' RegularOrBackTickedSchemaQualifiedName '(' QuotedValue ')'
    {
      parser.addTablePrimary($3);
    }
  ;
 
 ShowTblPropertiesStatement_EDIT
- : AnyShow '<hive>TBLPROPERTIES' RegularOrBackTickedSchemaQualifiedName_EDIT
- | AnyShow '<hive>TBLPROPERTIES' 'CURSOR'
+ : 'SHOW' 'TBLPROPERTIES' RegularOrBackTickedSchemaQualifiedName_EDIT
+ | 'SHOW' 'TBLPROPERTIES' 'CURSOR'
    {
      parser.suggestTables();
      parser.suggestDatabases({ prependDot: true });
@@ -688,15 +464,15 @@ ShowTblPropertiesStatement_EDIT
  ;
 
 ShowTransactionsStatement
- : AnyShow '<hive>TRANSACTIONS'
+ : 'SHOW' 'TRANSACTIONS'
  ;
 
 ShowViewsStatement
- : AnyShow '<hive>VIEWS' OptionalInOrFromDatabase OptionalLike
+ : 'SHOW' 'VIEWS' OptionalInOrFromDatabase OptionalLike
  ;
 
 ShowViewsStatement_EDIT
- : AnyShow '<hive>VIEWS' OptionalInOrFromDatabase OptionalLike 'CURSOR'
+ : 'SHOW' 'VIEWS' OptionalInOrFromDatabase OptionalLike 'CURSOR'
    {
      if (!$4 && !$3) {
        parser.suggestKeywords([{ value: 'IN', weight: 2 }, { value: 'FROM', weight: 2 }, { value: 'LIKE', weight: 1 }]);
@@ -704,8 +480,8 @@ ShowViewsStatement_EDIT
        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

+ 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 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' ]);
      }
    }

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

@@ -22,13 +22,8 @@ DataDefinition_EDIT
  : UseStatement_EDIT
  ;
 
-AnyUse
- : 'USE'
- | '<hive>USE'
- ;
-
 UseStatement
- : AnyUse RegularIdentifier
+ : 'USE' RegularIdentifier
    {
      if (! parser.yy.cursorFound) {
        parser.yy.result.useDatabase = $2;
@@ -37,7 +32,7 @@ UseStatement
  ;
 
 UseStatement_EDIT
- : AnyUse 'CURSOR'
+ : 'USE' 'CURSOR'
    {
      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 'TRUE'                             -> { types: [ 'BOOLEAN' ] }
  | ValueExpression 'IS' OptionalNot 'FALSE'                            -> { types: [ 'BOOLEAN' ] }
- | ValueExpression 'IS' OptionalNot '<impala>UNKNOWN'                  -> { types: [ 'BOOLEAN' ] }
  | ValueExpression 'IS' OptionalNot 'DISTINCT' 'FROM' ValueExpression  -> { types: [ 'BOOLEAN' ] }
  ;
 
@@ -77,27 +76,16 @@ ValueExpression_EDIT
    }
  | 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' ] };
    }
  | 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' ] };
    }
  | ValueExpression 'IS' OptionalNot 'DISTINCT' 'CURSOR'
    {
-     if (parser.isImpala()) {
-       parser.suggestKeywords(['FROM']);
-     }
      $$ = { types: [ 'BOOLEAN' ] };
    }
  | ValueExpression 'IS' 'CURSOR' 'NULL'
@@ -592,16 +580,12 @@ ValueExpression
 
 LikeRightPart
  : 'LIKE' ValueExpression             -> { suggestKeywords: ['NOT'] }
- | '<impala>ILIKE' ValueExpression    -> { suggestKeywords: ['NOT'] }
- | '<impala>IREGEXP' ValueExpression  -> { suggestKeywords: ['NOT'] }
  | 'RLIKE' ValueExpression            -> { suggestKeywords: ['NOT'] }
  | 'REGEXP' ValueExpression           -> { suggestKeywords: ['NOT'] }
  ;
 
 LikeRightPart_EDIT
  : 'LIKE' ValueExpression_EDIT
- | '<impala>ILIKE' ValueExpression_EDIT
- | '<impala>IREGEXP' ValueExpression_EDIT
  | 'RLIKE' ValueExpression_EDIT
  | 'REGEXP' ValueExpression_EDIT
  | 'LIKE' PartialBacktickedOrCursor
@@ -610,18 +594,6 @@ LikeRightPart_EDIT
      parser.suggestColumns({ types: [ 'STRING' ] });
      $$ = { 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
    {
      parser.suggestFunctions({ types: [ 'STRING' ] });
@@ -864,4 +836,4 @@ CaseWhenThenListPartTwo_EDIT
      parser.valueExpressionSuggest();
      $$ = { caseTypes: [{ types: ['T'] }] };
    }
- ;
+ ;

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

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

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

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

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels