db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Junjie Peng (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-3770) Create a utility class for skipping data in an InputStream
Date Fri, 22 Aug 2008 09:12:44 GMT

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

Junjie Peng updated DERBY-3770:

    Attachment: derby-3770-3.stat

Hi, Knut. Thanks for your advice.

1.)---test framework. I agree with your method to add comment "      // ignoring expected
exception ". However, as what I used is just like Andrew suggested in his <Pragmatic Unit
Testing>, I think it can work well.

2.)---wrong import. I have corrected in the new patch. 

3.)---move the code from UTF8Util.skipPersistent() into the StreamUtil class. It's a good
suggestion, I have adopted it.

Please check the patch!


> Create a utility class for skipping data in an InputStream
> ----------------------------------------------------------
>                 Key: DERBY-3770
>                 URL: https://issues.apache.org/jira/browse/DERBY-3770
>             Project: Derby
>          Issue Type: Improvement
>          Components: Miscellaneous
>    Affects Versions:
>            Reporter: Kristian Waagan
>            Assignee: Junjie Peng
>            Priority: Minor
>         Attachments: derby-3770-1.patch, derby-3770-1.stat, derby-3770-2.patch, derby-3770-2.stat,
derby-3770-3.patch, derby-3770-3.stat
> The contract of InputStream.skip is somewhat difficult, some would even say broken.
> See http://java.sun.com/javase/6/docs/api/java/io/InputStream.html#skip(long))
> A utility class should be created to ensure that we use the same skip procedure throughout
the Derby code base.
> Suggested functionality:
>  - long skipFully(InputStream) : skips until EOF, returns number of bytes skipped
>  - void skipFully(InputStream,long) : skips requested number of bytes, throws EOFException
if there is too few bytes in the stream
> I know of two different approaches, both skipping in a loop:
>  a) Verify EOF with a read call when skip returns zero.
>  b) Throw EOFException if skip returns zero before requested number of bytes have been
> There's related code in iapi.util.UTF8Util. Maybe this class, say StreamUtil, could be
put in the same package?

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

View raw message