[ 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: 10.2.1.0
>            Reporter: Kristian Waagan
>         Assigned To: Kristian Waagan
>             Fix For: 10.2.1.0
>
>         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, derby-1473-2b-streamingtests.diff
>
>
> 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

        

Reply via email to