Browse Source

Fixed bug 1261536.

  Skip overflow rows (need to figure out how to read them, but at least it no longer throws an exception.)
  Fixed bad index offset for table definition.  Index count is repeated, but the 2nd one is the correct one to read, not the first.
Added changes report to site.


git-svn-id: https://svn.code.sf.net/p/jackcess/code/jackcess/trunk@22 f203690c-595d-4dc9-a70b-905162fa7fd2
tags/rel_1_1_1
Tim McCune 18 years ago
parent
commit
20d7d78325

+ 2
- 0
project.properties View File

@@ -1,3 +1,5 @@
maven.announcement.mail.server=localhost
maven.announcement.mail.to=jackcess-users@lists.sourceforge.net
maven.artifact.legacy=false
maven.changes.issue.template=http://sf.net/tracker/index.php?func=detail&aid=%ISSUE%&group_id=134943&atid=731445
maven.compile.compilerargs=-Xlint:all

+ 2
- 1
project.xml View File

@@ -32,7 +32,7 @@
<developer>
<name>Tim McCune</name>
<id>javajedi</id>
<email>javajedi at users dot sf dot net</email>
<email>javajedi@users.sf.net</email>
<organization>Health Market Science, Inc.</organization>
<timezone>-5</timezone>
</developer>
@@ -94,6 +94,7 @@
</dependencies>
<reports>
<report>maven-faq-plugin</report>
<report>maven-changes-plugin</report>
<report>maven-javadoc-plugin</report>
<report>maven-jxr-plugin</report>
<report>maven-jdepend-plugin</report>

+ 1
- 1
src/java/com/healthmarketscience/jackcess/JetFormat.java View File

@@ -251,7 +251,7 @@ public abstract class JetFormat {
protected int defineOffsetNumRows() { return 16; }
protected int defineOffsetTableType() { return 40; }
protected int defineOffsetNumCols() { return 45; }
protected int defineOffsetNumIndexes() { return 47; }
protected int defineOffsetNumIndexes() { return 51; }
protected int defineOffsetOwnedPages() { return 55; }
protected int defineOffsetFreeSpacePages() { return 59; }
protected int defineOffsetIndexDefBlock() { return 63; }

+ 7
- 1
src/java/com/healthmarketscience/jackcess/Table.java View File

@@ -243,8 +243,14 @@ public class Table {
if (_rowStart < 0) {
// Deleted row. Skip.
return positionAtNextRow();
} else if ((_rowStart & 0x4000) > 0) {
// Overflow page.
// FIXME - Currently skipping this. Need to figure out how to read it.
_buffer.position(_rowStart - 0x4000);
int overflow = _buffer.getInt();
_lastRowStart -= 4;
return positionAtNextRow();
} else {
// XXX - Handle overflow pages.
_buffer.position(_rowStart);
_buffer.limit(_lastRowStart);
_lastRowStart = _rowStart;

Loading…
Cancel
Save