public void drop() { if (getSessionCount() > 0) { setDeleteFilesOnDisconnect(true); return; } for (Storage storage : getStorages()) { for (String mapName : storage.getMapNames()) { transactionEngine.removeTransactionMap(mapName); } storage.drop(); } }
/** * Synchronize the files with the file system. This method is called when * executing the SQL statement CHECKPOINT SYNC. */ public synchronized void sync() { if (readOnly) { return; } for (Storage s : getStorages()) { s.save(); } }
public void backupTo(String fileName) { for (Storage s : getStorages()) { s.backupTo(fileName); } }
String mapName = getName(); Storage storage = map.getStorage(); String tmpMapName = storage.nextTemporaryMapName(); StorageMap<Object, Integer> temp = storage.openMap(tmpMapName, new ObjectDataType(), new ObjectDataType(), null); try {
@Override public void beforeClose(Storage storage) { checkpoint(); for (String mapName : storage.getMapNames()) { estimatedMemory.remove(mapName); maps.remove(mapName); tmaps.remove(mapName); } }
if (buffer.size() >= bufferSize) { sortRows(buffer, index); String mapName = database.getStorage(storageEngine).nextTemporaryMapName(); index.addRowsToBuffer(session, buffer, mapName); bufferNames.add(mapName); String mapName = database.getStorage(storageEngine).nextTemporaryMapName(); index.addRowsToBuffer(session, buffer, mapName); bufferNames.add(mapName);
/** * Immediately close the database. */ public void shutdownImmediately() { setPowerOffCount(1); try { checkPowerOff(); } catch (DbException e) { // ignore } for (Storage s : getStorages()) { s.closeImmediately(); } }
private void closeMap() { storage.closeMap(name); }
compressionLevel = value == null ? 0 : (Integer) value; btreeStoragePath = map.getStorage().getStoragePath() + File.separator + map.getName(); if (!FileUtils.exists(btreeStoragePath)) FileUtils.createDirectories(btreeStoragePath);
@Override public void checkPowerOff() { if (powerOffCount == 0) { return; } if (powerOffCount > 1) { powerOffCount--; return; } if (powerOffCount != -1) { try { powerOffCount = -1; for (Storage s : getStorages()) { s.closeImmediately(); } if (traceSystem != null) { traceSystem.close(); } } catch (DbException e) { DbException.traceThrowable(e); } } LealoneDatabase.getInstance().closeDatabase(name); throw DbException.get(ErrorCode.DATABASE_IS_CLOSED); }
private Database copyDatabase() { for (Storage storage : db.getStorages()) { storage.save(); } Database db2 = db.copy(); return db2; }
/** * Flush all pending changes to the transaction log. */ public synchronized void flush() { if (readOnly) { return; } try { for (Storage s : getStorages()) { s.save(); } } catch (RuntimeException e) { backgroundException = DbException.convert(e); throw e; } }