On Wed, May 22, 2024 at 4:18 PM Igor Gnatyuk <ig95...@gmail.com> wrote: > > Hi. > > Thanks for the comments. I fixed my mistakes by specifying sqlcode > instead of sqlstate and changed the phrase > with an explicit listing of options in USING. In addition, I moved the > paragraph with it below. > Please check out the new patch version in the attachment. >
after git apply jian@jian:~/Desktop/pg_src/src7/postgres$ git apply $PATCHES/fix_doc_raise_v3.patch jian@jian:~/Desktop/pg_src/src7/postgres$ git diff diff --git a/doc/src/sgml/plpgsql.sgml b/doc/src/sgml/plpgsql.sgml old mode 100644 new mode 100755 ----------------- i guess, that means your patch (fix_doc_raise_v3) has some structural problem. so I wrote it based on fix_doc_raise_v2.patch. please check attached. Feel free to change it.
From 28f32f22095b262654ab204327678c7f027a5d36 Mon Sep 17 00:00:00 2001 From: jian he <jian.universal...@gmail.com> Date: Wed, 22 May 2024 19:07:26 +0800 Subject: [PATCH v4 1/1] fix plpgsql raise command doc issue. 1. fix plpgsql raise command synopsis. 2. explain <replaceable class="parameter">condition_name</replaceable> and <replaceable class="parameter">sqlstate</replaceable>, also add a example for it. --- doc/src/sgml/plpgsql.sgml | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/doc/src/sgml/plpgsql.sgml b/doc/src/sgml/plpgsql.sgml index 6f880b70..e48e9d10 100644 --- a/doc/src/sgml/plpgsql.sgml +++ b/doc/src/sgml/plpgsql.sgml @@ -3805,10 +3805,10 @@ CALL transaction_test2(); raise errors. <synopsis> -RAISE <optional> <replaceable class="parameter">level</replaceable> </optional> '<replaceable class="parameter">format</replaceable>' <optional>, <replaceable class="parameter">expression</replaceable> <optional>, ... </optional></optional> <optional> USING <replaceable class="parameter">option</replaceable> = <replaceable class="parameter">expression</replaceable> <optional>, ... </optional> </optional>; -RAISE <optional> <replaceable class="parameter">level</replaceable> </optional> <replaceable class="parameter">condition_name</replaceable> <optional> USING <replaceable class="parameter">option</replaceable> = <replaceable class="parameter">expression</replaceable> <optional>, ... </optional> </optional>; -RAISE <optional> <replaceable class="parameter">level</replaceable> </optional> SQLSTATE '<replaceable class="parameter">sqlstate</replaceable>' <optional> USING <replaceable class="parameter">option</replaceable> = <replaceable class="parameter">expression</replaceable> <optional>, ... </optional> </optional>; -RAISE <optional> <replaceable class="parameter">level</replaceable> </optional> USING <replaceable class="parameter">option</replaceable> = <replaceable class="parameter">expression</replaceable> <optional>, ... </optional>; +RAISE <optional> <replaceable class="parameter">level</replaceable> </optional> '<replaceable class="parameter">format</replaceable>' <optional>, <replaceable class="parameter">expression</replaceable> <optional>, ... </optional></optional> <optional> USING <replaceable class="parameter">option</replaceable> { = | := } <replaceable class="parameter">expression</replaceable> <optional>, ... </optional> </optional>; +RAISE <optional> <replaceable class="parameter">level</replaceable> </optional> <replaceable class="parameter">condition_name</replaceable> <optional> USING <replaceable class="parameter">option</replaceable> { = | := } <replaceable class="parameter">expression</replaceable> <optional>, ... </optional> </optional>; +RAISE <optional> <replaceable class="parameter">level</replaceable> </optional> SQLSTATE '<replaceable class="parameter">sqlstate</replaceable>' <optional> USING <replaceable class="parameter">option</replaceable> { = | := } <replaceable class="parameter">expression</replaceable> <optional>, ... </optional> </optional>; +RAISE <optional> <replaceable class="parameter">level</replaceable> </optional> USING <replaceable class="parameter">option</replaceable> { = | := } <replaceable class="parameter">expression</replaceable> <optional>, ... </optional>; RAISE ; </synopsis> @@ -3852,11 +3852,30 @@ RAISE NOTICE 'Calling cs_create_job(%)', v_job_id; </programlisting> </para> + <para> + The <replaceable class="parameter">condition_name</replaceable> and + <replaceable class="parameter">sqlstate</replaceable> specifies + error condition name and the five-character SQLSTATE error code respectively. + See <xref linkend="errcodes-appendix"/> for more information. + </para> + + <para> + The examples below shows <replaceable class="parameter">condition_name</replaceable> + and <replaceable class="parameter">sqlstate</replaceable> options usage: +<programlisting> +RAISE division_by_zero; +RAISE SQLSTATE '22012'; +</programlisting> + </para> + <para> You can attach additional information to the error report by writing <literal>USING</literal> followed by <replaceable class="parameter">option</replaceable> = <replaceable - class="parameter">expression</replaceable> items. Each + class="parameter">expression</replaceable> or + <replaceable class="parameter">option</replaceable> := + <replaceable class="parameter">expression</replaceable> + items, where <replaceable class="parameter">expression</replaceable> can be any string-valued expression. The allowed <replaceable class="parameter">option</replaceable> key words are: -- 2.34.1