From f8dc2c59795b9aeb9c05f90310ff6f6a6304c8e4 Mon Sep 17 00:00:00 2001 From: James Ahlborn Date: Sat, 4 May 2013 01:08:34 +0000 Subject: [PATCH] merge trunk changes through r710 git-svn-id: https://svn.code.sf.net/p/jackcess/code/jackcess/branches/jackcess-2@712 f203690c-595d-4dc9-a70b-905162fa7fd2 --- CREDITS.txt | 10 ---- pom.xml | 58 ++++++++++++++++--- src/changes/changes.xml | 5 ++ .../jackcess/impl/ColumnImpl.java | 3 +- .../jackcess/impl/JetFormat.java | 7 +++ 5 files changed, 65 insertions(+), 18 deletions(-) delete mode 100644 CREDITS.txt 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 @@ Tim McCune javajedi javajedi@users.sf.net + + Original author and project founder + -5 @@ -24,21 +27,62 @@ jahlborn jahlborn@users.sf.net Dell Boomi + + Owner + -5 - + + + Rob Di Marco - robdimarco + + Added ability to import delimited text into new tables + -5 - - + + + Mitchell J. Friedman + + Added support for additional JDBC data types + + + + 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 - bhamail bhamail@users.sf.net Composite Software, Inc. + + Added support for new DB file formats (2003/2007) + -5 - - + + + F. Gerbig + + added ExportUtil, contributed some of the code for Jet3 + read-only support + + + SourceForge2 http://sourceforge.net/p/jackcess/bugs/ 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 @@ Tim McCune + + + Do not unicode compress strings which are longer than 1024 chars. + + 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 { } // 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; } -- 2.39.5