[pgAdmin4][patch] Remove extra brackets in CREATE Script and DDL Comparison - Mailing list pgadmin-hackers

From zhangjie2@fujitsu.com
Subject [pgAdmin4][patch] Remove extra brackets in CREATE Script and DDL Comparison
Date
Msg-id TYWPR01MB76786238AD630CEF23B68A76F91B9@TYWPR01MB7678.jpnprd01.prod.outlook.com
Whole thread Raw
Responses Re: [pgAdmin4][patch] Remove extra brackets in CREATE Script and DDL Comparison
Re: [pgAdmin4][patch] Remove extra brackets in CREATE Script and DDL Comparison
List pgadmin-hackers
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




Attachment

pgadmin-hackers by date:

Previous
From: Akshay Joshi
Date:
Subject: Re: [pgAdmin][RM-6569]: [Housekeeping][React] Port catalog objects to react
Next
From: Akshay Joshi
Date:
Subject: Re: [pgAdmin][Patch] - Housekeeping #6582 - [React] Port Extension object to react