]> source.dussan.org Git - jackcess.git/commitdiff
minor updates and refactors
authorJames Ahlborn <jtahlborn@yahoo.com>
Tue, 1 Oct 2013 22:57:05 +0000 (22:57 +0000)
committerJames Ahlborn <jtahlborn@yahoo.com>
Tue, 1 Oct 2013 22:57:05 +0000 (22:57 +0000)
git-svn-id: https://svn.code.sf.net/p/jackcess/code/jackcess/trunk@812 f203690c-595d-4dc9-a70b-905162fa7fd2

TODO.txt
src/main/java/com/healthmarketscience/jackcess/impl/ColumnImpl.java
src/main/java/com/healthmarketscience/jackcess/impl/TableImpl.java
src/main/java/com/healthmarketscience/jackcess/impl/UsageMap.java

index a88c41d760676c89ae3efb6f9a88e580d1d8347e..1966eba63849764c676192c00f7584f07ee214cc 100644 (file)
--- a/TODO.txt
+++ b/TODO.txt
@@ -6,8 +6,6 @@ Missing pieces:
   * MEDIUM
 - implement table creation w/ complex columns
   * MEDIUM
-- implement (optional) foreign key enforcement
-  * MEDIUM
 - implement write support for properties
   * EASY
 - implement table, column, index renaming
@@ -26,15 +24,7 @@ Refactor goals:
 - clean up javadocs
   - enhance public api classes
   * add @usage tags to util classes
-* change CodecHandler usage to handle not-inline decoding
-  - pass filename to CodecHandler, enable pwd callbacks CallbackHandler
-  - pass custom context to CodecHandler?
-  - rework CryptCodecProvider to have custom
-    javax.security.auth.callback.CallbackHandler which is only invoked if
-    password is definitely required.
 - implement page buffering in PageChannel
   * need to implement logical flushing in update code (startUpdate/finishUpdate)
-- refactor free-space handlers Table/Column?
 - implement "lazy" usage maps (load on first usage)?
-- implement some OLE support
 - add typed getter methods to Row
index 7d26fd7081ac2c23f00d575354b7143d5dc0ac10..8f808cbdedcdf77afee1ccf48d2e1fbadea792eb 100644 (file)
@@ -2170,7 +2170,7 @@ public class ColumnImpl implements Column, Comparable<ColumnImpl> {
         if(TableImpl.rowFitsOnDataPage(dataLength, lvalPage, getFormat())) {
           // the current page has space
           return lvalPage;
-}
+        }
       }
 
       // need new page
index 240ebf675365ba8f1e45d6a618cf2b4bade51ed1..1d7e2e0f984e0098f9ad724ce8569bdb4b0c03be 100644 (file)
@@ -1792,28 +1792,29 @@ public class TableImpl implements Table
       TempPageHolder rowBufferH)
     throws IOException
   {
-      // find last data page (Not bothering to check other pages for free
-      // space.)
+    // find last data page (Not bothering to check other pages for free
+    // space.)
     UsageMap.PageCursor revPageCursor = ownedPages.cursor();
-      revPageCursor.afterLast();
-      while(true) {
-        int tmpPageNumber = revPageCursor.getPreviousPage();
-        if(tmpPageNumber < 0) {
-          break;
-        }
+    revPageCursor.afterLast();
+    while(true) {
+      int tmpPageNumber = revPageCursor.getPreviousPage();
+      if(tmpPageNumber < 0) {
+        break;
+      }
+      // only use if actually listed in free space pages
+      if(!freeSpacePages.containsPageNumber(tmpPageNumber)) {
+        continue;
+      }
       ByteBuffer dataPage = rowBufferH.setPage(ownedPages.getPageChannel(),
                                                tmpPageNumber);
-        if(dataPage.get() == PageTypes.DATA) {
-          // found last data page, only use if actually listed in free space
-          // pages
-        if(freeSpacePages.containsPageNumber(tmpPageNumber)) {
-          return dataPage;
-          }
-        }
+      if(dataPage.get() == PageTypes.DATA) {
+        // found last data page with free space
+        return dataPage;
       }
+    }
 
     return null;
-      }
+  }
     
   /**
    * Updates the table definition after rows are modified.
index ac49c441ab8675d9766de7dd4cde83f5b942efd2..5db2eac45c5407bb938b8c70ea7c14e5c343c0f2 100644 (file)
@@ -327,13 +327,6 @@ public class UsageMap
     _handler.addOrRemovePageNumber(pageNumber, true, false);
   }
   
-  /**
-   * Remove a page number from this usage map
-   */
-  public void removePageNumber(int pageNumber) throws IOException {
-    removePageNumber(pageNumber, false);
-  }
-
   /**
    * Remove a page number from this usage map
    */
@@ -681,7 +674,7 @@ public class UsageMap
       }
 
       // lastly, remove the new page
-      removePageNumber(newPageNumber);
+      removePageNumber(newPageNumber, false);
     }
   }