From fa4317ba963b76df861c614ca348979eb9b21fbe Mon Sep 17 00:00:00 2001 From: Christian De la Hoz Date: Wed, 1 Sep 2021 17:47:59 +0200 Subject: [PATCH] get diagnostics --- corpus/plpgsql/get_diagnostics_statement.txt | 25 ++++++++++++++++++++ grammar.js | 3 +++ 2 files changed, 28 insertions(+) create mode 100644 corpus/plpgsql/get_diagnostics_statement.txt diff --git a/corpus/plpgsql/get_diagnostics_statement.txt b/corpus/plpgsql/get_diagnostics_statement.txt new file mode 100644 index 0000000..d264db2 --- /dev/null +++ b/corpus/plpgsql/get_diagnostics_statement.txt @@ -0,0 +1,25 @@ +================================================================================ +get diagnostics +================================================================================ +DO $$ +BEGIN + get current diagnostics foo = ROW_COUNT; + get diagnostics bar := ROW_COUNT; +END +$$; +-------------------------------------------------------------------------------- + +(source_file + (do_block + (block + (dollar_quote) + (body + (get_diagnostics_statement + (assign_statement + (identifier) + (identifier))) + (get_diagnostics_statement + (assign_statement + (identifier) + (identifier)))) + (dollar_quote)))) diff --git a/grammar.js b/grammar.js index 89ac368..e77c75d 100644 --- a/grammar.js +++ b/grammar.js @@ -410,6 +410,7 @@ module.exports = grammar({ choice( $._statement, $.assign_statement, + $.get_diagnostics_statement, $.return_statement, $.raise_statement, $.if_statement, @@ -420,6 +421,8 @@ module.exports = grammar({ ";", ), + get_diagnostics_statement: $ => seq(kw("get"), optional(kw("current")), kw("diagnostics"), $.assign_statement), + for_statement: $ => seq( kw("for"), commaSep1($.identifier), kw("in"), choice( seq(