public class TableView extends BaseTableModificationPublisher implements Table
Table.| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
SUBQUERY |
static java.lang.String |
VIEW |
REGULAR_TABLE_TYPE, SYSTEM_TABLE_TYPE| Constructor and Description |
|---|
TableView(Database db,
java.lang.String name) |
TableView(Database db,
java.lang.String name,
java.lang.String type,
SubSelectCommand subSelectCmd) |
TableView(Database db,
java.lang.String name,
SubSelectCommand subSelectCmd) |
| Modifier and Type | Method and Description |
|---|---|
void |
addColumn(Column col)
Add the given
Columnto this table. |
void |
addConstraint(Constraint constraint) |
void |
addIndex(Index index)
Add an index, associating it with a
Column, and adding it as a
org.axiondb.TableModificationListenerto the table. |
void |
addRow(Row row)
Insert the given
Row. |
void |
applyDeletes(org.apache.commons.collections.primitives.IntCollection rowids)
Remove the specified rows from this table and any associated indices.
|
void |
applyInserts(RowCollection rows)
Insert the given rows into this table and any associated indices.
|
void |
applyUpdates(RowCollection rows)
Update the given rows in this table and any associated indices.
|
RowDecorator |
buildRowDecorator() |
void |
checkpoint() |
protected boolean |
deleteFile(java.io.File file) |
void |
deleteRow(Row oldrow)
Delete the given
Row. |
void |
drop()
Drop this table from the database.
|
void |
freeRowId(int id)
Un-reserve a row id.
|
Column |
getColumn(int index)
Return the
Columncorresponding to the given zero-based index . |
Column |
getColumn(java.lang.String name)
Return the
Columnfor the given name . |
int |
getColumnCount()
Return the number of
Columns I contain. |
java.util.List |
getColumnIdentifierList(TableIdentifier table) |
java.util.List |
getColumnIdentifiers()
|
int |
getColumnIndex(java.lang.String name)
Return the zero-based index of the
Columnwith the given name . |
Constraint |
getConstraint(java.lang.String name) |
java.util.Iterator |
getConstraints() |
RowIterator |
getIndexedRows(RowSource source,
Selectable node,
boolean readOnly) |
RowIterator |
getIndexedRows(Selectable node,
boolean readOnly) |
Index |
getIndexForColumn(Column column)
|
java.util.Iterator |
getIndices()
Obtain an
Iteratorover my indices. |
RowIterator |
getMatchingRows(java.util.List selectables,
java.util.List values,
boolean readOnly)
Obtain an
iteratorover my Rows where each
Selectablein the selectable list
evaluatesto the corresponding value in the value
list. |
java.lang.String |
getName()
Get the name of this table.
|
int |
getNextRowId()
Reserve a row id.
|
Row |
getRow(int id) |
int |
getRowCount()
Return the number of
Rows I contain. |
protected RowIterator |
getRowIterator() |
RowIterator |
getRowIterator(boolean readOnly)
|
Sequence |
getSequence() |
java.util.Iterator |
getTables() |
java.lang.String |
getType()
Get the type of this table.
|
boolean |
hasColumn(ColumnIdentifier id)
Indicate whether the
ColumnIdentifierreferences a column in this table |
boolean |
hasIndex(java.lang.String name) |
boolean |
isColumnIndexed(Column column)
|
boolean |
isPrimaryKeyConstraintExists(java.lang.String columnName)
check if primary constraint exists on a column
|
boolean |
isUniqueConstraintExists(java.lang.String columnName)
check if unique constraint exists on a column
|
RowDecorator |
makeRowDecorator() |
TransactableTable |
makeTransactableTable()
Create a
TransactableTablefor this table. |
void |
migrate()
Migrate from older version to newer version for this table
|
void |
populateIndex(Index index)
Populate an
Index, adding my current rows to it. |
void |
remount(java.io.File dir,
boolean datafilesonly)
Notify this table that its disk-location has moved.
|
Constraint |
removeConstraint(java.lang.String name) |
void |
removeIndex(Index index)
Remove an index, both from the indices and as a TableModificationListener
|
void |
rename(java.lang.String oldName,
java.lang.String newName) |
void |
setSequence(Sequence seq) |
void |
setSubQuery(java.lang.String query) |
void |
setType(java.lang.String type) |
void |
shutdown()
The database is shutting down, shutdown this table also.
|
java.lang.String |
toString() |
void |
truncate()
Unconditionally delete all rows in this table.
|
void |
updateRow(Row oldrow,
Row newrow)
Update the given
Row. |
addTableModificationListener, getTableModificationListeners, publishEvent, removeTableModificationListener, setDeferAllConstraintsclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddTableModificationListener, getTableModificationListeners, removeTableModificationListener, setDeferAllConstraintspublic static java.lang.String VIEW
public static java.lang.String SUBQUERY
public TableView(Database db, java.lang.String name, java.lang.String type, SubSelectCommand subSelectCmd) throws AxionException
AxionExceptionpublic TableView(Database db, java.lang.String name, SubSelectCommand subSelectCmd) throws AxionException
AxionExceptionpublic TableView(Database db, java.lang.String name) throws AxionException
AxionExceptionpublic void setSubQuery(java.lang.String query)
throws AxionException
AxionExceptionpublic void populateIndex(Index index) throws AxionException
TablepopulateIndex in interface TableAxionExceptionTable.addIndex(org.axiondb.Index)public int getNextRowId()
TablegetNextRowId in interface Tablepublic void freeRowId(int id)
Tablepublic int getRowCount()
TableRows I contain.getRowCount in interface Tablepublic void applyInserts(RowCollection rows) throws AxionException
TableapplyInserts in interface Tablerows - a collection of RowsAxionExceptionpublic void applyDeletes(org.apache.commons.collections.primitives.IntCollection rowids)
throws AxionException
TableapplyDeletes in interface TableAxionExceptionpublic void applyUpdates(RowCollection rows) throws AxionException
TableapplyUpdates in interface TableAxionExceptionprotected RowIterator getRowIterator() throws AxionException
AxionExceptionpublic RowIterator getRowIterator(boolean readOnly) throws AxionException
TablegetRowIterator in interface TablereadOnly - when true, the caller does not expect to be able to
modify (i.e., call RowIterator.set(org.axiondb.Row)or RowIterator.remove()on)
the returned RowIterator, the returned iterator may be
unmodifiable.AxionExceptionpublic void addRow(Row row) throws AxionException
TableRow.addRow in interface TableAxionExceptionpublic void updateRow(Row oldrow, Row newrow) throws AxionException
TableRow.updateRow in interface TableAxionExceptionpublic void deleteRow(Row oldrow) throws AxionException
TableRow.deleteRow in interface TableAxionExceptionpublic RowDecorator buildRowDecorator()
public java.lang.String toString()
toString in class java.lang.Objectpublic final java.lang.String getName()
Tablepublic final java.lang.String getType()
Tablepublic void setType(java.lang.String type)
public void addConstraint(Constraint constraint) throws AxionException
addConstraint in interface TableAxionExceptionpublic Constraint removeConstraint(java.lang.String name)
removeConstraint in interface Tablepublic Constraint getConstraint(java.lang.String name)
getConstraint in interface Tablepublic java.util.Iterator getConstraints()
getConstraints in interface Tablepublic boolean isUniqueConstraintExists(java.lang.String columnName)
isUniqueConstraintExists in interface TablecolumnName - name of the colummpublic final boolean isPrimaryKeyConstraintExists(java.lang.String columnName)
isPrimaryKeyConstraintExists in interface TableColumnName - name of the columnpublic void addIndex(Index index) throws AxionException
TableColumn, and adding it as a
org.axiondb.TableModificationListenerto the table.addIndex in interface TableAxionExceptionTable.addIndex(org.axiondb.Index),
Table.addTableModificationListener(org.axiondb.event.TableModificationListener),
Table.getIndexForColumn(org.axiondb.Column),
Table.isColumnIndexed(org.axiondb.Column),
Table.populateIndex(org.axiondb.Index)public void removeIndex(Index index) throws AxionException
TableremoveIndex in interface TableAxionExceptionpublic Index getIndexForColumn(Column column)
TablegetIndexForColumn in interface TableColumn, or null if no such
Indexexistspublic final boolean isColumnIndexed(Column column)
TableisColumnIndexed in interface Tablecolumn - Columnto checkIndexfor the given Columnpublic RowIterator getMatchingRows(java.util.List selectables, java.util.List values, boolean readOnly) throws AxionException
Tableiteratorover my Rows where each
Selectablein the selectable list
evaluatesto the corresponding value in the value
list.
This is functionally similiar to executing a SELECT over this table where selectable[i] = value[i] for each value of i . The return RowIterator is not modifiable.
getMatchingRows in interface TableAxionExceptionpublic RowIterator getIndexedRows(Selectable node, boolean readOnly) throws AxionException
getIndexedRows in interface TablereadOnly - when true, the caller does not expect to be able to
modify (i.e., call RowIterator.set(org.axiondb.Row)or RowIterator.remove()on)
the returned RowIterator, the returned iterator may be
unmodifiable.AxionExceptionpublic RowIterator getIndexedRows(RowSource source, Selectable node, boolean readOnly) throws AxionException
getIndexedRows in interface TableAxionExceptionpublic void addColumn(Column col) throws AxionException
TableColumnto this table.addColumn in interface TableAxionExceptionpublic boolean hasColumn(ColumnIdentifier id)
TableColumnIdentifierreferences a column in this tablepublic final Column getColumn(int index)
TableColumncorresponding to the given zero-based index .public final Column getColumn(java.lang.String name)
TableColumnfor the given name .public int getColumnIndex(java.lang.String name)
TableColumnwith the given name .getColumnIndex in interface RowSourcegetColumnIndex in interface Tablepublic final java.util.List getColumnIdentifiers()
TablegetColumnIdentifiers in interface Tablepublic java.util.List getColumnIdentifierList(TableIdentifier table)
public final int getColumnCount()
TableColumns I contain.getColumnCount in interface RowSourcegetColumnCount in interface Tablepublic void drop()
throws AxionException
Tabledrop in interface TableAxionExceptionprotected boolean deleteFile(java.io.File file)
public void remount(java.io.File dir,
boolean datafilesonly)
throws AxionException
Tableremount in interface TableAxionExceptionpublic void rename(java.lang.String oldName,
java.lang.String newName)
throws AxionException
rename in interface TableAxionExceptionpublic void shutdown()
throws AxionException
Tableshutdown in interface TableAxionExceptionpublic void checkpoint()
throws AxionException
checkpoint in interface TableAxionExceptionpublic void setSequence(Sequence seq) throws AxionException
setSequence in interface TableAxionExceptionpublic Sequence getSequence()
getSequence in interface Tablepublic void truncate()
throws AxionException
Tabletruncate in interface TableAxionExceptionpublic RowDecorator makeRowDecorator()
makeRowDecorator in interface RowSourcemakeRowDecorator in interface Tablepublic TransactableTable makeTransactableTable()
TableTransactableTablefor this table.makeTransactableTable in interface Tablepublic void migrate()
throws AxionException
Tablemigrate in interface TableAxionExceptionpublic final java.util.Iterator getIndices()
TableIteratorover my indices.getIndices in interface Tablepublic java.util.Iterator getTables()