1) Add support of Compound Triggers for EPAS 12+. Fixes #4144. 2) Ensure enable trigger menu should be visible when trigger is disabled. Fixes #4578.
Branch ------ master Details ------- https://git.postgresql.org/gitweb?p=pgadmin4.git;a=commitdiff;h=350ffcce7c6ce7eb13f813f343944585aef23717 Modified Files -------------- docs/en_US/compound_trigger_dialog.rst | 75 ++ docs/en_US/images/compound_trigger_code.png | Bin 0 -> 144267 bytes docs/en_US/images/compound_trigger_events.png | Bin 0 -> 56064 bytes docs/en_US/images/compound_trigger_general.png | Bin 0 -> 38321 bytes docs/en_US/images/compound_trigger_sql.png | Bin 0 -> 93775 bytes docs/en_US/modifying_tables.rst | 1 + docs/en_US/release_notes_4_12.rst | 2 + .../schemas/tables/compound_triggers/__init__.py | 1017 ++++++++++++++++++++ .../static/img/coll-compound_trigger.svg | 1 + .../static/img/compound_trigger-bad.svg | 1 + .../static/img/compound_trigger.svg | 1 + .../static/js/compound_trigger.js | 412 ++++++++ .../compound_triggers/css/compound_trigger.css | 23 + .../tables/compound_triggers/tests/__init__.py | 16 + .../ppas/12_plus/alter_event_comment_code.sql | 26 + .../ppas/12_plus/create_for_insert_delete.sql | 13 + .../create_for_insert_update_on_columns.sql | 22 + .../ppas/12_plus/create_for_insert_with_when.sql | 23 + .../compound_triggers/tests/ppas/12_plus/test.json | 99 ++ .../tests/test_compound_triggers_add.py | 134 +++ .../tests/test_compound_triggers_delete.py | 98 ++ .../test_compound_triggers_delete_multiple.py | 112 +++ .../tests/test_compound_triggers_put.py | 134 +++ .../tables/compound_triggers/tests/utils.py | 137 +++ .../sql/ppas/12_plus}/backend_support.sql | 0 .../compound_triggers/sql/ppas/12_plus/create.sql | 26 + .../sql/ppas/12_plus}/delete.sql | 0 .../sql/ppas/12_plus}/enable_disable_trigger.sql | 0 .../sql/ppas/12_plus}/get_columns.sql | 0 .../sql/ppas/12_plus}/get_oid.sql | 0 .../sql/ppas/12_plus}/get_parent.sql | 0 .../compound_triggers/sql/ppas/12_plus/nodes.sql | 10 + .../sql/ppas/12_plus/properties.sql | 22 + .../compound_triggers/sql/ppas/12_plus/update.sql | 40 + .../triggers/sql/{ => gpdb}/9.1_plus/get_oid.sql | 0 .../triggers/sql/{ => gpdb}/9.1_plus/nodes.sql | 0 .../sql/{ => gpdb}/9.1_plus/properties.sql | 2 +- .../triggers/sql/{ => gpdb}/default/alter.sql | 0 .../triggers/sql/gpdb/default/backend_support.sql | 9 + .../triggers/sql/{ => gpdb}/default/create.sql | 0 .../templates/triggers/sql/gpdb/default/delete.sql | 1 + .../sql/gpdb/default/enable_disable_trigger.sql | 2 + .../triggers/sql/gpdb/default/get_columns.sql | 6 + .../triggers/sql/gpdb/default/get_oid.sql | 4 + .../triggers/sql/gpdb/default/get_parent.sql | 5 + .../{ => gpdb}/default/get_triggerfunctions.sql | 0 .../triggers/sql/{ => gpdb}/default/nodes.sql | 0 .../triggers/sql/{ => gpdb}/default/properties.sql | 0 .../triggers/sql/{ => gpdb}/default/update.sql | 12 +- .../triggers/sql/{ => pg}/10_plus/create.sql | 0 .../triggers/sql/{ => pg}/10_plus/properties.sql | 2 +- .../templates/triggers/sql/pg/9.1_plus/get_oid.sql | 5 + .../templates/triggers/sql/pg/9.1_plus/nodes.sql | 9 + .../triggers/sql/pg/9.1_plus/properties.sql | 23 + .../templates/triggers/sql/pg/default/alter.sql | 9 + .../triggers/sql/pg/default/backend_support.sql | 9 + .../templates/triggers/sql/pg/default/create.sql | 32 + .../templates/triggers/sql/pg/default/delete.sql | 1 + .../sql/pg/default/enable_disable_trigger.sql | 2 + .../triggers/sql/pg/default/get_columns.sql | 6 + .../templates/triggers/sql/pg/default/get_oid.sql | 4 + .../triggers/sql/pg/default/get_parent.sql | 5 + .../sql/pg/default/get_triggerfunctions.sql | 15 + .../templates/triggers/sql/pg/default/nodes.sql | 7 + .../triggers/sql/pg/default/properties.sql | 1 + .../templates/triggers/sql/pg/default/update.sql | 50 + .../templates/triggers/sql/ppas/10_plus/create.sql | 36 + .../triggers/sql/ppas/10_plus/properties.sql | 25 + .../templates/triggers/sql/ppas/12_plus/nodes.sql | 10 + .../triggers/sql/ppas/12_plus/properties.sql | 26 + .../triggers/sql/ppas/9.1_plus/get_oid.sql | 5 + .../templates/triggers/sql/ppas/9.1_plus/nodes.sql | 9 + .../triggers/sql/ppas/9.1_plus/properties.sql | 23 + .../templates/triggers/sql/ppas/default/alter.sql | 9 + .../triggers/sql/ppas/default/backend_support.sql | 9 + .../templates/triggers/sql/ppas/default/create.sql | 32 + .../templates/triggers/sql/ppas/default/delete.sql | 1 + .../sql/ppas/default/enable_disable_trigger.sql | 2 + .../triggers/sql/ppas/default/get_columns.sql | 6 + .../triggers/sql/ppas/default/get_oid.sql | 4 + .../triggers/sql/ppas/default/get_parent.sql | 5 + .../sql/ppas/default/get_triggerfunctions.sql | 15 + .../templates/triggers/sql/ppas/default/nodes.sql | 7 + .../triggers/sql/ppas/default/properties.sql | 1 + .../templates/triggers/sql/ppas/default/update.sql | 50 + .../tables/tests/test_trigger_get_oid_sql.py | 4 + .../schemas/tables/tests/test_trigger_nodes_sql.py | 4 + .../databases/schemas/tables/tests/test_utils.py | 2 +- .../databases/schemas/tables/triggers/__init__.py | 7 +- .../tests/test_triggers_delete_multiple.py | 6 +- .../tables/triggers/tests/test_triggers_put.py | 4 +- .../servers/databases/schemas/tables/utils.py | 95 +- .../servers/databases/schemas/views/__init__.py | 13 +- web/pgadmin/browser/static/js/menu.js | 7 +- web/webpack.config.js | 3 +- web/webpack.shim.js | 1 + 96 files changed, 3052 insertions(+), 35 deletions(-)