Return-Path: X-Original-To: apmail-db-derby-dev-archive@www.apache.org Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id BC9E97884 for ; Mon, 1 Aug 2011 19:03:32 +0000 (UTC) Received: (qmail 59231 invoked by uid 500); 1 Aug 2011 19:03:32 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 59219 invoked by uid 500); 1 Aug 2011 19:03:31 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 59212 invoked by uid 99); 1 Aug 2011 19:03:31 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Aug 2011 19:03:31 +0000 X-ASF-Spam-Status: No, hits=-2000.7 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Aug 2011 19:03:30 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id E4BF398DB6 for ; Mon, 1 Aug 2011 19:03:09 +0000 (UTC) Date: Mon, 1 Aug 2011 19:03:09 +0000 (UTC) From: "Mamta A. Satoor (JIRA)" To: derby-dev@db.apache.org Message-ID: <656752356.23468.1312225389933.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <1883232320.19120.1297814217500.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (DERBY-5044) ALTER TABLE DROP COLUMN will not detect triggers defined on other tables with their trigger action using the column being dropped MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/DERBY-5044?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13073665#comment-13073665 ] Mamta A. Satoor commented on DERBY-5044: ---------------------------------------- Dag, thanks for your comment. I was on vacation so couldn't reply sooner. I will look into what happens if the trigger is created by a different user than the one performing the alter table. Maybe, it can compiled as internal sql which may be doesn't check the ownership. > ALTER TABLE DROP COLUMN will not detect triggers defined on other tables with their trigger action using the column being dropped > --------------------------------------------------------------------------------------------------------------------------------- > > Key: DERBY-5044 > URL: https://issues.apache.org/jira/browse/DERBY-5044 > Project: Derby > Issue Type: Bug > Components: SQL > Affects Versions: 10.3.3.0, 10.4.1.3, 10.4.2.0, 10.5.3.0, 10.6.2.1, 10.7.1.1, 10.8.1.2 > Reporter: Mamta A. Satoor > Assignee: Mamta A. Satoor > Labels: derby_triage10_8 > > A trigger in it's trigger action.can use columns from a table other than the trigger table. When such a column is dropped, the trigger dependency does not get detected. > A test case for this can be found in AlterTableTest.java > //Following test case involves two tables. The trigger is defined > //on table 1 and it uses the column from table 2 in it's trigger > //action. This dependency of the trigger on a column from another > //table is not detected by Derby. > st.executeUpdate("create table atdc_14_tab1 (a1 integer, b1 integer)"); > st.executeUpdate("create table atdc_14_tab2 (a2 integer, b2 integer)"); > st.executeUpdate("insert into atdc_14_tab1 values(1,11)"); > st.executeUpdate("insert into atdc_14_tab2 values(1,11)"); > st.executeUpdate( > " create trigger atdc_14_trigger_1 after update " + > "on atdc_14_tab1 REFERENCING NEW AS newt " + > "for each row " + > "update atdc_14_tab2 set a2 = newt.a1"); > // following is not the right behavior. we should have gotten an error > // because column being dropped is getting used in a trigger action > st.executeUpdate("alter table atdc_14_tab2 drop column a2 restrict"); > rs = > st.executeQuery( > " select triggername from sys.systriggers where " + > "triggername = 'ATDC_14_TRIGGER_1' "); > JDBC.assertFullResultSet(rs, new String[][]{{"ATDC_14_TRIGGER_1"}}); -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira