db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kristian Waagan (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-2686) The skip method for some InputStreams and Readers return invalid values
Date Wed, 23 May 2007 21:52:16 GMT

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

Kristian Waagan updated DERBY-2686:
-----------------------------------

    Attachment: derby-2686-1a.stat
                derby-2686-1a.diff

Attaching a proposal for a patch for this issue. I'm running tests now and will report back
tomorrow.
If the tests run fine, I plan to commit the patch rather quickly as it causes Derby to hang
infinitely in another patch I am working on. I will of course take feedback into account :)

The Java API docs leave room for interpretation, but since the InputStreams in question are
internal I think the assumption that 0 means EOF is safe. We do not depend on this behavior
for user-land streams.

> The skip method for some InputStreams and Readers return invalid values
> -----------------------------------------------------------------------
>
>                 Key: DERBY-2686
>                 URL: https://issues.apache.org/jira/browse/DERBY-2686
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC, Store
>    Affects Versions: 10.3.0.0
>            Reporter: Kristian Waagan
>         Assigned To: Kristian Waagan
>         Attachments: derby-2686-1a.diff, derby-2686-1a.stat
>
>
> The Java API docs for InputStream.skip and Reader.skip seem to indicate that returning
a negative value is breaking the contract.
> The contract for Reader.skip is the more clear one, while I have taken the assumption
that all Derby InputStreams will return 0 only when EOF has been reached or 0 is passed in
as the amount of bytes to skip.
> Bad checking in a skip method also caused Derby to enter an infinite loop in a skip method.
> It should also be noted that skipping bytes/characters should be done in a loop, as skip
 is free to skip a smaller amount of bytes than requested. This is true even if EOF is not
reached.

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