public inbox for [email protected]  
help / color / mirror / Atom feed
Fix a bug of schema diff when comparing triggers with different when clauses
2+ messages / 2 participants
[nested] [flat]

* Fix a bug of schema diff when comparing triggers with different when clauses
@ 2021-03-01 00:58  [email protected] <[email protected]>
  0 siblings, 1 reply; 2+ messages in thread

From: [email protected] @ 2021-03-01 00:58 UTC (permalink / raw)
  To: pgadmin-hackers

Hi,



When I compare triggers with different when clauses, it shows the wrong diff DDL.

[cid:[email protected]]



I tried to fix the bug , as the attached patch shows.



--

Thanks && regards

HuangJ




Attachments:

  [image/jpeg] image001.jpg (42.1K, 3-image001.jpg)
  download | view image

  [application/octet-stream] fix-bug-of-SchemaDiff.patch (3.8K, 4-fix-bug-of-SchemaDiff.patch)
  download | inline diff:
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/default/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/default/update.sql
index 359d295bf..4c8fd07de 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/default/update.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/pg/default/update.sql
@@ -3,7 +3,7 @@ ALTER TRIGGER {{ conn|qtIdent(o_data.name) }} ON {{ conn|qtIdent(o_data.nspname,
     RENAME TO {{ conn|qtIdent(data.name) }};
 
 {% endif %}
-{% if ((data.prosrc is defined or data.is_row_trigger is defined or data.evnt_insert is defined or data.evnt_delete is defined or data.evnt_update is defined or data.fires is defined or data.is_constraint_trigger is defined) and (o_data.prosrc != data.prosrc or data.is_row_trigger != o_data.is_row_trigger or data.evnt_insert != o_data.evnt_insert or data.evnt_delete != o_data.evnt_delete or data.evnt_update != o_data.evnt_update or o_data.fires != data.fires or data.is_constraint_trigger != o_data.is_constraint_trigger))  %}
+{% if ((data.prosrc is defined or data.is_row_trigger is defined or data.evnt_insert is defined or data.evnt_delete is defined or data.evnt_update is defined or data.fires is defined or data.is_constraint_trigger is defined or data.whenclause is defined) and (o_data.prosrc != data.prosrc or data.is_row_trigger != o_data.is_row_trigger or data.evnt_insert != o_data.evnt_insert or data.evnt_delete != o_data.evnt_delete or data.evnt_update != o_data.evnt_update or o_data.fires != data.fires or data.is_constraint_trigger != o_data.is_constraint_trigger or data.whenclause != o_data.whenclause))  %}
 {% set or_flag = False %}
 {% if data.lanname == 'edbspl' or data.tfunction == 'Inline EDB-SPL' %}
 CREATE OR REPLACE TRIGGER {{ conn|qtIdent(data.name) }}
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/default/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/default/update.sql
index 822dbb836..e007e1251 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/default/update.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/triggers/sql/ppas/default/update.sql
@@ -3,7 +3,7 @@ ALTER TRIGGER {{ conn|qtIdent(o_data.name) }} ON {{ conn|qtIdent(o_data.nspname,
     RENAME TO {{ conn|qtIdent(data.name) }};
 
 {% endif %}
-{% if ((data.prosrc is defined or data.is_row_trigger is defined or data.evnt_insert is defined or data.evnt_delete is defined or data.evnt_update is defined or data.fires is defined or data.is_constraint_trigger is defined) and (o_data.prosrc != data.prosrc or data.is_row_trigger != o_data.is_row_trigger or data.evnt_insert != o_data.evnt_insert or data.evnt_delete != o_data.evnt_delete or data.evnt_update != o_data.evnt_update or o_data.fires != data.fires or data.is_constraint_trigger != o_data.is_constraint_trigger))  %}
+{% if ((data.prosrc is defined or data.is_row_trigger is defined or data.evnt_insert is defined or data.evnt_delete is defined or data.evnt_update is defined or data.fires is defined or data.is_constraint_trigger is defined or data.whenclause is defined) and (o_data.prosrc != data.prosrc or data.is_row_trigger != o_data.is_row_trigger or data.evnt_insert != o_data.evnt_insert or data.evnt_delete != o_data.evnt_delete or data.evnt_update != o_data.evnt_update or o_data.fires != data.fires or data.is_constraint_trigger != o_data.is_constraint_trigger or data.whenclause != o_data.whenclause))  %}
 {% set or_flag = False %}
 {% if data.lanname == 'edbspl' or data.tfunction == 'Inline EDB-SPL' %}
 CREATE OR REPLACE TRIGGER {{ conn|qtIdent(data.name) }}


^ permalink  raw  reply  [nested|flat] 2+ messages in thread

* Re: Fix a bug of schema diff when comparing triggers with different when clauses
@ 2021-03-01 07:51  Akshay Joshi <[email protected]>
  parent: [email protected] <[email protected]>
  0 siblings, 0 replies; 2+ messages in thread

From: Akshay Joshi @ 2021-03-01 07:51 UTC (permalink / raw)
  To: [email protected] <[email protected]>; +Cc: pgadmin-hackers

Thanks, patch applied.

On Mon, Mar 1, 2021 at 7:36 AM [email protected] <
[email protected]> wrote:

> Hi,
>
>
>
> When I compare triggers with different when clauses, it shows the wrong
> diff DDL.
>
>
>
> I tried to fix the bug , as the attached patch shows.
>
>
>
> --
>
> Thanks && regards
>
> HuangJ
>
>
>


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

*Mobile: +91 976-788-8246*


Attachments:

  [image/jpeg] image001.jpg (42.1K, 3-image001.jpg)
  download | view image

^ permalink  raw  reply  [nested|flat] 2+ messages in thread


end of thread, other threads:[~2021-03-01 07:51 UTC | newest]

Thread overview: 2+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2021-03-01 00:58 Fix a bug of schema diff when comparing triggers with different when clauses [email protected] <[email protected]>
2021-03-01 07:51 ` Akshay Joshi <[email protected]>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox