summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CREDITS.txt10
-rw-r--r--pom.xml58
-rw-r--r--src/changes/changes.xml5
-rw-r--r--src/java/com/healthmarketscience/jackcess/impl/ColumnImpl.java3
-rw-r--r--src/java/com/healthmarketscience/jackcess/impl/JetFormat.java7
5 files changed, 65 insertions, 18 deletions
diff --git a/CREDITS.txt b/CREDITS.txt
deleted file mode 100644
index 8596b2c..0000000
--- a/CREDITS.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Tim McCune - Original author and project founder
-Rob DiMarco - Added ability to import delimited text into new tables
-Mitchell J. Friedman - Added support for additional JDBC data types
-James Ahlborn - Added support for NUMERIC data type
-Jon Iles - Added support for reading table definitions that span multiple pages
-James Schopp - added support for reading currency columns
-Patricia Donaldson - contributed RowFilter class
-Dan Rollo - added support for new DB file formats (2003/2007)
-F. Gerbig - added ExportUtil, contributed some of the code for Jet3 read-only
- support
diff --git a/pom.xml b/pom.xml
index ed0de77..6647c8e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -17,6 +17,9 @@
<name>Tim McCune</name>
<id>javajedi</id>
<email>javajedi@users.sf.net</email>
+ <roles>
+ <role>Original author and project founder</role>
+ </roles>
<timezone>-5</timezone>
</developer>
<developer>
@@ -24,21 +27,62 @@
<id>jahlborn</id>
<email>jahlborn@users.sf.net</email>
<organization>Dell Boomi</organization>
+ <roles>
+ <role>Owner</role>
+ </roles>
<timezone>-5</timezone>
</developer>
- <developer>
+ </developers>
+ <contributors>
+ <contributor>
<name>Rob Di Marco</name>
- <id>robdimarco</id>
+ <roles>
+ <role>Added ability to import delimited text into new tables</role>
+ </roles>
<timezone>-5</timezone>
- </developer>
- <developer>
+ </contributor>
+ <contributor>
+ <name>Mitchell J. Friedman</name>
+ <roles>
+ <role>Added support for additional JDBC data types</role>
+ </roles>
+ </contributor>
+ <contributor>
+ <name>Jon Iles</name>
+ <roles>
+ <role>Added support for reading table definitions that span multiple
+ pages</role>
+ </roles>
+ </contributor>
+ <contributor>
+ <name>James Schopp</name>
+ <roles>
+ <role>Added support for reading currency columns</role>
+ </roles>
+ </contributor>
+ <contributor>
+ <name>Patricia Donaldson</name>
+ <roles>
+ <role>Contributed RowFilter class</role>
+ </roles>
+ </contributor>
+ <contributor>
<name>Dan Rollo</name>
- <id>bhamail</id>
<email>bhamail@users.sf.net</email>
<organization>Composite Software, Inc.</organization>
+ <roles>
+ <role>Added support for new DB file formats (2003/2007)</role>
+ </roles>
<timezone>-5</timezone>
- </developer>
- </developers>
+ </contributor>
+ <contributor>
+ <name>F. Gerbig</name>
+ <roles>
+ <role>added ExportUtil, contributed some of the code for Jet3
+ read-only support</role>
+ </roles>
+ </contributor>
+ </contributors>
<issueManagement>
<system>SourceForge2</system>
<url>http://sourceforge.net/p/jackcess/bugs/</url>
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index cd9cac9..c780507 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -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.
diff --git a/src/java/com/healthmarketscience/jackcess/impl/ColumnImpl.java b/src/java/com/healthmarketscience/jackcess/impl/ColumnImpl.java
index 906ee0c..465f9ea 100644
--- a/src/java/com/healthmarketscience/jackcess/impl/ColumnImpl.java
+++ b/src/java/com/healthmarketscience/jackcess/impl/ColumnImpl.java
@@ -1463,7 +1463,8 @@ public class ColumnImpl implements Column, Comparable<ColumnImpl> {
}
// 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)
diff --git a/src/java/com/healthmarketscience/jackcess/impl/JetFormat.java b/src/java/com/healthmarketscience/jackcess/impl/JetFormat.java
index 95c727b..70f5fd9 100644
--- a/src/java/com/healthmarketscience/jackcess/impl/JetFormat.java
+++ b/src/java/com/healthmarketscience/jackcess/impl/JetFormat.java
@@ -238,6 +238,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;
@@ -371,6 +372,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();
@@ -472,6 +474,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();
@@ -660,6 +663,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; }
@@ -878,6 +883,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; }