Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
436 changes: 129 additions & 307 deletions src/grammar/hive/HiveSqlParser.g4

Large diffs are not rendered by default.

58 changes: 9 additions & 49 deletions src/lib/hive/HiveSqlParser.interp

Large diffs are not rendered by default.

16,895 changes: 7,113 additions & 9,782 deletions src/lib/hive/HiveSqlParser.ts

Large diffs are not rendered by default.

540 changes: 50 additions & 490 deletions src/lib/hive/HiveSqlParserListener.ts

Large diffs are not rendered by default.

340 changes: 30 additions & 310 deletions src/lib/hive/HiveSqlParserVisitor.ts

Large diffs are not rendered by default.

2 changes: 0 additions & 2 deletions test/parser/hive/suggestion/tokenSuggestion.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,6 @@ describe('Hive SQL Token Suggestion', () => {
'SCHEDULED QUERY',
'MATERIALIZED VIEW',
'OR REPLACE',
'MANAGED TABLE',
]);
});

Expand Down Expand Up @@ -138,7 +137,6 @@ describe('Hive SQL Token Suggestion', () => {
'DATABASE',
'SCHEMA',
'RESOURCE PLAN',
'MATERIALIZED VIEW',
'SCHEDULED QUERY',
]);
});
Expand Down
20 changes: 20 additions & 0 deletions test/parser/hive/syntax/fixtures/authorization.sql
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,23 @@ REVOKE GRANT OPTION FOR ALL, ALTER, UPDATE, CREATE, DROP, INDEX, LOCK, SELECT, S
ON table_or_view_name
FROM USER `user`, ROLE `role`;

-- Lock and Unlock Statements
LOCK TABLE tbl1 SHARED;

LOCK TABLE tbl2 EXCLUSIVE;

LOCK TABLE tbl3 PARTITION (ds='2010-03-03') SHARED;

UNLOCK TABLE tbl1;

UNLOCK TABLE tbl2 PARTITION (ds='2010-03-03');

-- Lock and Unlock Database
LOCK DATABASE mydb SHARED;

LOCK DATABASE mydb EXCLUSIVE;

UNLOCK DATABASE mydb;

UNLOCK SCHEMA myschema;

4 changes: 3 additions & 1 deletion test/parser/hive/syntax/fixtures/createRole.sql
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
CREATE ROLE std_user;
CREATE ROLE std_user;

DROP ROLE admin_role;
2 changes: 2 additions & 0 deletions test/parser/hive/syntax/fixtures/drop.sql
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ DROP TEMPORARY MACRO IF EXISTS macro2;
-- Drop Role
DROP ROLE `admin`;

DROP ROLE role_name;

-- Drop Index
DROP INDEX table01_index ON table01;

Expand Down
26 changes: 25 additions & 1 deletion test/parser/hive/syntax/fixtures/select.sql
Original file line number Diff line number Diff line change
Expand Up @@ -247,4 +247,28 @@ FROM a JOIN b ON (a.id = b.id AND a.department = b.department) SELECT a.*;


SELECT COALESCE(SUM(c.amount), 0) AS total_amount FROM cust c;
SELECT SUM(c.amount) AS total_amount FROM cust c;
SELECT SUM(c.amount) AS total_amount FROM cust c;

-- Interval Expressions with plural forms
SELECT * FROM t1 WHERE dt > CURRENT_DATE - INTERVAL 3 YEARS;
SELECT * FROM t1 WHERE dt > CURRENT_DATE - INTERVAL 2 MONTHS;
SELECT * FROM t1 WHERE dt > CURRENT_DATE - INTERVAL 5 DAYS;
SELECT * FROM t1 WHERE dt > CURRENT_DATE - INTERVAL 24 HOURS;
SELECT * FROM t1 WHERE dt > CURRENT_DATE - INTERVAL 30 MINUTES;
SELECT * FROM t1 WHERE dt > CURRENT_DATE - INTERVAL 60 SECONDS;

-- Interval with singular forms
SELECT * FROM t1 WHERE dt > CURRENT_DATE - INTERVAL 1 YEAR;
SELECT * FROM t1 WHERE dt > CURRENT_DATE - INTERVAL 1 MONTH;
SELECT * FROM t1 WHERE dt > CURRENT_DATE - INTERVAL 1 DAY;
SELECT * FROM t1 WHERE dt > CURRENT_DATE - INTERVAL 1 HOUR;
SELECT * FROM t1 WHERE dt > CURRENT_DATE - INTERVAL 1 MINUTE;
SELECT * FROM t1 WHERE dt > CURRENT_DATE - INTERVAL 1 SECOND;

-- Year to Month interval
SELECT INTERVAL '1-2' YEAR TO MONTH;
SELECT INTERVAL '3-6' YEARS TO MONTHS;

-- Day to Second interval
SELECT INTERVAL '1 2:3:4' DAY TO SECOND;
SELECT INTERVAL '3 12:30:0' DAYS TO SECONDS;
Loading