db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kathey Marsden (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-1657) Align error reporting in the client driver and embedded driver for streaming errors through the JDBC API
Date Thu, 07 May 2009 16:59:30 GMT

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

Kathey Marsden updated DERBY-1657:
----------------------------------

    Derby Categories: [Embedded/Client difference]

> Align error reporting in the client driver and embedded driver for streaming errors through
the JDBC API
> --------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-1657
>                 URL: https://issues.apache.org/jira/browse/DERBY-1657
>             Project: Derby
>          Issue Type: Improvement
>          Components: JDBC, Network Client, Network Server, Store
>         Environment: Using streams as input for JDBC methods.
>            Reporter: Kristian Waagan
>
> The way streaming errors are reported differ between the client driver and the embedded
driver.
> The following SQLStates can be seen:
> XCL30.S=An IOException was thrown when reading a ''{0}'' from an InputStream.
> XSDA4.S=An unexpected exception was thrown
> 22001=A truncation error was encountered trying to shrink {0} ''{1}'' to length {2}.
> XJ023.S=Input stream did not have exact amount of data as the requested length.
> XN014.S=Network protocol error: encountered an IOException, parameter #{0}.  Remaining
data has been padded with 0x0. Message: {1}.
> XN015.S=Network protocol error: the specified size of the InputStream, parameter #{0},
is less than the actual InputStream length.
> XN016.S=Network protocol error: encountered error in stream length verification, parameter
#{0}.  Message: {1}.
> XN017.S=Network protocol error: end of stream prematurely reached, parameter #{0}.  Remaining
data has been padded with 0x0.
> XN018.S=Network protocol error: the specified size of the Reader, parameter #{0}, is
less than the actual InputStream length.
> Some of these exceptions are nested inside one or more of the other exceptions.
> There are basicly three types of streaming errors:
>  a) The stream is too long for the column it is being inserted into
>  b) The actual length of the stream does not match the specified length
>  c) A general IOException is thrown when reading from the stream
> An approach would be to always throw specific exceptions for a) and b), for instance
22001 and XJ023, and throw a general exception for class c) exceptions (the message of the
IOException would be wrapped/included).
> Note that the level of detail in client and embedded (in the top level exception)  might
vary; it can be XN017 on the client, but XSDA4 in embedded (for the same JDBC code causing
the exception).
> Changing the SQLStates might impact existing applications, but aligning the drivers'
behavior has high priority.

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


Mime
View raw message