Browse Source

do not unicode compress strings which are longer than 1024 chars

git-svn-id: https://svn.code.sf.net/p/jackcess/code/jackcess/trunk@709 f203690c-595d-4dc9-a70b-905162fa7fd2
tags/jackcess-1.2.11
James Ahlborn 11 years ago
parent
commit
7811de23a2

+ 5
- 0
src/changes/changes.xml View File

@@ -4,6 +4,11 @@
<author email="javajedi@users.sf.net">Tim McCune</author>
</properties>
<body>
<release version="1.2.11" date="TBD">
<action dev="jahlborn" type="fix" system="SourceForge2" issue="94">
Do not unicode compress strings which are longer than 1024 chars.
</action>
</release>
<release version="1.2.10" date="2013-02-18">
<action dev="jahlborn" type="update">
Add info to the Column to support MEMO columns which are HYPERLINKS.

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

@@ -1723,7 +1723,8 @@ public class Column implements Comparable<Column> {
}
// may only compress if column type allows it
if(!forceUncompressed && isCompressedUnicode()) {
if(!forceUncompressed && isCompressedUnicode() &&
(text.length() <= getFormat().MAX_COMPRESSED_UNICODE_SIZE)) {

// for now, only do very simple compression (only compress text which is
// all ascii text)

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

@@ -235,6 +235,7 @@ public abstract class JetFormat {
public final int SIZE_LONG_VALUE_DEF;
public final int MAX_INLINE_LONG_VALUE_SIZE;
public final int MAX_LONG_VALUE_ROW_SIZE;
public final int MAX_COMPRESSED_UNICODE_SIZE;
public final int SIZE_TDEF_HEADER;
public final int SIZE_TDEF_TRAILER;
public final int SIZE_COLUMN_DEF_BLOCK;
@@ -368,6 +369,7 @@ public abstract class JetFormat {
SIZE_LONG_VALUE_DEF = defineSizeLongValueDef();
MAX_INLINE_LONG_VALUE_SIZE = defineMaxInlineLongValueSize();
MAX_LONG_VALUE_ROW_SIZE = defineMaxLongValueRowSize();
MAX_COMPRESSED_UNICODE_SIZE = defineMaxCompressedUnicodeSize();
SIZE_TDEF_HEADER = defineSizeTdefHeader();
SIZE_TDEF_TRAILER = defineSizeTdefTrailer();
SIZE_COLUMN_DEF_BLOCK = defineSizeColumnDefBlock();
@@ -469,6 +471,7 @@ public abstract class JetFormat {
protected abstract int defineSizeLongValueDef();
protected abstract int defineMaxInlineLongValueSize();
protected abstract int defineMaxLongValueRowSize();
protected abstract int defineMaxCompressedUnicodeSize();
protected abstract int defineSizeTdefHeader();
protected abstract int defineSizeTdefTrailer();
protected abstract int defineSizeColumnDefBlock();
@@ -657,6 +660,8 @@ public abstract class JetFormat {
@Override
protected int defineMaxLongValueRowSize() { return 2032; }
@Override
protected int defineMaxCompressedUnicodeSize() { return 1024; }
@Override
protected int defineSizeTdefHeader() { return 63; }
@Override
protected int defineSizeTdefTrailer() { return 2; }
@@ -875,6 +880,8 @@ public abstract class JetFormat {
@Override
protected int defineMaxLongValueRowSize() { return 4076; }
@Override
protected int defineMaxCompressedUnicodeSize() { return 1024; }
@Override
protected int defineSizeTdefHeader() { return 63; }
@Override
protected int defineSizeTdefTrailer() { return 2; }

Loading…
Cancel
Save