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

<author email="javajedi@users.sf.net">Tim McCune</author> <author email="javajedi@users.sf.net">Tim McCune</author>
</properties> </properties>
<body> <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"> <release version="1.2.10" date="2013-02-18">
<action dev="jahlborn" type="update"> <action dev="jahlborn" type="update">
Add info to the Column to support MEMO columns which are HYPERLINKS. Add info to the Column to support MEMO columns which are HYPERLINKS.

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

} }
// may only compress if column type allows it // 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 // for now, only do very simple compression (only compress text which is
// all ascii text) // all ascii text)

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

public final int SIZE_LONG_VALUE_DEF; public final int SIZE_LONG_VALUE_DEF;
public final int MAX_INLINE_LONG_VALUE_SIZE; public final int MAX_INLINE_LONG_VALUE_SIZE;
public final int MAX_LONG_VALUE_ROW_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_HEADER;
public final int SIZE_TDEF_TRAILER; public final int SIZE_TDEF_TRAILER;
public final int SIZE_COLUMN_DEF_BLOCK; public final int SIZE_COLUMN_DEF_BLOCK;
SIZE_LONG_VALUE_DEF = defineSizeLongValueDef(); SIZE_LONG_VALUE_DEF = defineSizeLongValueDef();
MAX_INLINE_LONG_VALUE_SIZE = defineMaxInlineLongValueSize(); MAX_INLINE_LONG_VALUE_SIZE = defineMaxInlineLongValueSize();
MAX_LONG_VALUE_ROW_SIZE = defineMaxLongValueRowSize(); MAX_LONG_VALUE_ROW_SIZE = defineMaxLongValueRowSize();
MAX_COMPRESSED_UNICODE_SIZE = defineMaxCompressedUnicodeSize();
SIZE_TDEF_HEADER = defineSizeTdefHeader(); SIZE_TDEF_HEADER = defineSizeTdefHeader();
SIZE_TDEF_TRAILER = defineSizeTdefTrailer(); SIZE_TDEF_TRAILER = defineSizeTdefTrailer();
SIZE_COLUMN_DEF_BLOCK = defineSizeColumnDefBlock(); SIZE_COLUMN_DEF_BLOCK = defineSizeColumnDefBlock();
protected abstract int defineSizeLongValueDef(); protected abstract int defineSizeLongValueDef();
protected abstract int defineMaxInlineLongValueSize(); protected abstract int defineMaxInlineLongValueSize();
protected abstract int defineMaxLongValueRowSize(); protected abstract int defineMaxLongValueRowSize();
protected abstract int defineMaxCompressedUnicodeSize();
protected abstract int defineSizeTdefHeader(); protected abstract int defineSizeTdefHeader();
protected abstract int defineSizeTdefTrailer(); protected abstract int defineSizeTdefTrailer();
protected abstract int defineSizeColumnDefBlock(); protected abstract int defineSizeColumnDefBlock();
@Override @Override
protected int defineMaxLongValueRowSize() { return 2032; } protected int defineMaxLongValueRowSize() { return 2032; }
@Override @Override
protected int defineMaxCompressedUnicodeSize() { return 1024; }
@Override
protected int defineSizeTdefHeader() { return 63; } protected int defineSizeTdefHeader() { return 63; }
@Override @Override
protected int defineSizeTdefTrailer() { return 2; } protected int defineSizeTdefTrailer() { return 2; }
@Override @Override
protected int defineMaxLongValueRowSize() { return 4076; } protected int defineMaxLongValueRowSize() { return 4076; }
@Override @Override
protected int defineMaxCompressedUnicodeSize() { return 1024; }
@Override
protected int defineSizeTdefHeader() { return 63; } protected int defineSizeTdefHeader() { return 63; }
@Override @Override
protected int defineSizeTdefTrailer() { return 2; } protected int defineSizeTdefTrailer() { return 2; }

Loading…
Cancel
Save