harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexei Zakharov" <alexei.zakha...@gmail.com>
Subject Re: [classlib][sql] A RI's bug of SerialBlob.getBytes(long position, int length)?
Date Thu, 14 Dec 2006 13:09:15 GMT
BTW, the problem is reproducible on the recently released 6.0 JRE too.
The same "less that 1".

Regards,

2006/12/14, Andrew Zhang <zhanghuangzhu@gmail.com>:
> On 12/14/06, Alexei Zakharov <alexei.zakharov@gmail.com> wrote:
> >
> > That one? If you are talking about the problem mentioned in your
> > initial message
>
>
> Sorry... we've agreed that the behaviour of SerialBlob.position(byte[],
> long) is a bug in another thread. Yes, "This one" means the initial message
> -- getByte(long, int) method. But seldom people reponsed this thread to
> regard it as a bug. :)
>
> > > public void testGetBytesJI1() throws Exception {
> > > >         byte[] buf = { 1, 2, 3, 4, 5, 6, 7, 8 };
> > > >         SerialBlob serialBlob = new SerialBlob(buf);
> > > >         byte [] data = serialBlob.getBytes(2, 1);
> > > >         assertEquals(1, data.length);
> > > >         assertEquals(2, data[0]);
> > > >    }
> > > > throws SerialException with message "Invalid arguments: position
> > cannot be
> > > > less that 1".
> >
> > then +1 from me for following the spec since I don't understand RI's
> > behavior at all. Please note that even the exception message itself
> > contains typos :)
>
>
> LOL, I just noticed "less that 1"...
>
> Regards,
> >
> > 2006/12/13, Andrew Zhang <zhanghuangzhu@gmail.com>:
> > > Hey guys,
> > >
> > > How about this one? It seems a bug of RI too.
> > >
> > > Any comments? Thanks!
> > >
> > > On 12/11/06, Andrew Zhang <zhanghuangzhu@gmail.com> wrote:
> > > >
> > > > Hi folks,
> > > > SerialBlob spec points out that getBytes(long position, int length)
> > should
> > > > throw SerialException if the given starting position is out of bounds.
> > But
> > > > RI also throws SerialException when the position is in the bound of
> > the
> > > > array in some other cases. Consider following code:
> > > >
> > > > public void testGetBytesJI1() throws Exception {
> > > >         byte[] buf = { 1, 2, 3, 4, 5, 6, 7, 8 };
> > > >         SerialBlob serialBlob = new SerialBlob(buf);
> > > >         byte [] data = serialBlob.getBytes(2, 1);
> > > >         assertEquals(1, data.length);
> > > >         assertEquals(2, data[0]);
> > > >    }
> > > >
> > > > IMO, the starting position 2 and the length 1 are both valid. But RI
> > > > throws SerialException with message "Invalid arguments: position
> > cannot be
> > > > less that 1". Is it a bug of RI? Or did I missing something? Any
> > > > suggestions? Thanks in advance!



-- 
Alexei Zakharov,
Intel ESSD

Mime
View raw message