Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 17461 invoked from network); 25 Jan 2010 13:52:05 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 25 Jan 2010 13:52:05 -0000 Received: (qmail 69650 invoked by uid 500); 25 Jan 2010 13:52:05 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 69611 invoked by uid 500); 25 Jan 2010 13:52:05 -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 69603 invoked by uid 99); 25 Jan 2010 13:52:05 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 25 Jan 2010 13:52:05 +0000 X-ASF-Spam-Status: No, hits=-4.0 required=10.0 tests=RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [192.18.43.132] (HELO sca-es-mail-1.sun.com) (192.18.43.132) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 25 Jan 2010 13:51:55 +0000 Received: from fe-sfbay-09.sun.com ([192.18.43.129]) by sca-es-mail-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id o0PDpXTv023699 for ; Mon, 25 Jan 2010 05:51:33 -0800 (PST) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; CHARSET=US-ASCII; format=flowed Received: from conversion-daemon.fe-sfbay-09.sun.com by fe-sfbay-09.sun.com (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul 2 2009)) id <0KWT00D002HQJM00@fe-sfbay-09.sun.com> for derby-dev@db.apache.org; Mon, 25 Jan 2010 05:51:33 -0800 (PST) Received: from richard-hillegas-computer.local ([unknown] [129.150.224.242]) by fe-sfbay-09.sun.com (Sun Java(tm) System Messaging Server 7u2-7.04 64bit (built Jul 2 2009)) with ESMTPSA id <0KWT008Q12HXWD10@fe-sfbay-09.sun.com> for derby-dev@db.apache.org; Mon, 25 Jan 2010 05:51:33 -0800 (PST) Date: Mon, 25 Jan 2010 05:51:33 -0800 From: Rick Hillegas Subject: unsubscribing from an Apache list, was: [jira] Commented: (DERBY-4520) Refactor and extend data type cloning facilities In-reply-to: Sender: Richard.Hillegas@Sun.COM To: derby-dev@db.apache.org Message-id: <4B5DA1E5.3050804@sun.com> References: <583334191.368401263993534659.JavaMail.jira@brutus.apache.org> <681183822.9261264416586511.JavaMail.jira@brutus.apache.org> User-Agent: Thunderbird 2.0.0.23 (Macintosh/20090812) X-Virus-Checked: Checked by ClamAV on apache.org Hi Srinivasa, Instructions for unsubscribing from an Apache list can be found here: http://www.apache.org/foundation/mailinglists.html Hope this helps, -Rick SrinivasaRao.Nalleboyina@cognizant.com wrote: > Hi All, > > Could you please unsubscribe from the list or let me know what are all steps to be followed for unsubscribe. > > -----Original Message----- > From: Kristian Waagan (JIRA) [mailto:jira@apache.org] > Sent: Monday, January 25, 2010 4:20 PM > To: derby-dev@db.apache.org > Subject: [jira] Commented: (DERBY-4520) Refactor and extend data type cloning facilities > > > [ https://issues.apache.org/jira/browse/DERBY-4520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12804499#action_12804499 ] > > Kristian Waagan commented on DERBY-4520: > ---------------------------------------- > > I wonder if we should just remove the same asserts for init-, close- and resetStream in FormatIdInputStream as well? > > >> Refactor and extend data type cloning facilities >> ------------------------------------------------ >> >> Key: DERBY-4520 >> URL: https://issues.apache.org/jira/browse/DERBY-4520 >> Project: Derby >> Issue Type: Improvement >> Components: Store >> Affects Versions: 10.6.0.0 >> Reporter: Kristian Waagan >> Assignee: Kristian Waagan >> Attachments: derby-4520-1a-RowLocation_cloning.diff, derby-4520-1a-RowLocation_cloning.diff, derby-4520-2a-remove_CloneableObject_iface.diff, derby-4520-2a-remove_CloneableObject_iface.stat, derby-4520-3a-CloneableStream_and_delayed_fill.diff, derby-4520-3a-CloneableStream_and_delayed_fill.stat, derby-4520-3b-CloneableStream_and_delayed_fill.diff, derby-4520-3b-CloneableStream_and_delayed_fill.stat >> >> >> With the increased use of streams to represent data values, the cloning facilities needs to be improved. >> Unless I get pushback, I will proceed by producing patches to reach the following goals: >> - move the functionality provided by CloneableObject into DataValueDescriptor >> (all classes implementing CloneableObject also implements DataValueDescriptor) >> - introduce the cloning methods cloneValue, cloneState and cloneHolder (all in DataValueDescriptor, see description below) >> Note that they all return a usable DVD. I'm all ears for better names for the clone methods (another suggestion mentioned is cloneDeep, cloneHalfDeep, and cloneShallow). >> cloneValue (new method, functionality was present through combined calls to the DVD public interface) >> - a DVD obtained through cloneValue is independent of other DVDs and the state of the Derby store >> - the data value will be materialized >> cloneState (~= DataValueDescriptor.getClone) >> - a DVD obtained through cloneState is independent of other DVDs, but may depend on the state of the Derby store (due to references to store streams) >> - the data value will be materialized if the value is represented by a non-cloneable stream or if Derby believes materializing the value is more appropriate than keeping the stream representation >> cloneHolder (~= CloneableObject.cloneObject) >> - a DVD obtained through cloneHolder is dependent on the original DVD and its clones made through cloneHolder. If one of the DVDs changes its state, all of them will be affected. Will also be dependent on the state of the Derby store if there are references to store streams. >> - the data value will never be materialized due to cloneHolder being invoked >> For many of the data types, cloneState and cloneHolder will forward to cloneValue. >> cloneState will be used the most. cloneValue is currently only required in the sorter. cloneHolder is required (for performance reasons and maybe to avoid OOME) when DVDs pass through temporary holders (BackingStoreHashtable, TemporaryRowHolderImpl). I have not gone through all the usages of cloneState to see if any of them can be, or has to be, replaced with another clone-call. >> The ability to clone store streams will be added by Mike's patch attached to DERBY-3650. >> > >