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 B71A5FBA6 for ; Tue, 2 Apr 2013 10:53:18 +0000 (UTC) Received: (qmail 90511 invoked by uid 500); 2 Apr 2013 10:53:18 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 90475 invoked by uid 500); 2 Apr 2013 10:53:17 -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 90396 invoked by uid 99); 2 Apr 2013 10:53:16 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Apr 2013 10:53:16 +0000 Date: Tue, 2 Apr 2013 10:53:15 +0000 (UTC) From: "Knut Anders Hatlen (JIRA)" To: derby-dev@db.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (DERBY-6075) Use modern collections in impl/sql/compile 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-6075?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13619699#comment-13619699 ] Knut Anders Hatlen commented on DERBY-6075: ------------------------------------------- I guess we could mention it in our release notes if there is a re-spin of the release candidate. In that case, I don't think we should mention any numbers, as the experiment I ran used a query that didn't use any tables, so real-world applications are not likely to see that high numbers. That said, I hope we won't have to re-spin the release candidate... > Use modern collections in impl/sql/compile > ------------------------------------------ > > Key: DERBY-6075 > URL: https://issues.apache.org/jira/browse/DERBY-6075 > Project: Derby > Issue Type: Bug > Components: SQL > Affects Versions: 10.10.1.1 > Reporter: Knut Anders Hatlen > Assignee: Knut Anders Hatlen > Priority: Minor > Attachments: Compile.java, d6075-10a-aggregate-vectors.diff, d6075-11a-remaining-vectors.diff, d6075-12a-stack.diff, d6075-13a-unused-properties.diff, d6075-14a-dead-syntax.diff, d6075-15a-sqlgrammar-vectors.diff, d6075-16a-negative-test.diff, d6075-17a-rename-aggregate-vectors.diff, d6075-1a-CollectNodesVisitor.diff, d6075-2a-bindExpression.diff, d6075-3a-javadoc.diff, d6075-4a-parameterList.diff, d6075-5a-ordering.diff, d6075-6a-DMLModStatementNode.diff, d6075-7a-more-signatures.diff, d6075-8a-local-hashtables.diff, d6075-9a-hashtable-fields.diff > > > The code in the org.apache.derby.impl.sql.compile package predates the Java Collections Framework and uses old-style collections like java.util.Vector and java.util.Hashtable. Since the old-style collection classes are used in many method signatures, it's difficult to use modern collection classes when adding new code. > I suggest we switch to using interfaces (like java.util.List and java.util.Map) instead of specific classes in the signatures, so that we have more flexibility in choosing the right collection class for the job. > Only changing the signatures would allow us to continue using Vector and Hashtable, since they implement the interfaces. However, I think it would be good to switch to ArrayList and HashMap in a second step. The instances in impl/sql/compile are not shared between threads, so we don't need the synchronization provided by the old-style classes. Switching to unsynchronized classes may make compilation slightly faster. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira