From 0d6f07a035e68555154c5a1f7764c855db12e389 Mon Sep 17 00:00:00 2001 From: Akshay Joshi Date: Tue, 20 Aug 2019 09:39:31 +0530 Subject: [PATCH] 1) Ensure compound triggers should be displayed under Views. Fixes #4638. 2) Ensure Truncate option should be available for Compound Triggers. Fixes #4641. --- docs/en_US/compound_trigger_dialog.rst | 11 +-- docs/en_US/images/compound_trigger_events.png | Bin 56064 -> 61492 bytes docs/en_US/release_notes_4_12.rst | 4 +- .../static/js/compound_trigger.js | 41 ++++++++- .../ppas/12_plus/create_for_all_event.sql | 16 ++++ .../tests/ppas/12_plus/test.json | 21 +++++ .../tests/test_compound_triggers_add.py | 71 ++++++++++++++- .../sql/ppas/12_plus/update.sql | 5 +- .../tables/triggers/static/js/trigger.js | 19 +++- .../databases/schemas/views/__init__.py | 81 +++++++++++++++++- .../schemas/views/children/__init__.py | 2 + 11 files changed, 259 insertions(+), 12 deletions(-) create mode 100644 web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/ppas/12_plus/create_for_all_event.sql diff --git a/docs/en_US/compound_trigger_dialog.rst b/docs/en_US/compound_trigger_dialog.rst index f50dbfd9b..f8e0f21d9 100644 --- a/docs/en_US/compound_trigger_dialog.rst +++ b/docs/en_US/compound_trigger_dialog.rst @@ -34,7 +34,8 @@ Use the fields in the *Events* tab to specify how and when the compound trigger * Select the type of event(s) that will invoke the compound trigger; to select an event type, move the switch next to the event to the *YES* position. - The supported event types are *INSERT*, *UPDATE*, *DELETE*. + The supported event types are *INSERT*, *UPDATE*, *DELETE* and *TRUNCATE*. + Views cannot have TRUNCATE triggers. * Use the *When* field to provide a boolean condition that will invoke the compound trigger. * If defining a column-specific compound trigger, use the *Columns* field to @@ -46,10 +47,10 @@ Click the *Code* tab to continue. :alt: Compound Trigger dialog code tab :align: center -Use the *Code* field to specify the code for the four timing events -*BEFORE STATEMENT*, *AFTER STATEMENT*, *BEFORE EACH ROW*, *AFTER EACH ROW* -that will be invoked when the compound trigger fires. Basic template is provided -with place holders. +Use the *Code* field to specify the code for the five timing events +*BEFORE STATEMENT*, *AFTER STATEMENT*, *BEFORE EACH ROW*, *AFTER EACH ROW*, +*INSTEAD OF EACH ROW* that will be invoked when the compound trigger fires. +Basic template is provided with place holders. Click the *SQL* tab to continue. diff --git a/docs/en_US/images/compound_trigger_events.png b/docs/en_US/images/compound_trigger_events.png index 6c37a9c6847009321d3caf642e0c58778051e78e..676ec998384dff9a6da2c4832518a657a0a46d19 100644 GIT binary patch literal 61492 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 WXaEGYRjpnC0000${l6bNvTl6}A;H{=V} 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Ψ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 - Fix console error when changing kind(SQL/BATCH) for pgAgent job step. | `Issue #4585 `_ - Fix double click issue to expand the contents of a cell if the resultset was not editable. | `Issue #4586 `_ - Fix generation of reverse engineered SQL for Rules. -| `Issue #4635 `_ - Ensure compound triggers for event should be updated properly. \ No newline at end of file +| `Issue #4635 `_ - Ensure compound triggers for event should be updated properly. +| `Issue #4638 `_ - Ensure compound triggers should be displayed under Views. +| `Issue #4641 `_ - Ensure Truncate option should be available for Compound Triggers. \ No newline at end of file diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/static/js/compound_trigger.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/static/js/compound_trigger.js index 109c33f24..2c30d1bcd 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/static/js/compound_trigger.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/static/js/compound_trigger.js @@ -185,7 +185,13 @@ define('pgadmin.node.compound_trigger', [ type: 'int', disabled: true, mode: ['properties'], },{ id: 'is_enable_trigger', label: gettext('Trigger enabled?'), - type: 'switch', disabled: 'inSchema', mode: ['edit', 'properties'], + type: 'switch', mode: ['edit', 'properties'], + disabled: function() { + if(this.node_info && ('catalog' in this.node_info || 'view' in this.node_info)) { + return true; + } + return false; + }, },{ type: 'nested', control: 'fieldset', mode: ['create','edit', 'properties'], label: gettext('FOR Events'), group: gettext('Events'), contentClass: 'row', @@ -228,6 +234,23 @@ define('pgadmin.node.compound_trigger', [ return false; return m.inSchemaWithModelCheck.apply(this, [m]); }, + },{ + id: 'evnt_truncate', label: gettext('TRUNCATE'), + type: 'switch', mode: ['create','edit', 'properties'], + group: gettext('FOR Events'), + extraToggleClasses: 'pg-el-sm-6', + controlLabelClassName: 'control-label pg-el-sm-5 pg-el-12', + controlsClassName: 'pgadmin-controls pg-el-sm-7 pg-el-12', + disabled: function(m) { + var evn_truncate = m.get('evnt_truncate'); + // Views cannot have TRUNCATE triggers. + if ('view' in m.node_info) + return true; + + if (!_.isUndefined(evn_truncate) && m.node_info['server']['server_type'] == 'ppas') + return false; + return m.inSchemaWithModelCheck.apply(this, [m]); + }, }], },{ id: 'whenclause', label: gettext('When'), @@ -337,6 +360,12 @@ define('pgadmin.node.compound_trigger', [ ' -- Enter any local declarations here\n' + 'BEGIN\n' + ' -- Enter any required code here\n' + + 'END;\n\n' + + '-- INSTEAD OF EACH ROW block. Delete if not required.\n' + + 'INSTEAD OF EACH ROW IS\n' + + ' -- Enter any local declarations here\n' + + 'BEGIN\n' + + ' -- Enter any required code here\n' + 'END;'); }, // We will check if we are under schema node & in 'create' mode @@ -397,11 +426,21 @@ define('pgadmin.node.compound_trigger', [ }, // Check to whether trigger is disable ? canCreate_with_compound_trigger_enable: function(itemData, item, data) { + var treeData = this.getTreeNodeHierarchy(item); + if ('view' in treeData) { + return false; + } + return itemData.icon === 'icon-compound_trigger-bad' && this.canCreate.apply(this, [itemData, item, data]); }, // Check to whether trigger is enable ? canCreate_with_compound_trigger_disable: function(itemData, item, data) { + var treeData = this.getTreeNodeHierarchy(item); + if ('view' in treeData) { + return false; + } + return itemData.icon === 'icon-compound_trigger' && this.canCreate.apply(this, [itemData, item, data]); }, diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/ppas/12_plus/create_for_all_event.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/ppas/12_plus/create_for_all_event.sql new file mode 100644 index 000000000..257da20ab --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/ppas/12_plus/create_for_all_event.sql @@ -0,0 +1,16 @@ +-- Compound Trigger: test_compound_trigger_$%{}[]()&*^!@"'`\/# + +-- DROP TRIGGER "test_compound_trigger_$%{}[]()&*^!@""'`\/#" ON testschema.table_for_compound_trigger; + +CREATE OR REPLACE TRIGGER "test_compound_trigger_$%{}[]()&*^!@""'`\/#" + FOR INSERT OR DELETE OR TRUNCATE OR UPDATE + ON testschema.table_for_compound_trigger + COMPOUND TRIGGER +var character varying(20) DEFAULT 'Global_var'; + +BEFORE STATEMENT IS +BEGIN + DBMS_OUTPUT.PUT_LINE('Before Statement: ' || var); + var := 'BEFORE STATEMENT'; +END; +END "test_compound_trigger_$%{}[]()&*^!@""'`\/#"; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/ppas/12_plus/test.json b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/ppas/12_plus/test.json index 9037c195f..e33be7670 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/ppas/12_plus/test.json +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/ppas/12_plus/test.json @@ -94,6 +94,27 @@ "data": { "name": "test_compound_trigger_$%{}[]()&*^!@\"'`\\/#" } + }, { + "type": "create", + "name": "Create compound trigger for all event", + "endpoint": "NODE-compound_trigger.obj", + "sql_endpoint": "NODE-compound_trigger.sql_id", + "data": { + "name": "test_compound_trigger_$%{}[]()&*^!@\"'`\\/#", + "prosrc": "var varchar2(20) := 'Global_var';\n\nBEFORE STATEMENT IS\nBEGIN\n\tDBMS_OUTPUT.PUT_LINE('Before Statement: ' || var);\n\tvar := 'BEFORE STATEMENT';\nEND;", + "evnt_insert": true, + "evnt_update": true, + "evnt_delete": true, + "evnt_truncate": true + }, + "expected_sql_file": "create_for_all_event.sql" + }, { + "type": "delete", + "name": "Drop Compound Trigger", + "endpoint": "NODE-compound_trigger.delete_id", + "data": { + "name": "test_compound_trigger_$%{}[]()&*^!@\"'`\\/#" + } } ] } diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_add.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_add.py index ba839aeef..a7969d26b 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_add.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/compound_triggers/tests/test_compound_triggers_add.py @@ -20,12 +20,28 @@ from pgadmin.browser.server_groups.servers.databases.tests import utils as \ from pgadmin.utils.route import BaseTestGenerator from regression import parent_node_dict from regression.python_test_utils import test_utils as utils +from pgadmin.browser.server_groups.servers.databases.schemas.views.tests \ + import utils as view_utils class CompoundTriggersAddTestCase(BaseTestGenerator): """This class will add new compound trigger under table node.""" skip_on_database = ['gpdb'] scenarios = [ + ('Create compound trigger for all events', + dict( + url='/browser/compound_trigger/obj/', + data={ + "prosrc": "var varchar2(20) := 'Global_var';\n\n" + "BEFORE STATEMENT IS\nBEGIN\n " + "DBMS_OUTPUT.PUT_LINE('Before Statement: ' || var)" + ";\n var := 'BEFORE STATEMENT';\nEND;", + "evnt_insert": True, + "evnt_update": True, + "evnt_delete": True, + "evnt_truncate": True + } + )), ('Create compound trigger for insert and delete', dict( url='/browser/compound_trigger/obj/', @@ -75,6 +91,47 @@ class CompoundTriggersAddTestCase(BaseTestGenerator): "columns": ["id", "name"] } )), + ('Create compound trigger for truncate', + dict( + url='/browser/compound_trigger/obj/', + data={ + "prosrc": "var varchar2(20) := 'Global_var';\n\n" + "BEFORE STATEMENT IS\nBEGIN\n " + "DBMS_OUTPUT.PUT_LINE('Before Statement: ' || var)" + ";\n var := 'BEFORE STATEMENT';\nEND;", + "evnt_truncate": True + } + )), + ('Create compound trigger for insert delete and update on view', + dict( + url='/browser/compound_trigger/obj/', + data={ + "prosrc": "var varchar2(20) := 'Global_var';\n\n" + "BEFORE STATEMENT IS\nBEGIN\n " + "DBMS_OUTPUT.PUT_LINE('Before Statement: ' || var)" + ";\n var := 'BEFORE STATEMENT';\nEND;", + "evnt_insert": True, + "evnt_update": True, + "evnt_delete": True, + "evnt_truncate": False + }, + on_view=True + )), + ('Create compound trigger for instead of each row', + dict( + url='/browser/compound_trigger/obj/', + data={ + "prosrc": "var varchar2(20) := 'Global_var';\n\n" + "INSTEAD OF EACH ROW IS\nBEGIN\n " + "DBMS_OUTPUT.PUT_LINE('Instead of: ' || var)" + ";\n var := 'INSTEAD OF EACH ROW';\nEND;", + "evnt_insert": True, + "evnt_update": True, + "evnt_delete": True, + "evnt_truncate": False + }, + on_view=True + )), ] def setUp(self): @@ -112,6 +169,14 @@ class CompoundTriggersAddTestCase(BaseTestGenerator): self.table_id = tables_utils.create_table(self.server, self.db_name, self.schema_name, self.table_name) + view_sql = "CREATE OR REPLACE VIEW %s.%s AS SELECT 'Hello World'; " \ + "ALTER TABLE %s.%s OWNER TO %s" + self.view_name = \ + "view_compound_trigger_%s" % (str(uuid.uuid4())[1:8]) + self.view_id = view_utils.create_view(self.server, self.db_name, + self.schema_name, + view_sql, + self.view_name) def runTest(self): """This function will create compound trigger under table node.""" @@ -120,10 +185,14 @@ class CompoundTriggersAddTestCase(BaseTestGenerator): self.data.update({"name": trigger_name}) + object_id = self.table_id + if hasattr(self, 'on_view'): + object_id = self.view_id + response = self.tester.post( "{0}{1}/{2}/{3}/{4}/{5}/".format(self.url, utils.SERVER_GROUP, self.server_id, self.db_id, - self.schema_id, self.table_id), + self.schema_id, object_id), data=json.dumps(self.data), content_type='html/json' ) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/compound_triggers/sql/ppas/12_plus/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/compound_triggers/sql/ppas/12_plus/update.sql index 8bced4b8c..51308dab7 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/compound_triggers/sql/ppas/12_plus/update.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/compound_triggers/sql/ppas/12_plus/update.sql @@ -9,7 +9,10 @@ CREATE OR REPLACE TRIGGER {{ conn|qtIdent(data.name) }} FOR {% if data.evnt_insert is not defined %}{% if o_data.evnt_insert %}INSERT{% set or_flag = True %}{% endif %}{% else %}{% if data.evnt_insert %}INSERT{% set or_flag = True %}{% endif %}{% endif %}{% if data.evnt_delete is not defined %}{% if o_data.evnt_delete %} {% if or_flag %} OR {% endif %}DELETE{% set or_flag = True %} {% endif %}{% else %}{% if data.evnt_delete %} -{% if or_flag %} OR {% endif %}DELETE{% set or_flag = True %}{%endif %}{% endif %}{% if data.evnt_update is not defined %}{% if o_data.evnt_update %} +{% if or_flag %} OR {% endif %}DELETE{% set or_flag = True %}{%endif %}{% endif %}{% if data.evnt_truncate is not defined %}{% if o_data.evnt_truncate %} +{% if or_flag %} OR {% endif %}TRUNCATE{% set or_flag = True %} +{% endif %}{% else %}{% if data.evnt_truncate %} +{% if or_flag %} OR {% endif %}TRUNCATE{% set or_flag = True %}{%endif %}{% endif %}{% if data.evnt_update is not defined %}{% if o_data.evnt_update %} {% if or_flag %} OR {% endif %}UPDATE{% if o_data.columns|length > 0 %} OF {% for c in o_data.columns %}{% if loop.index != 1 %}, {% endif %}{{ conn|qtIdent(c) }}{% endfor %}{% endif %} {% endif %}{% else %}{% if data.evnt_update %} {% if or_flag %} OR {% endif %}UPDATE{% if o_data.columns|length > 0 %} OF {% for c in o_data.columns %}{% if loop.index != 1 %}, {% endif %}{{ conn|qtIdent(c) }}{% endfor %}{% endif %}{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/static/js/trigger.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/static/js/trigger.js index 5745ed5f9..1a01268ab 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/static/js/trigger.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/static/js/trigger.js @@ -187,8 +187,13 @@ define('pgadmin.node.trigger', [ type: 'int', disabled: true, mode: ['properties'], },{ id: 'is_enable_trigger', label: gettext('Trigger enabled?'), - type: 'switch', disabled: 'inSchema', mode: ['edit', 'properties'], - group: gettext('Definition'), + type: 'switch', mode: ['edit', 'properties'], group: gettext('Definition'), + disabled: function() { + if(this.node_info && ('catalog' in this.node_info || 'view' in this.node_info)) { + return true; + } + return false; + }, },{ id: 'is_row_trigger', label: gettext('Row trigger?'), type: 'switch', group: gettext('Definition'), @@ -629,11 +634,21 @@ define('pgadmin.node.trigger', [ canCreate: SchemaChildTreeNode.isTreeItemOfChildOfSchema, // Check to whether trigger is disable ? canCreate_with_trigger_enable: function(itemData, item, data) { + var treeData = this.getTreeNodeHierarchy(item); + if ('view' in treeData) { + return false; + } + return itemData.icon === 'icon-trigger-bad' && this.canCreate.apply(this, [itemData, item, data]); }, // Check to whether trigger is enable ? canCreate_with_trigger_disable: function(itemData, item, data) { + var treeData = this.getTreeNodeHierarchy(item); + if ('view' in treeData) { + return false; + } + return itemData.icon === 'icon-trigger' && this.canCreate.apply(this, [itemData, item, data]); }, diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/__init__.py index 12442a26c..cfefa5314 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/__init__.py @@ -874,6 +874,83 @@ class ViewNode(PGChildNodeView, VacuumSettings): SQL_data += SQL return SQL_data + def get_compound_trigger_sql(self, vid): + """ + Get all compound trigger nodes associated with view node, + generate their sql and render into sql tab + """ + if self.manager.server_type == 'ppas' \ + and self.manager.version >= 120000: + + from pgadmin.browser.server_groups.servers.databases.schemas.utils\ + import trigger_definition + + # Define template path + self.ct_trigger_temp_path = 'compound_triggers' + + SQL_data = '' + SQL = render_template("/".join( + [self.ct_trigger_temp_path, + 'sql/{0}/#{1}#/nodes.sql'.format( + self.manager.server_type, self.manager.version)]), + tid=vid) + + status, data = self.conn.execute_dict(SQL) + if not status: + return internal_server_error(errormsg=data) + + for trigger in data['rows']: + SQL = render_template("/".join( + [self.ct_trigger_temp_path, + 'sql/{0}/#{1}#/properties.sql'.format( + self.manager.server_type, self.manager.version)]), + tid=vid, + trid=trigger['oid'] + ) + + status, res = self.conn.execute_dict(SQL) + if not status: + return internal_server_error(errormsg=res) + + if len(res['rows']) == 0: + continue + res_rows = dict(res['rows'][0]) + res_rows['table'] = res_rows['relname'] + res_rows['schema'] = self.view_schema + + if len(res_rows['tgattr']) > 1: + columns = ', '.join(res_rows['tgattr'].split(' ')) + SQL = render_template("/".join( + [self.ct_trigger_temp_path, + 'sql/{0}/#{1}#/get_columns.sql'.format( + self.manager.server_type, + self.manager.version)]), + tid=trigger['oid'], + clist=columns) + + status, rset = self.conn.execute_2darray(SQL) + if not status: + return internal_server_error(errormsg=rset) + # 'tgattr' contains list of columns from table + # used in trigger + columns = [] + + for col_row in rset['rows']: + columns.append(col_row['name']) + + res_rows['columns'] = columns + + res_rows = trigger_definition(res_rows) + SQL = render_template("/".join( + [self.ct_trigger_temp_path, + 'sql/{0}/#{1}#/create.sql'.format( + self.manager.server_type, self.manager.version)]), + data=res_rows, display_comments=True) + SQL_data += '\n' + SQL_data += SQL + + return SQL_data + def get_trigger_sql(self, vid): """ Get all trigger nodes associated with view node, @@ -943,7 +1020,8 @@ class ViewNode(PGChildNodeView, VacuumSettings): if not status: return internal_server_error(errormsg=result) - # Update the trigger function which we have fetched with schemaname + # Update the trigger function which we have fetched with + # schemaname if ( 'rows' in result and len(result['rows']) > 0 and 'tfunctions' in result['rows'][0] @@ -1083,6 +1161,7 @@ class ViewNode(PGChildNodeView, VacuumSettings): SQL_data += SQL SQL_data += self.get_rule_sql(vid) SQL_data += self.get_trigger_sql(vid) + SQL_data += self.get_compound_trigger_sql(vid) SQL_data += self.get_index_sql(did, vid) return ajax_response(response=SQL_data) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/children/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/children/__init__.py index b99b96a56..e0f13e21f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/children/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/children/__init__.py @@ -13,3 +13,5 @@ from pgadmin.browser.server_groups.servers.databases.schemas.tables.triggers \ import blueprint as triggers_modules from pgadmin.browser.server_groups.servers.databases.schemas.tables.rules \ import blueprint as rules_modules +from pgadmin.browser.server_groups.servers.databases.schemas.tables.\ + compound_triggers import blueprint as compound_trigger_modules