|
@@ -56,7 +56,7 @@ ShowStatement_EDIT
|
|
|
if (parser.isHive()) {
|
|
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']);
|
|
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()) {
|
|
} else if (parser.isImpala()) {
|
|
|
- parser.suggestKeywords(['AGGREGATE FUNCTIONS', 'ANALYTIC FUNCTIONS', 'COLUMN STATS', 'CREATE TABLE', 'CURRENT ROLES', 'CREATE VIEW', 'DATABASES', 'FILES IN', 'FUNCTIONS', 'GRANT ROLE', 'PARTITIONS', 'RANGE PARTITIONS', 'ROLE GRANT GROUP', 'ROLES', 'SCHEMAS', 'TABLE STATS', 'TABLES']);
|
|
|
|
|
|
|
+ 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 {
|
|
} else {
|
|
|
parser.suggestKeywords(['COLUMNS', 'DATABASES', 'TABLES']);
|
|
parser.suggestKeywords(['COLUMNS', 'DATABASES', 'TABLES']);
|
|
|
}
|
|
}
|
|
@@ -331,9 +331,16 @@ ShowFunctionsStatement_EDIT
|
|
|
ShowGrantStatement
|
|
ShowGrantStatement
|
|
|
: AnyShow '<hive>GRANT' OptionalPrincipalName
|
|
: AnyShow '<hive>GRANT' OptionalPrincipalName
|
|
|
| AnyShow '<hive>GRANT' OptionalPrincipalName 'ON' '<hive>ALL'
|
|
| AnyShow '<hive>GRANT' OptionalPrincipalName 'ON' '<hive>ALL'
|
|
|
- | AnyShow '<hive>GRANT' OptionalPrincipalName 'ON' RegularOrBacktickedIdentifier
|
|
|
|
|
- | AnyShow '<hive>GRANT' OptionalPrincipalName 'ON' AnyTable RegularOrBacktickedIdentifier
|
|
|
|
|
- | AnyShow '<impala>GRANT' '<impala>ROLE' RegularOrBacktickedIdentifier
|
|
|
|
|
|
|
+ | AnyShow '<hive>GRANT' OptionalPrincipalName 'ON' SchemaQualifiedTableIdentifier
|
|
|
|
|
+ | AnyShow '<hive>GRANT' OptionalPrincipalName 'ON' AnyTable 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
|
|
|
;
|
|
;
|
|
|
|
|
|
|
|
ShowGrantStatement_EDIT
|
|
ShowGrantStatement_EDIT
|
|
@@ -347,18 +354,42 @@ ShowGrantStatement_EDIT
|
|
|
parser.suggestKeywords(['ALL', 'TABLE']);
|
|
parser.suggestKeywords(['ALL', 'TABLE']);
|
|
|
parser.suggestTables();
|
|
parser.suggestTables();
|
|
|
}
|
|
}
|
|
|
|
|
+ | AnyShow '<hive>GRANT' OptionalPrincipalName 'ON' SchemaQualifiedTableIdentifier_EDIT
|
|
|
| AnyShow '<hive>GRANT' OptionalPrincipalName 'ON' AnyTable 'CURSOR'
|
|
| AnyShow '<hive>GRANT' OptionalPrincipalName 'ON' AnyTable 'CURSOR'
|
|
|
{
|
|
{
|
|
|
parser.suggestTables();
|
|
parser.suggestTables();
|
|
|
}
|
|
}
|
|
|
- | AnyShow '<hive>GRANT' OptionalPrincipalName 'ON' 'CURSOR' RegularOrBacktickedIdentifier
|
|
|
|
|
|
|
+ | AnyShow '<hive>GRANT' OptionalPrincipalName 'ON' 'CURSOR' SchemaQualifiedTableIdentifier
|
|
|
{
|
|
{
|
|
|
parser.suggestKeywords(['TABLE']);
|
|
parser.suggestKeywords(['TABLE']);
|
|
|
}
|
|
}
|
|
|
|
|
+ | AnyShow '<hive>GRANT' OptionalPrincipalName 'ON' 'CURSOR' SchemaQualifiedTableIdentifier_EDIT
|
|
|
| AnyShow '<impala>GRANT' 'CURSOR'
|
|
| AnyShow '<impala>GRANT' 'CURSOR'
|
|
|
{
|
|
{
|
|
|
- parser.suggestKeywords(['ROLE']);
|
|
|
|
|
|
|
+ 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'
|
|
|
;
|
|
;
|
|
|
|
|
|
|
|
OptionalPrincipalName
|
|
OptionalPrincipalName
|