---
source: crates/squawk_syntax/src/test.rs
input_file: crates/squawk_parser/tests/data/plpgsql/err/dyn_execute_stmt.sql
---
PLPGSQL@0..22
WHITESPACE@0..1 "\n"
PLPGSQL_BLOCK@1..21
BEGIN_KW@1..6 "begin"
WHITESPACE@6..9 "\n "
PLPGSQL_BODY@9..17
PLPGSQL_DYN_EXECUTE_STMT@9..17
EXECUTE_KW@9..16 "execute"
SEMICOLON@16..17 ";"
WHITESPACE@17..18 "\n"
END_KW@18..21 "end"
WHITESPACE@21..22 "\n"
---
PLPGSQL@0..46
WHITESPACE@0..1 "\n"
PLPGSQL_BLOCK@1..45
PLPGSQL_DECLARE_SECTION@1..17
DECLARE_KW@1..8 "declare"
WHITESPACE@8..11 "\n "
PLPGSQL_VAR_DECL@11..17
PLPGSQL_VAR_NAME@11..12
IDENT@11..12 "x"
WHITESPACE@12..13 " "
PATH_TYPE@13..16
PATH_REF@13..16
PATH_SEGMENT_REF@13..16
INT_KW@13..16 "int"
SEMICOLON@16..17 ";"
WHITESPACE@17..18 "\n"
BEGIN_KW@18..23 "begin"
WHITESPACE@23..26 "\n "
PLPGSQL_BODY@26..41
PLPGSQL_DYN_EXECUTE_STMT@26..41
EXECUTE_KW@26..33 "execute"
WHITESPACE@33..34 " "
PLPGSQL_INTO_CLAUSE@34..40
INTO_KW@34..38 "into"
WHITESPACE@38..39 " "
PLPGSQL_INTO_TARGET_LIST@39..40
PLPGSQL_INTO_TARGET@39..40
PLPGSQL_VAR_NAME_REF@39..40
IDENT@39..40 "x"
SEMICOLON@40..41 ";"
WHITESPACE@41..42 "\n"
END_KW@42..45 "end"
WHITESPACE@45..46 "\n"
---
PLPGSQL@0..30
WHITESPACE@0..1 "\n"
PLPGSQL_BLOCK@1..29
BEGIN_KW@1..6 "begin"
WHITESPACE@6..9 "\n "
PLPGSQL_BODY@9..25
PLPGSQL_DYN_EXECUTE_STMT@9..25
EXECUTE_KW@9..16 "execute"
WHITESPACE@16..17 " "
PLPGSQL_USING_CLAUSE@17..24
USING_KW@17..22 "using"
WHITESPACE@22..23 " "
PLPGSQL_EXPR@23..24
TARGET_LIST@23..24
TARGET@23..24
LITERAL@23..24
INT_NUMBER@23..24 "1"
SEMICOLON@24..25 ";"
WHITESPACE@25..26 "\n"
END_KW@26..29 "end"
WHITESPACE@29..30 "\n"
---
PLPGSQL@0..61
WHITESPACE@0..1 "\n"
PLPGSQL_BLOCK@1..60
PLPGSQL_DECLARE_SECTION@1..32
DECLARE_KW@1..8 "declare"
WHITESPACE@8..11 "\n "
PLPGSQL_VAR_DECL@11..32
PLPGSQL_VAR_NAME@11..12
IDENT@11..12 "q"
WHITESPACE@12..13 " "
PATH_TYPE@13..17
PATH_REF@13..17
PATH_SEGMENT_REF@13..17
TEXT_KW@13..17 "text"
WHITESPACE@17..18 " "
PLPGSQL_VAR_INIT@18..31
COLON_EQ@18..20 ":="
WHITESPACE@20..21 " "
PLPGSQL_EXPR@21..31
TARGET_LIST@21..31
TARGET@21..31
LITERAL@21..31
STRING@21..31 "'select 1'"
SEMICOLON@31..32 ";"
WHITESPACE@32..33 "\n"
BEGIN_KW@33..38 "begin"
WHITESPACE@38..41 "\n "
PLPGSQL_BODY@41..56
PLPGSQL_DYN_EXECUTE_STMT@41..56
EXECUTE_KW@41..48 "execute"
WHITESPACE@48..49 " "
PLPGSQL_EXPR@49..50
TARGET_LIST@49..50
TARGET@49..50
NAME_REF@49..50
IDENT@49..50 "q"
WHITESPACE@50..51 " "
PLPGSQL_INTO_CLAUSE@51..55
INTO_KW@51..55 "into"
PLPGSQL_INTO_TARGET_LIST@55..55
SEMICOLON@55..56 ";"
WHITESPACE@56..57 "\n"
END_KW@57..60 "end"
WHITESPACE@60..61 "\n"
---
PLPGSQL@0..88
WHITESPACE@0..1 "\n"
PLPGSQL_BLOCK@1..87
PLPGSQL_DECLARE_SECTION@1..50
DECLARE_KW@1..8 "declare"
WHITESPACE@8..11 "\n "
PLPGSQL_VAR_DECL@11..32
PLPGSQL_VAR_NAME@11..12
IDENT@11..12 "q"
WHITESPACE@12..13 " "
PATH_TYPE@13..17
PATH_REF@13..17
PATH_SEGMENT_REF@13..17
TEXT_KW@13..17 "text"
WHITESPACE@17..18 " "
PLPGSQL_VAR_INIT@18..31
COLON_EQ@18..20 ":="
WHITESPACE@20..21 " "
PLPGSQL_EXPR@21..31
TARGET_LIST@21..31
TARGET@21..31
LITERAL@21..31
STRING@21..31 "'select 1'"
SEMICOLON@31..32 ";"
WHITESPACE@32..35 "\n "
PLPGSQL_VAR_DECL@35..41
PLPGSQL_VAR_NAME@35..36
IDENT@35..36 "x"
WHITESPACE@36..37 " "
PATH_TYPE@37..40
PATH_REF@37..40
PATH_SEGMENT_REF@37..40
INT_KW@37..40 "int"
SEMICOLON@40..41 ";"
WHITESPACE@41..44 "\n "
PLPGSQL_VAR_DECL@44..50
PLPGSQL_VAR_NAME@44..45
IDENT@44..45 "y"
WHITESPACE@45..46 " "
PATH_TYPE@46..49
PATH_REF@46..49
PATH_SEGMENT_REF@46..49
INT_KW@46..49 "int"
SEMICOLON@49..50 ";"
WHITESPACE@50..51 "\n"
BEGIN_KW@51..56 "begin"
WHITESPACE@56..59 "\n "
PLPGSQL_BODY@59..83
PLPGSQL_DYN_EXECUTE_STMT@59..75
EXECUTE_KW@59..66 "execute"
WHITESPACE@66..67 " "
PLPGSQL_EXPR@67..68
TARGET_LIST@67..68
TARGET@67..68
NAME_REF@67..68
IDENT@67..68 "q"
WHITESPACE@68..69 " "
PLPGSQL_INTO_CLAUSE@69..75
INTO_KW@69..73 "into"
WHITESPACE@73..74 " "
PLPGSQL_INTO_TARGET_LIST@74..75
PLPGSQL_INTO_TARGET@74..75
PLPGSQL_VAR_NAME_REF@74..75
IDENT@74..75 "x"
WHITESPACE@75..76 " "
ERROR@76..83
INTO_KW@76..80 "into"
WHITESPACE@80..81 " "
IDENT@81..82 "y"
SEMICOLON@82..83 ";"
WHITESPACE@83..84 "\n"
END_KW@84..87 "end"
WHITESPACE@87..88 "\n"
error[syntax-error]: expected an expression
╭▸
4 │ execute;
╰╴ ━
error[syntax-error]: expected an expression
╭▸
13 │ execute into x;
╰╴ ━
error[syntax-error]: expected an expression
╭▸
20 │ execute using 1;
╰╴ ━
error[syntax-error]: expected an INTO target, got SEMICOLON
╭▸
29 │ execute q into;
╰╴ ━
error[syntax-error]: expected SEMICOLON
╭▸
40 │ execute q into x into y;
╰╴ ━
error[syntax-error]: expected a statement, got INTO_KW
╭▸
40 │ execute q into x into y;
╰╴ ━