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 "Knut Anders Hatlen (JIRA)" <ji...@apache.org> on 2008/05/02 15:08:55 UTC

[jira] Updated: (DERBY-3658) LOBStateTracker should not use SYSIBM.CLOBRELEASELOCATOR when the database is soft-upgraded from 10.2

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

Knut Anders Hatlen updated DERBY-3658:
--------------------------------------

    Attachment: d3658.diff

The attached patch seems to fix the problem (no regression tests have been run yet).

The problem is that the client doesn't know the version of the database accessed on the server, so a LOBStateTracker is created if the server supports locators, which does not necessarily mean that the database supports locators. The code that fetches LOBs knows how to handle this, and sets the locator to -1 if locators aren't supported. The patch therefore checks that the locator is valid before it releases it in LOBStateTracker.checkCurrentRow(). Since the locator value is invalid when locators aren't supported, this means that it won't try to call the missing stored procedures.

> LOBStateTracker should not use SYSIBM.CLOBRELEASELOCATOR when the database is soft-upgraded from 10.2
> -----------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3658
>                 URL: https://issues.apache.org/jira/browse/DERBY-3658
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC, Network Client
>    Affects Versions: 10.4.1.3
>            Reporter: Knut Anders Hatlen
>            Priority: Minor
>         Attachments: d3658.diff
>
>
> Reported by Daniel Noll on derby-user: http://thread.gmane.org/gmane.comp.apache.db.derby.user/9107
> To reproduce:
>   1. Create a database with Derby 10.2.2.0
>   2. Create a table with a clob column and insert some data
>   3. Access that database with client+server at version 10.4.1.3 and iterate through the rows in the table
> You'll see an error message like this:
> ERROR 42Y03: 'SYSIBM.CLOBRELEASELOCATOR' is not recognized as a function or procedure.

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