db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Øystein Grøvlen (JIRA) <j...@apache.org>
Subject [jira] Updated: (DERBY-2496) Implement Blob support for Locators
Date Wed, 23 May 2007 14:06:16 GMT

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

Øystein Grøvlen updated DERBY-2496:
-----------------------------------

    Attachment: enableblobloc.diff

The attached patch, enableblobloc.diff, contains the the necessary
changes to enable the use of locators for Blob.  The patch addresses
the following issues:

   * Enable the use of locators.
   * Modification of tests that experience changed behavior with locators
   * If stored procedures reports that the given locator can not be
     found, it is assumed that this is because transaction has been
     terminated and an "Blob accessed after commit" error is
     reported.  This makes the client driver and the embedded driver
     report the same error for this case.

I am currently running Junit All and derbyall and will report back if
any problems is seen.  (The tests have been earlier successfully run
on a slightly different version of the patch)

A file-by-file description of the changes:

M      java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/BlobClob4BlobTest.java
   - testBlobAfterCommit is changed to test that Blobs on the
     client is no longer valid after transaction has committed.

M      java/testing/org/apache/derbyTesting/functionTests/tests/derbynet/_Suite.java
   - Removed SuicideOfStreamingTest since Layer B Streaming will no
     longer be used in the scenario tested.

M      java/client/org/apache/derby/client/net/NetResultSetRequest.java
   - If ResultSet contain Blob columns, request locator to be sent
     instead of Blob value.

M      java/client/org/apache/derby/client/am/Connection.java
   - If a valid locator is obtained from server, create a locator
     based LOB object.

M      java/client/org/apache/derby/client/am/Blob.java
   - Removed an unecessary import added by earlier patch

M      java/client/org/apache/derby/client/am/CallableLocatorProcedures.java
   - Upon an error, for all procedure calls that specify an locator,
     check whether the error was caused by an invalid locator.  If
     yes, report BLOB_ACCESSED_AFTER_COMMIT, instead.  Due to a
     problem with JDBC 4 drivers, the patch treat all errors during
     execution of a stored procedure this way.  This is because for
     JDBC 4, the actual error is not propagated to the server.  I have
     tried to find a way to fix that, but have decided to wait for the
     changes that Knut Anders has announced in DERBY-2472 to see if
     that may improve things.

> Implement Blob support for Locators
> -----------------------------------
>
>                 Key: DERBY-2496
>                 URL: https://issues.apache.org/jira/browse/DERBY-2496
>             Project: Derby
>          Issue Type: Sub-task
>          Components: Network Server
>            Reporter: Øystein Grøvlen
>         Assigned To: Øystein Grøvlen
>         Attachments: blob-followup.diff, blob-followup_v2.diff, blob-followup_v2.diff,
blob.diff, blob_v2.diff, blobtestfix.diff, enableblobloc.diff
>
>
> DERBY-2347 adds the possibility to send locators between client and server instead of
LOB values.  This has not been activated yet, since the client implementation does not currently
support locators.  This report is for supporting the locators for Blob objects.  Another JIRA
issue will be made for Clob.
> This work will be made in several steps:
>    1. Blob methods and ResultSet.getXXX methods
>    2. PreparedStatement and CallableStatement methods
>    3. ResultSet.updateXXX methods
>    4. Connection.createBlob()
> There is dependencies between these steps and it might be that the Locator implementation
cannot be exposed until everything has been done.  At least, doing just step 1, gives testing
errors because tests use Blobs fetched from DB as parameters to prepared statements.   I would
guess tests for updatable result sets, needs the combination of 1. and 3.

-- 
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