Subject: Re: Guidance Needed for Testing PostgreSQL Patch (CF-5044)

From: Andrew Dunstan <[email-masked]>
Date: Wed, 4 Dec 2024 09:08:53 -0500

On 2024-12-04 We 3:07 AM, postgresql_contributors wrote:
> Hi pg_hackers,
>
> I hope you are doing well. I am working on reviewing PostgreSQL 
> community tickets and started with the patch cf/5044.
> This patch is in the branch cf/5044, and I pulled the code to test it.
> Here’s what I have done so far:
>
>  *
>     Pulled the code from the branch cf/5044.
>  *
>     Compiled the code.
>  *
>     Set up the database as required.
>
> Tested the query for this patch mentioned in the community chat 
> (https://commitfest.postgresql.org/50/5044/ 
> <https://commitfest.postgresql.org/50/5044/>) .
> However, I didn’t get the expected output mentioned in the ticket 
> (below mentioned example).
>
> CREATE TABLE foo3(id serial PRIMARY key, txt text);
>
> INSERT INTO foo3 (txt) VALUES ('aaa'),('bbb');
> DO $$
> DECLARE
>     l_cnt int;
> BEGIN
>     l_cnt := 1
>     DELETE FROM foo3 WHERE id=1;
> END; $$
>
> -- without reaction - just don't work
>
> (2024-06-16 16:05:55) postgres=# set plpgsql.extra_errors to
> 'strict_expr_check';
> SET
> (2024-06-16 16:06:43) postgres=# DO $$
>
> DECLARE
>     l_cnt int;
> BEGIN
>     l_cnt := 1
>     DELETE FROM foo3 WHERE id=1;
> END; $$;
> ERROR:  syntax error at or near "DELETE"
> LINE 11:     DELETE FROM foo3 WHERE id=1;
>              ^
> Please provide guidance on this patch.
>

Well, it's told you what the problem is - there's a syntax error. And 
it's pretty glaring: the line

     l_cnt := 1

is missing a trailing semicolon. So I suggest you add that and then keep 
going.

cheers

andrew

--
Andrew Dunstan
EDB:https://www.enterprisedb.com