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
create_sql.patch
Description: create_sql.patch