You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Anurag Shekhar (JIRA)" <ji...@apache.org> on 2007/05/28 12:24:15 UTC

[jira] Updated: (DERBY-2713) Ensure that a temporary file is not created for a lob obtained from resultset unless user updates it.

     [ https://issues.apache.org/jira/browse/DERBY-2713?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Anurag Shekhar updated DERBY-2713:
----------------------------------

    Attachment: derby-2713.diff

This patch conflicts with DERBY-2646. I will redo this patch once DERBY-2646 is done.

In this patch I have modified LOBStreamControl to keep the buffer at least as big as the initial byte array. If the initial size is smaller than 4k the buffer size will be set to 4k.

To ensure the initial byte array is kept in memory and not on file its necessary to pass the initial byte array in the constructor. If the LOBStreamControl receives byte array in constructor it sets the buffer size to max of 4k and buffer size.

A similar constructor is introduced for CLOBStreamControl too.

File affected
java/engine/org/apache/derby/impl/jdbc/EmbedBlob.java
java/engine/org/apache/derby/impl/jdbc/EmbedClob.java

Modified the initialization of control class to use constructor with initial data.

java/engine/org/apache/derby/impl/jdbc/ClobStreamControl.java
java/engine/org/apache/derby/impl/jdbc/LOBStreamControl.java


Added new constructor to accept initial data (byte array for LOBStreamControl and String for ClobStreamControl).

Both the constrictors now call newly introduced LOBStreamControl.initControl to ensure initial buffer size is set.


> Ensure that a temporary file is not created for a lob obtained from resultset unless user updates it.
> -----------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2713
>                 URL: https://issues.apache.org/jira/browse/DERBY-2713
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>            Reporter: Anurag Shekhar
>            Assignee: Anurag Shekhar
>         Attachments: derby-2713.diff
>
>
> Currently LOBStreamControl has a buffer limit of 4k if the lob is larger than this a temporary file is created. Ensure that lob data is kept in memory unless user start to update it.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.