page.reset(); long nextPage = dataPages.get(0); dataPages.remove(0); store.seek(nextPage * pageSize); store.readFully(page.getBytes(), 0, pageSize);
public void removeValue(int value) { for (int i = 0; i < size; i++) { if (data[i] == value) { remove(i); return; } } throw Message.getInternalError(); }
public int allocate(int blockCount) throws SQLException { if (freeList.size() > 0) { synchronized (database) { BitField used = file.getUsed(); for (int i = 0; i < freeList.size(); i++) { int px = freeList.get(i); if (used.get(px)) { // sometime there may stay some entries in the freeList // that are not free (free 2, free 1, allocate 1+2) // these entries are removed right here freeList.remove(i--); } else { if (isFreeAndMine(px, blockCount)) { int pos = px; freeList.remove(i--); file.setUsed(pos, blockCount); return pos; } } } } } int pos = file.allocate(this, blockCount); file.setUsed(pos, blockCount); return pos; }
public BtreePage split(Session session, int splitPoint) throws SQLException { ObjectArray data = new ObjectArray(); IntArray children = new IntArray(); splitPoint++; int max = pageData.size(); if (SysProperties.CHECK && index.getDatabase().getLogIndexChanges() && !getDeleted()) { // page must have been deleted already before calling // getSplitPoint() throw Message.getInternalError(); } for (int i = splitPoint; i < max; i++) { data.add(getData(splitPoint)); children.add(getChild(splitPoint)); pageData.remove(splitPoint); pageChildren.remove(splitPoint); } children.add(getChild(splitPoint)); pageData.remove(splitPoint - 1); pageChildren.remove(splitPoint); BtreeNode n2 = new BtreeNode(index, children, data); index.updatePage(session, this); index.addPage(session, n2); return n2; }
page.reset(); long nextPage = dataPages.get(0); dataPages.remove(0); store.seek(nextPage * pageSize); store.readFully(page.getBytes(), 0, pageSize);
page.reset(); long nextPage = dataPages.get(0); dataPages.remove(0); store.seek(nextPage * pageSize); store.readFully(page.getBytes(), 0, pageSize);
pageChildren.remove(at); if (pageChildren.size() == 0) {