| Package | Description |
|---|---|
| com.healthmarketscience.jackcess.impl |
| Modifier and Type | Field and Description |
|---|---|
private java.util.List<IndexPageCache.CacheDataPage> |
IndexPageCache._modifiedPages
the currently modified index pages
|
| Modifier and Type | Method and Description |
|---|---|
private IndexPageCache.CacheDataPage |
IndexPageCache.allocateNewCacheDataPage(java.lang.Integer parentPageNumber,
boolean isLeaf)
Allocates a new index page with the given parent page and type.
|
IndexPageCache.CacheDataPage |
IndexPageCache.findCacheDataPage(IndexData.Entry e)
Finds the index page on which the given entry does or should reside.
|
IndexPageCache.CacheDataPage |
IndexPageCache.getCacheDataPage(java.lang.Integer pageNumber)
Returns a CacheDataPage for the given page number, may be
null if
the given page number is invalid. |
private IndexPageCache.CacheDataPage |
IndexPageCache.nestRootDataPage(IndexPageCache.CacheDataPage rootDataPage)
Copies the current root page info into a new page and nests this page
under the root page.
|
private IndexPageCache.CacheDataPage |
IndexPageCache.readDataPage(java.lang.Integer pageNumber)
Reads the given index page from the file.
|
| Modifier and Type | Method and Description |
|---|---|
private void |
IndexPageCache.addEntry(IndexPageCache.CacheDataPage cacheDataPage,
int entryIdx,
IndexData.Entry newEntry)
Adds the entry to the given page at the given index.
|
private void |
IndexPageCache.addParentEntry(IndexPageCache.CacheDataPage parentDataPage,
IndexPageCache.CacheDataPage childDataPage)
Adds an entry for the given child page to the given parent page.
|
private void |
IndexPageCache.addToPeersBefore(IndexPageCache.CacheDataPage newDataPage,
IndexPageCache.CacheDataPage origDataPage)
Inserts the new page as a peer between the given original page and any
previous peer page.
|
private void |
IndexPageCache.deleteDataPage(IndexPageCache.CacheDataPage cacheDataPage)
Deletes the given index page from the file (clears the page).
|
private void |
IndexPageCache.demoteTail(IndexPageCache.CacheDataPage cacheDataPage)
Makes the tail entry of the given page a normal entry on that page, done
when there is only one entry left on a page, and it is the tail.
|
private IndexPageCache.CacheDataPage |
IndexPageCache.nestRootDataPage(IndexPageCache.CacheDataPage rootDataPage)
Copies the current root page info into a new page and nests this page
under the root page.
|
private void |
IndexPageCache.promoteTail(IndexPageCache.CacheDataPage cacheDataPage)
Makes the last normal entry of the given page the tail entry on that
page, done when there are multiple entries on a page and no tail entry.
|
private void |
IndexPageCache.removeDataPage(IndexPageCache.CacheDataPage parentDataPage,
IndexPageCache.CacheDataPage cacheDataPage,
IndexData.Entry oldLastEntry)
Removes an index page which has become empty.
|
private IndexData.Entry |
IndexPageCache.removeEntry(IndexPageCache.CacheDataPage cacheDataPage,
int entryIdx)
Removes the entry with the given index from the given page.
|
private void |
IndexPageCache.removeFromPeers(IndexPageCache.CacheDataPage cacheDataPage)
Removes a now empty index page from its next and previous peers.
|
private void |
IndexPageCache.reparentChildren(IndexPageCache.CacheDataPage cacheDataPage)
Sets the parent info for the children of the given page to the given
page.
|
private void |
IndexPageCache.replaceParentEntry(IndexPageCache.CacheDataPage parentDataPage,
IndexPageCache.CacheDataPage childDataPage,
IndexData.Entry oldEntry)
Replaces the entry for the given child page in the given parent page.
|
private void |
IndexPageCache.separateFromNextPeer(IndexPageCache.CacheDataPage cacheDataPage)
Separates the given index page from any next peer page.
|
private void |
IndexPageCache.setModified(IndexPageCache.CacheDataPage cacheDataPage)
Marks the given index page as modified and saves it for writing, if
necessary (if the page is already marked, does nothing).
|
private void |
IndexPageCache.splitDataPage(IndexPageCache.CacheDataPage origDataPage)
Splits an index page which has too many entries on it.
|
private IndexData.Entry |
IndexPageCache.updateEntry(IndexPageCache.CacheDataPage cacheDataPage,
int entryIdx,
IndexData.Entry newEntry,
IndexPageCache.UpdateType upType)
Updates the entries on the given page according to the given updateType.
|
private void |
IndexPageCache.updateParentEntry(IndexPageCache.CacheDataPage parentDataPage,
IndexPageCache.CacheDataPage childDataPage,
IndexData.Entry oldEntry,
IndexData.Entry newEntry,
IndexPageCache.UpdateType upType)
Updates the entry for the given child page in the given parent page
according to the given updateType.
|
private void |
IndexPageCache.updateParentTail(IndexPageCache.CacheDataPage parentDataPage,
IndexPageCache.CacheDataPage childDataPage,
IndexPageCache.UpdateType upType)
Updates the child tail info in the given parent page according to the
given updateType.
|
private void |
IndexPageCache.writeDataPage(IndexPageCache.CacheDataPage cacheDataPage)
Writes the given index page to the file.
|