Support select subexpressions in view body

pull/315/head
Tim Luo 2022-06-21 23:49:02 +07:00
parent 7d0f8f4602
commit abb393f693
5 changed files with 326352 additions and 312699 deletions

@ -827,7 +827,11 @@ module.exports = grammar({
optional(choice(kw("CASCADED"), kw("LOCAL"))),
kw("CHECK OPTION"),
),
view_body: $ => seq(kw("AS"), choice($.select_statement, $.values_clause)),
view_body: $ =>
seq(
kw("AS"),
choice($.select_statement, $.select_subexpression, $.values_clause),
),
create_materialized_view_statement: $ =>
prec.right(

4
src/grammar.json vendored

@ -7459,6 +7459,10 @@
"type": "SYMBOL",
"name": "select_statement"
},
{
"type": "SYMBOL",
"name": "select_subexpression"
},
{
"type": "SYMBOL",
"name": "values_clause"

@ -6724,6 +6724,10 @@
"type": "select_statement",
"named": true
},
{
"type": "select_subexpression",
"named": true
},
{
"type": "values_clause",
"named": true

639028
src/parser.c vendored

File diff suppressed because it is too large Load Diff

@ -709,6 +709,7 @@ CREATE VIEW
================================================================================
CREATE VIEW foo AS SELECT 1;
CREATE VIEW foo AS (SELECT 1);
CREATE OR REPLACE VIEW foo AS SELECT 1;
CREATE TEMPORARY VIEW foo AS SELECT 1;
CREATE TEMP VIEW foo AS SELECT 1;
@ -723,6 +724,14 @@ CREATE TEMP VIEW foo AS SELECT 1;
(select_clause
(select_clause_body
(number))))))
(create_view_statement
(identifier)
(view_body
(select_subexpression
(select_statement
(select_clause
(select_clause_body
(number)))))))
(create_view_statement
(identifier)
(view_body