Add view definitions

This commit is contained in:
Peter J. Holzer 2024-12-12 21:50:25 +01:00 committed by Peter J. Holzer
parent f6c64a50ab
commit d31204cd5c
1 changed files with 16 additions and 1 deletions

View File

@ -78,7 +78,8 @@ def parse_ruleset(ps):
ps3 = parse_table_rule(ps2) or \
parse_column_rule(ps2) or \
parse_data_rule(ps2) or \
parse_index_rule(ps2)
parse_index_rule(ps2) or \
parse_view_rule(ps2)
if ps3:
ps2.ast.append(ps3.ast)
ps2.position = ps3.position
@ -236,6 +237,20 @@ def parse_index_rule(ps):
return ps2
def parse_view_rule(ps):
ps2 = ps.clone()
ps2.skip_whitespace_and_comments()
if not ps2.match(r"view\b"):
ps.record_child_failure(ps2, "expected “view”")
return
ps2.skip_whitespace_and_comments()
ps3 = parse_table_name(ps2)
if not ps3:
ps.record_child_failure(ps2, "expected view name")
return
ps2.skip_whitespace_and_comments()
ps3 = parse_multiline_string(ps2)
def parse_table_name(ps):