db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kristian Waagan (JIRA)" <derby-...@db.apache.org>
Subject [jira] Updated: (DERBY-1473) Add cut-off and truncation logic to streaming classes in the embedded driver
Date Wed, 23 Aug 2006 12:45:14 GMT
     [ http://issues.apache.org/jira/browse/DERBY-1473?page=all ]

Kristian Waagan updated DERBY-1473:

    Attachment: derby-1473-1c-streaming.diff

I removed the if-block and uploaded a new patch (1c deprecates 1b).

Our uses will not have to deal with DerbyIOException at all.
The point of introducing it, is to separate between exceptions thrown by Derby itself and
those thrown by the user/application stream. An example for the former, is when Derby detects
that the stream is shorter than its specified length. The user can then catch this and check
for the appropriate SQLState if he/she wishes to. 

I planned to catch it in InsertOperation and UpdateOperation, then extract the SQLState and
generate and throw an exception with the correct SQLState. Currently, a very general exception
is thrown, with the IOException (or DerbyIOException) chained deep down. See DERBY-1657 for
a little more information (the issue is already linked to this one).

I had originally implemented these changes, but decided to postpone them because the issues
around impact on existing applications must be discussed first. The introduction (and current
use of) DerbyIOException should not impact users in any way.

> Add cut-off and truncation logic to streaming classes in the embedded driver
> ----------------------------------------------------------------------------
>                 Key: DERBY-1473
>                 URL: http://issues.apache.org/jira/browse/DERBY-1473
>             Project: Derby
>          Issue Type: Improvement
>          Components: JDBC
>    Affects Versions:
>            Reporter: Kristian Waagan
>         Assigned To: Kristian Waagan
>             Fix For:
>         Attachments: derby-1473-1a-streaming.diff, derby-1473-1a-streaming.stat, derby-1473-1b-streaming.diff,
derby-1473-1c-streaming.diff, derby-1473-2a-streamingtests.diff, derby-1473-2a-streamingtests.stat,
> When streaming data to Derby, the application stream will be wrapped in a Derby-specific
stream to convert the data to the correct representation. At a minimum, this consists of getting
the data to the on-disk format used by Derby.
> The wrapping stream can be extended to provide the following features at an earlier stage:
>  a) Data cut-off when the maximum allowed size is exceeded
>  b) Truncation of trailing blanks where allowed
> Both features can reduce the amount of data needed to be kept in memory on insertion.
> Implementing this will require additional column/data type information in the streaming
class(es). The implementation must be able to handle streams for which the length is specified
and also streams with unknown/unspecified length.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message