private void swap(int a, int b, int free) { if (a < MIN_PAGE_COUNT || b < MIN_PAGE_COUNT) { System.out.println(isUsed(a) + " " + isUsed(b)); DbException.throwInternalError("can't swap " + a + " and " + b); if (isUsed(a)) { pageA = getPage(a); if (pageA != null) { if (isUsed(b)) { Page pageB = getPage(b); if (pageB != null) {
private boolean compact(int full, int free) { if (full < MIN_PAGE_COUNT || free == -1 || free >= full || !isUsed(full)) { return false;
j < maxMove; x -= blockSize) { for (int full = x - blockSize + 1; full <= x; full++) { if (full > MIN_PAGE_COUNT && isUsed(full)) { synchronized (this) { firstFree = getFirstFree(firstFree);
byte[] empty = new byte[pageSize]; for (int i = PAGE_ID_FREE_LIST_ROOT; i < pageCount; i++) { if (isUsed(i)) { freed.clear(i); } else if (!freed.get(i)) {
private void swap(int a, int b, int free) { if (a < MIN_PAGE_COUNT || b < MIN_PAGE_COUNT) { System.out.println(isUsed(a) + " " + isUsed(b)); DbException.throwInternalError("can't swap " + a + " and " + b); if (isUsed(a)) { pageA = getPage(a); if (pageA != null) { if (isUsed(b)) { Page pageB = getPage(b); if (pageB != null) {
private void swap(int a, int b, int free) { if (a < MIN_PAGE_COUNT || b < MIN_PAGE_COUNT) { System.out.println(isUsed(a) + " " + isUsed(b)); DbException.throwInternalError("can't swap " + a + " and " + b); if (isUsed(a)) { pageA = getPage(a); if (pageA != null) { if (isUsed(b)) { Page pageB = getPage(b); if (pageB != null) {
private boolean compact(int full, int free) { if (full < MIN_PAGE_COUNT || free == -1 || free >= full || !isUsed(full)) { return false;
private boolean compact(int full, int free) { if (full < MIN_PAGE_COUNT || free == -1 || free >= full || !isUsed(full)) { return false;
j < maxMove; x -= blockSize) { for (int full = x - blockSize + 1; full <= x; full++) { if (full > MIN_PAGE_COUNT && isUsed(full)) { synchronized (this) { firstFree = getFirstFree(firstFree);
byte[] empty = new byte[pageSize]; for (int i = PAGE_ID_FREE_LIST_ROOT; i < pageCount; i++) { if (isUsed(i)) { freed.clear(i); } else if (!freed.get(i)) {
byte[] empty = new byte[pageSize]; for (int i = PAGE_ID_FREE_LIST_ROOT; i < pageCount; i++) { if (isUsed(i)) { freed.clear(i); } else if (!freed.get(i)) {
j < maxMove; x -= blockSize) { for (int full = x - blockSize + 1; full <= x; full++) { if (full > MIN_PAGE_COUNT && isUsed(full)) { synchronized (this) { firstFree = getFirstFree(firstFree);