db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Holger Rehn (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (DERBY-6681) Cannot update BLOB/CLOB values in multiple rows simultaneously
Date Fri, 01 Aug 2014 06:20:38 GMT

    [ https://issues.apache.org/jira/browse/DERBY-6681?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14081967#comment-14081967
] 

Holger Rehn edited comment on DERBY-6681 at 8/1/14 6:19 AM:
------------------------------------------------------------

{quote} You have labelled this issue with "Deviation from standard". Does the JDBC and/or
SQL standard mandate that this should work? {quote}

I'm not absolutely sure about that. But I cannot find anything indicating the opposite and
it seems very logical because this problem simply makes multi-row updates completely impossible
and that just because on uses streamed data for a BLOB/CLOB column. Any other combination,
such as using setString() for a CLOB column or using setCharacterStream() for a VARCHAR column
just works fine. This is simply inconsistent.

The JDBC API doc of the setXXXStream kind of methods reads:
{quote} ... The data will be read from the stream as needed until end-of-file is reached.
... {quote} 
I'd consider this a clear statement that at least the JDBC driver will never attempt to read
the stream more than once.

Cheers,
Holger

p.s. Rick Hillegas, you have lowered urgency to "normal". Sorry for setting it to "blocker"
but I thought this is a field intended to give a reporter the chance to express urgency from
his/her point of view. And for me this is a showstopper that has caused a complete and still
lasting production breakdown yesterday.


was (Author: ickzon):
{quote} You have labelled this issue with "Deviation from standard". Does the JDBC and/or
SQL standard mandate that this should work? {quote}

I'm not absolutely sure about that. But I cannot find anything indicating the opposite and
it seems very logical because this problem simply makes multi-row updates completely impossible
and that just because on uses streamed data for a BLOB/CLOB column. Any other combination,
such as using setString() for a CLOB column or using setCharacterStream() for a VARCHAR column
just works fine. This is simply inconsistent.

The JDBC API doc of the setXXXStream kind of methods reads:
{quote} ... The data will be read from the stream as needed until end-of-file is reached.
... {quote} 
I'd consider this a clear statement that at least the JDBC driver will never attempt to read
the stream more than once.

Cheers,
Holger

p.s. Rick Hillegas, you have lowered urgency to "normal". Sorry for setting it to "blocker"
but I thought this is a field intended to give a reporter the chance to express urgency from
his/her point of view. And for me this is a showstopper that has cause a complete and still
lasting production breakdown yesterday.

> Cannot update BLOB/CLOB values in multiple rows simultaneously
> --------------------------------------------------------------
>
>                 Key: DERBY-6681
>                 URL: https://issues.apache.org/jira/browse/DERBY-6681
>             Project: Derby
>          Issue Type: Bug
>          Components: Store
>    Affects Versions: 10.9.1.0, 10.10.2.0
>            Reporter: Holger Rehn
>            Priority: Blocker
>         Attachments: MultiLOB.java
>
>
> When trying to execute a single command to update multiple rows with a new BLOB/CLOB
value, an exception is thrown because Derby tries to read the data stream once for every value/row
to update.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message