Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 74735 invoked from network); 1 May 2007 21:30:37 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 1 May 2007 21:30:37 -0000 Received: (qmail 98392 invoked by uid 500); 1 May 2007 21:30:43 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 98329 invoked by uid 500); 1 May 2007 21:30:43 -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 98307 invoked by uid 99); 1 May 2007 21:30:42 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 May 2007 14:30:42 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 May 2007 14:30:35 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id A5E13714066 for ; Tue, 1 May 2007 14:30:15 -0700 (PDT) Message-ID: <30544189.1178055015677.JavaMail.jira@brutus> Date: Tue, 1 May 2007 14:30:15 -0700 (PDT) From: "Dyre Tjeldvoll (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Commented: (DERBY-2594) Revoking a privilege from an SQL Object should invalidate statements dependent on that object In-Reply-To: <22741942.1177587435446.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/DERBY-2594?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12492954 ] Dyre Tjeldvoll commented on DERBY-2594: --------------------------------------- Hi Bryan, I'm glad you think it is useful. I guess I could include it, but there are some caveats: - Currently the trace is printed unconditionally. If it was to be committed I think I would have to put some SanityManager magic around it so that you only got this trace when setting a certain property (value). - The change I have shown above is not very general and makes use of "bad" downcasts that in turn requires the import of files the DependencyManager ideally shouldn't have to know about. - The DependencyManager already has a method called dumpDependencies() (or similar) which prints all the dependencies. I tried using that method but it generates so much output that it becomes really hard to find what you're looking for (especially if you call this method more than once). Part of the problem is that it relies on the Provider's and Dependent's toString() methods, which (for good reasons) generate far more output than is typically desired when looking at dependencies (in the case of GPSs it actually generates too little, only the UUID). - Ideally the Provider and Dependent interfaces should provide a describe method that would give the right amount of info for printing dependencies. That way the DependencyManager itself would not have to downcast to the exact types. It would also be good to have the ability to filter out the subset of dependencies that you were interested in. - Finally I believe I have seen in another Jira that Dan would like to re-design/re-write the DependencyManager at some point. So I guess I won't include this as part of the main patch, but I'm happy to attach it as a separate patch. And if the DependencyManager won't be re-written right away, I could try to make another patch based on my comments here (would need some more time for that though) > Revoking a privilege from an SQL Object should invalidate statements dependent on that object > --------------------------------------------------------------------------------------------- > > Key: DERBY-2594 > URL: https://issues.apache.org/jira/browse/DERBY-2594 > Project: Derby > Issue Type: Improvement > Components: SQL > Affects Versions: 10.2.1.6 > Reporter: Dyre Tjeldvoll > Assigned To: Dyre Tjeldvoll > Attachments: revoke_prelim.diff > > > Revoking a privilege on a table will currently cause the DependencyManager.invalidateFor() to be called on the table's TablePermsDescriptor with the action=REVOKE_PRIVILEGE. However, the prepared statements that refer to that table are dependents of the table's TableDescriptor, but NOT its TablePermsDescriptor, so the statements are not invalidated after revoke. > This problem is currently hidden by the fact that authorization is checked on every execution, but this will change when language result sets are no longer reused (see DERBY-827). -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.