[pgAdmin4][patch] Remove extra brackets in CREATE Script and DDL Comparison

From: "zhangjie2(at)fujitsu(dot)com" <zhangjie2(at)fujitsu(dot)com>
To: "pgadmin-hackers(at)lists(dot)postgresql(dot)org" <pgadmin-hackers(at)lists(dot)postgresql(dot)org>
Subject: [pgAdmin4][patch] Remove extra brackets in CREATE Script and DDL Comparison
Date: 2021-07-06 08:56:13
Message-ID: TYWPR01MB76786238AD630CEF23B68A76F91B9@TYWPR01MB7678.jpnprd01.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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 Content-Type Size
image/png 14.0 KB
error2.png image/png 82.1 KB
create_sql.patch application/octet-stream 3.3 KB

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Akshay Joshi 2021-07-06 09:08:17 Re: [pgAdmin][Patch] - Housekeeping #6582 - [React] Port Extension object to react
Previous Message Akshay Joshi 2021-07-06 08:55:26 Re: [pgAdmin][RM-6569]: [Housekeeping][React] Port catalog objects to react