]> source.dussan.org Git - jackcess.git/commitdiff
add some documentation on large index support (#1564870)
authorJames Ahlborn <jtahlborn@yahoo.com>
Wed, 16 Apr 2008 18:02:09 +0000 (18:02 +0000)
committerJames Ahlborn <jtahlborn@yahoo.com>
Wed, 16 Apr 2008 18:02:09 +0000 (18:02 +0000)
git-svn-id: https://svn.code.sf.net/p/jackcess/code/jackcess/trunk@330 f203690c-595d-4dc9-a70b-905162fa7fd2

src/changes/changes.xml
src/java/com/healthmarketscience/jackcess/Database.java
src/java/com/healthmarketscience/jackcess/Index.java
src/site/fml/faq.fml

index 4fee05f6251782228724ddb8f483bf59d0567daf..7f142050bb9a5feb219ffedeccdf05c2227bd5ff 100644 (file)
       <action dev="jahlborn" type="fix" issue="1942330">
         Access seems to limit data pages to a max of 256 rows.
       </action>
+      <action dev="jahlborn" type="fix" issue="1564870">
+        Added experimental support for "large" indexes.  The current support
+        is optional.  It can be enabled via a varity of means, see the
+        Database javadoc for more details.
+      </action>
     </release>
     <release version="1.1.13" date="2008-03-21">
       <action dev="jahlborn" type="fix" issue="1913775">
index ebc7809b572e72022db35fef953d9a3bb7882bb8..189c9cc02bb9740e9e1653e99f4ffe25a8dbdddc 100644 (file)
@@ -61,6 +61,19 @@ import org.apache.commons.logging.LogFactory;
 
 /**
  * An Access database.
+ * <p>
+ * There is now experimental, optional support for large indexes (disabled by
+ * default).  This optional support can be enabled via a few different means:
+ * <ul>
+ * <li>Setting the system property {@value #USE_BIG_INDEX_PROPERTY} to
+ *     {@code "true"} will enable "large" index support accross the jvm</li>
+ * <li>Calling {@link #setUseBigIndex} with {@code true} on a Database
+ *     instance will enable "large" index support for all tables subsequently
+ *     created from that instance</li>
+ * <li>Calling {@link #getTable(String,boolean)} can selectively
+ *     enable/disable "large" index support on a per-table basis (overriding
+ *     any Database or system property setting)</li>
+ * </ul>
  *
  * @author Tim McCune
  */
index ec3629d5df0eb741cc88b31f24e9c73674db837e..66f189a877a401e6a92a82916792d19ece486352 100644 (file)
@@ -320,7 +320,7 @@ public abstract class Index implements Comparable<Index> {
     
     if(_readOnly) {
       throw new UnsupportedOperationException(
-          "FIXME cannot write indexes of this type yet");
+          "FIXME cannot write indexes of this type yet, see Database javadoc for info on enabling large index support");
     }
     updateImpl();
   }
@@ -733,7 +733,7 @@ public abstract class Index implements Comparable<Index> {
     if(dataPage.getCompressedEntrySize() > _maxPageEntrySize) {
       if(this instanceof SimpleIndex) {
         throw new UnsupportedOperationException(
-            "FIXME cannot write large index yet");
+            "FIXME cannot write large index yet, see Database javadoc for info on enabling large index support");
       }
       throw new IllegalStateException("data page is too large");
     }
index a2c61946168023c2f4bd274b80ba0cf9b7e24c9d..d5ee93f0f1a94af330837bf484186aeba3dd8057 100644 (file)
         </ul>
       </answer>
     </faq>
+
+    <faq id="bigindex">
+      <question>Why am I getting an UnsupportedOperationException (or
+                IOException) when updating an indexed table?</question>
+      <answer>
+        Previously index update support only handled tables with small numbers
+        of rows.  When the index size limit was reached an
+        UnsupportedOperationException (or possibly an IOException) was thrown.
+        As of the 1.1.14 release, experimental, optional large index support
+        has been added.  This support is disabled by default but can be
+        enabled via a few different means.  Please see the <a href="apidocs/com/healthmarketscience/jackcess/Database.html">Database javadocs</a>
+        for details on enabling large index support.
+      </answer>
+    </faq>
     
     <faq id="hms">
       <question>Who is Health Market Science?</question>