diff options
-rw-r--r-- | CREDITS.txt | 10 | ||||
-rw-r--r-- | pom.xml | 58 | ||||
-rw-r--r-- | src/changes/changes.xml | 5 | ||||
-rw-r--r-- | src/java/com/healthmarketscience/jackcess/impl/ColumnImpl.java | 3 | ||||
-rw-r--r-- | src/java/com/healthmarketscience/jackcess/impl/JetFormat.java | 7 |
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 @@ -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; } |