org.axiondb.engine.tables
public abstract class BaseDiskTable extends BaseTable implements Table
BaseDiskTable
manages the column meta-data for a disk-based table.
Version: $Revision: 1.36 $ $Date: 2005/12/22 09:02:31 $
Field Summary | |
---|---|
protected File | _dataFile The name of my ".data" file. |
protected File | _dbdir |
protected IntList | _freeIds List of free ids. |
protected boolean | _readOnly |
protected int | _rowCount |
protected static int | CURRENT_META_VERSION |
protected static String | FRID_FILE_EXT |
protected static AxionFileSystem | FS |
protected static String | INDICES_DIR_NAME |
protected static long | INVALID_OFFSET |
protected static String | META_FILE_EXT |
protected static String | PIDX_FILE_EXT |
protected static String | SEQ_FILE_EXT |
protected static String | TYPE_FILE_EXT |
Constructor Summary | |
---|---|
BaseDiskTable(String name, Database db, TableFactory factory) |
Method Summary | |
---|---|
void | addColumn(Column col) |
void | addColumn(Column col, boolean metaUpdateNeeded) |
void | addConstraint(Constraint constraint) |
void | applyDeletes(IntCollection rowIds) |
void | applyInserts(RowCollection rows) |
void | applyUpdates(RowCollection rows) |
void | checkpoint() |
protected void | clearDataFileReference() |
protected void | closeFiles() |
protected void | createOrLoadDataFile() |
protected void | createOrLoadFreeIdsFile() |
void | drop() |
void | freeRowId(int id) |
protected abstract File | getDataFile() |
protected String | getDefaultDataFileExtension() |
protected BufferedDataInputStream | getInputStream() |
protected abstract File | getLobDir() |
int | getNextRowId() |
protected BufferedDataOutputStream | getOutputStream() |
protected AxionFileSystem.PidxList | getPidxList() |
protected File | getRootDir() |
Row | getRow(int id) |
protected abstract Row | getRowByOffset(int idToAssign, long ptr) |
int | getRowCount() |
protected RowIterator | getRowIterator() |
protected File | getTableFile(String extension) |
protected void | initFiles(File basedir, boolean datafilesonly) |
protected void | initializeRowCount() |
protected boolean | isReadOnly() |
protected void | loadOrMigrateMetaFile(Database db) |
void | migrate(Database db) Migrate from older version to newer version for this table |
protected AxionFileSystem.PidxList | parsePidxFile(File pidxFile) |
protected void | parseTableProperties(ObjectInputStream in) |
void | populateIndex(Index index) |
protected abstract void | reloadFilesAfterTruncate() |
void | remount(File newdir, boolean datafilesonly) |
void | removeIndex(Index index) |
void | rename(String oldName, String newName) |
protected void | renameTableFiles(String oldName, String name) |
protected void | resetLobColumns() |
protected void | saveIndicesAfterTruncate() |
void | setSequence(Sequence seq) |
void | shutdown() |
void | truncate() |
protected void | tryToRemove(RowIterator iter) |
protected void | writeFridFile() |
protected void | writeMetaFile() |
protected void | writeNameToFile(File file, Object obj) |
protected abstract void | writeRow(BufferedDataOutputStream buffer, Row row) |
protected void | writeTableProperties(ObjectOutputStream out) |