git-svn-id: https://svn.code.sf.net/p/jackcess/code/jackcess/trunk@630 f203690c-595d-4dc9-a70b-905162fa7fd2tags/jackcess-1.2.8
@@ -243,10 +243,12 @@ public class PageChannel implements Channel, Flushable { | |||
// re-encode page | |||
encodedPage = _codecHandler.encodePage(page, pageNumber, pageOffset); | |||
// reset position/limit in case they were affected by encoding | |||
encodedPage.position(pageOffset).limit(pageOffset + writeLen); | |||
} | |||
try { | |||
encodedPage.position(pageOffset); | |||
_channel.write(encodedPage, (getPageOffset(pageNumber) + pageOffset)); | |||
if(_autoSync) { | |||
flush(); |
@@ -235,6 +235,7 @@ public class CodecHandlerTest extends TestCase | |||
throws IOException | |||
{ | |||
ByteBuffer bb = _bufH.getPageBuffer(_channel); | |||
bb.clear(); | |||
simpleEncode(page.array(), bb.array(), pageNumber, pageOffset, | |||
page.limit()); | |||
return bb; | |||
@@ -268,6 +269,7 @@ public class CodecHandlerTest extends TestCase | |||
assertEquals(_channel.getFormat().PAGE_SIZE, page.limit()); | |||
ByteBuffer bb = _bufH.getPageBuffer(_channel); | |||
bb.clear(); | |||
fullEncode(page.array(), bb.array(), pageNumber); | |||
return bb; | |||
} |