Examples of PageRecord


Examples of net.sf.joafip.btreeplus.entity.PageRecord

  public IFileStorable createHeapRecord(
      final IHeapElementManager heapElementManager,
      final long positionInFile) throws HeapException {
    // ASSERTX
    assert (positionInFile & PageConstant.IN_PAGE_POSITION_MASK) == 0;
    return new PageRecord(heapElementManager,
        (int) (positionInFile >> PageConstant.PAGE_BITS));
  }
View Full Code Here

Examples of net.sf.joafip.btreeplus.entity.PageRecord

  }

  public IPageRecordable getPage(final long position,
      final IPageRecordable parentPage, final int index)
      throws HeapException {
    final PageRecord pageRecord = (PageRecord) heapElementManager
        .readHeapFileDataRecord(position);
    final IPageRecordable readHeapFileDataRecord = pageRecord
        .getPageRecordable();
    readHeapFileDataRecord.setParentPage(parentPage, index);
    // ASSERTX
    assert notInternalyManagedPage(readHeapFileDataRecord);
    return readHeapFileDataRecord;
View Full Code Here

Examples of net.sf.joafip.btreeplus.entity.PageRecord

   * @return data block at position
   * @throws HeapException
   */
  public IDataBlock getDataBlock(final long dataBlockPosition)
      throws HeapException {
    final PageRecord pageRecord = (PageRecord) heapElementManager
        .readHeapFileDataRecord(dataBlockPosition
            & PageConstant.START_PAGE_POSITION_MASK);
    final DataBlockPage dataBlockPage = (DataBlockPage) pageRecord
        .getPageRecordable();
    final IDataBlock datablock = dataBlockPage
        .getDataBlock(dataBlockPosition);
    return datablock;
  }
View Full Code Here

Examples of net.sf.joafip.btreeplus.entity.PageRecord

      final DataBlockPage dataBlockPage = new DataBlockPage(bits);
      final long pageNumber = header.getFileSizeAsNumberOfPage();
      final long previousRecordPositionInFile = header
          .getLastRecordPositionInFile();
      // the new page record for page recordable
      final IPageRecord pageRecord = new PageRecord(heapElementManager,
          previousRecordPositionInFile, dataBlockPage, pageNumber);
      header.setFileSizeAsNumberOfPage(pageNumber
          + pageRecord.getNumberOfPage());
      header.setLastRecordPositionInFile(pageNumber << PageConstant.PAGE_BITS);
      dataBlockPage.setPageRecord(pageRecord);
      heapElementManager.appendHeapFileRecord(pageRecord);
      dataBlockPage.setAllFree();
      header.incrementNumberOfFreeRecord(dataBlockPage.getNumberOfBlock());
View Full Code Here

Examples of net.sf.joafip.btreeplus.entity.PageRecord

      throws HeapException {
    // ASSERTX
    assert notInternalyManagedPage(pageRecordable);
    long pageNumber = header.getPageNumberOfFirstFreePage();
    final long previousRecordPositionInFile;
    final PageRecord freePageRecord;
    if (pageNumber == -1) {
      freePageRecord = null;
      pageNumber = header.getFileSizeAsNumberOfPage();
      previousRecordPositionInFile = header.getLastRecordPositionInFile();
    } else {
      freePageRecord = (PageRecord) heapElementManager
          .readHeapFileDataRecord(pageNumber << PageConstant.PAGE_BITS);
      // ASSERTX
      assert freePageRecord.getNumberOfPage() == 1
          && pageRecordable.getNumberOfPage() == 1;
      final FreePage freePage = (FreePage) freePageRecord
          .getPageRecordable();
      header.setPageNumberOfFirstFreePage(freePage.getNextFreePage());
      previousRecordPositionInFile = -1L;// do not care value // freePage
      // .getPreviousRecordPositionInFile();
      header.decrementNumberOfFreeRecord();
    }

    if (freePageRecord == null) {
      // the new page record for page recordable
      final IPageRecord pageRecord = new PageRecord(heapElementManager,
          previousRecordPositionInFile, pageRecordable, pageNumber);
      header.setFileSizeAsNumberOfPage(pageNumber
          + pageRecord.getNumberOfPage());
      header.setLastRecordPositionInFile(pageNumber << PageConstant.PAGE_BITS);
      pageRecordable.setPageRecord(pageRecord);
      heapElementManager.appendHeapFileRecord(pageRecord);
    } else {
      freePageRecord.setPageRecordable(pageRecordable);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.