Thanks, the patch applied.

On Tue, Jul 6, 2021 at 3:15 PM zhangj...@fujitsu.com <zhangj...@fujitsu.com>
wrote:

> Hi, all
>
> Extra brackets appear in CREATE Script and DDL Comparison,
> please refer to the attachment error1.png and error2.png for details.
>
> ■ scenario
> The step is as follow:
> 1) Connect to pg9.6 or pg9.5
> 2) The SQL to create the trigger is as follows.
> ---------------------------------------------
> CREATE TRIGGER tg1
>     BEFORE INSERT
>     ON public.tb1
>     FOR EACH ROW
>     WHEN (new.c1 > 0)
>     EXECUTE PROCEDURE public.tf1();
> ---------------------------------------------
>
> 3) Right click  tg1
> 4) Click CREATE Script
>
> The SQL shown in 'Query Editor' is as follows.
> ---------------------------------------------
> CREATE TRIGGER tg1
>     BEFORE INSERT
>     ON public.tb1
>     FOR EACH ROW
>     WHEN ((new.c1 > 0))   brackets appears twice.
>     EXECUTE PROCEDURE public.tf1();
> ------------------------------------------------
>
> ■ The detail of cause:
> file:
> web\pgadmin\browser\server_groups\servers\databases\schemas\tables\templates\triggers\sql\pg\default\create.sql
>
> WHEN ({{ data.whenclause }}){% endif %}
>
> There are already brackets in data.whenclause.
>
> ■ The summary of correction
> file:
> web\pgadmin\browser\server_groups\servers\databases\schemas\tables\templates\triggers\sql\pg\default\create.sql
> - WHEN ({{ data.whenclause }}){% endif %}
> + WHEN {% if not data.oid %}({% endif %}{{ data.whenclause }}{% if not
> data.oid %}){% endif %}{% endif %}
>
> Refer to the following code for the correction method.
> file:
> web\pgadmin\browser\server_groups\servers\databases\schemas\tables\templates\triggers\sql\pg\10_plus\create.sql
> WHEN {% if not data.oid %}({% endif %}{{ data.whenclause }}{% if not
> data.oid %}){% endif %}{% endif %}
>
> Here is a patch for create.sql
> Please review.
>
> Best Regards!
> Zhangjie
>
>
>
>

-- 
*Thanks & Regards*
*Akshay Joshi*
*pgAdmin Hacker | Principal Software Architect*
*EDB Postgres <http://edbpostgres.com>*

*Mobile: +91 976-788-8246*

Reply via email to