Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 96035 invoked from network); 7 Oct 2008 15:24:06 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 7 Oct 2008 15:24:06 -0000 Received: (qmail 78202 invoked by uid 500); 7 Oct 2008 15:24:04 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 78157 invoked by uid 500); 7 Oct 2008 15:24:03 -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 78138 invoked by uid 99); 7 Oct 2008 15:24:03 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 07 Oct 2008 08:24:03 -0700 X-ASF-Spam-Status: No, hits=-1999.9 required=10.0 tests=ALL_TRUSTED,DNS_FROM_SECURITYSAGE X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 07 Oct 2008 15:23:08 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 50CB3234C210 for ; Tue, 7 Oct 2008 08:23:44 -0700 (PDT) Message-ID: <1950189301.1223393024329.JavaMail.jira@brutus> Date: Tue, 7 Oct 2008 08:23:44 -0700 (PDT) From: "Kristian Waagan (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Updated: (DERBY-3825) StoreStreamClob.getReader(charPos) performs poorly In-Reply-To: <1010538819.1218032444348.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-3825?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kristian Waagan updated DERBY-3825: ----------------------------------- Attachment: derby-3825-2a-internalReader_repositioning.stat derby-3825-2a-internalReader_repositioning.diff Patch 2a introduces an internal reader and adds repositioning logic to UTF8Reader. Note that I have made getInternalReader merely forward to getReader in TemporaryClob. I will commit the simple Clob regression tests and run it with and without this patch to document the effect. Regression tests passed (JDK 1.6.0, Solaris 10). Patch ready for review. > StoreStreamClob.getReader(charPos) performs poorly > -------------------------------------------------- > > Key: DERBY-3825 > URL: https://issues.apache.org/jira/browse/DERBY-3825 > Project: Derby > Issue Type: Bug > Components: JDBC, Store > Affects Versions: 10.5.0.0 > Reporter: Kristian Waagan > Assignee: Kristian Waagan > Attachments: derby-3825-0a-preview.diff, derby-3825-1a-reset_readpositioninbuffer.diff, derby-3825-2a-internalReader_repositioning.diff, derby-3825-2a-internalReader_repositioning.stat > > > StoreStreamClob.getReader(charPos) performs poorly because it resets the underlying stream and skips data until it reached the requested character position. Not only does the data has to be skipped, it also has to be decoded (UTF-8). > The problem is exposed through EmbedClob.getSubString, which causes extremely bad performance for the client driver because the locator based Clob implementation uses this method. > For the record, there is another read buffer size issue that exaggerates the problem (it will probably be handled under DERBY-3769, and also DERBY-3818). -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.