public interface Table extends RowSource
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
REGULAR_TABLE_TYPE |
static java.lang.String |
SYSTEM_TABLE_TYPE |
Modifier and Type | Method and Description |
---|---|
void |
addColumn(Column col)
Add the given
Column to 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.TableModificationListener to the table. |
void |
addRow(Row row)
Insert the given
Row . |
void |
addTableModificationListener(TableModificationListener listener)
Adds a listener to receive events on this table
|
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.
|
void |
checkpoint() |
void |
deleteRow(Row row)
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
Column corresponding to the given zero-based index . |
Column |
getColumn(java.lang.String name)
Return the
Column for the given name . |
int |
getColumnCount()
Return the number of
Column s I contain. |
java.util.List |
getColumnIdentifiers()
|
int |
getColumnIndex(java.lang.String name)
Return the zero-based index of the
Column with the given name . |
Constraint |
getConstraint(java.lang.String name) |
java.util.Iterator |
getConstraints() |
RowIterator |
getIndexedRows(RowSource source,
Selectable where,
boolean readOnly) |
RowIterator |
getIndexedRows(Selectable where,
boolean readOnly) |
Index |
getIndexForColumn(Column column)
|
java.util.Iterator<Index> |
getIndices()
Obtain an
Iterator over my indices. |
RowIterator |
getMatchingRows(java.util.List selectables,
java.util.List values,
boolean readOnly)
Obtain an
iterator over my Row s where each
Selectable in the selectable list
evaluates to the corresponding value in the value
list . |
java.lang.String |
getName()
Get the name of this table.
|
int |
getNextRowId()
Reserve a row id.
|
int |
getRowCount()
Return the number of
Row s I contain. |
RowIterator |
getRowIterator(boolean readOnly)
|
Sequence |
getSequence() |
java.util.Iterator<TableModificationListener> |
getTableModificationListeners() |
java.lang.String |
getType()
Get the type of this table.
|
boolean |
hasColumn(ColumnIdentifier id)
Indicate whether the
ColumnIdentifier references 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
TransactableTable for 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 dataOnly)
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 |
removeTableModificationListener(TableModificationListener listener)
Removes a listener so that it stops receiving events on this table
|
void |
rename(java.lang.String oldName,
java.lang.String newName) |
void |
setDeferAllConstraints(boolean deferAll) |
void |
setSequence(Sequence seq) |
void |
shutdown()
The database is shutting down, shutdown this table also.
|
void |
truncate()
Unconditionally delete all rows in this table.
|
void |
updateRow(Row oldrow,
Row newrow)
Update the given
Row . |
static final java.lang.String REGULAR_TABLE_TYPE
static final java.lang.String SYSTEM_TABLE_TYPE
void addColumn(Column col) throws AxionException
Column
to this table.AxionException
void addConstraint(Constraint constraint) throws AxionException
AxionException
void addIndex(Index index) throws AxionException
Column
, and adding it as a
org.axiondb.TableModificationListener
to the table.void addRow(Row row) throws AxionException
Row
.AxionException
void addTableModificationListener(TableModificationListener listener)
java.util.Iterator<TableModificationListener> getTableModificationListeners()
void applyDeletes(org.apache.commons.collections.primitives.IntCollection rowids) throws AxionException
AxionException
void applyInserts(RowCollection rows) throws AxionException
rows
- a collection of RowsAxionException
void applyUpdates(RowCollection rows) throws AxionException
AxionException
void drop() throws AxionException
AxionException
void freeRowId(int id)
Column getColumn(int index)
Column
corresponding to the given zero-based index .int getColumnCount()
Column
s I contain.getColumnCount
in interface RowSource
java.util.List getColumnIdentifiers()
int getColumnIndex(java.lang.String name) throws AxionException
Column
with the given name .getColumnIndex
in interface RowSource
AxionException
java.util.Iterator getConstraints()
RowIterator getIndexedRows(Selectable where, boolean readOnly) throws AxionException
readOnly
- 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.AxionException
RowIterator getIndexedRows(RowSource source, Selectable where, boolean readOnly) throws AxionException
AxionException
java.util.Iterator<Index> getIndices()
Iterator
over my indices.RowIterator getMatchingRows(java.util.List selectables, java.util.List values, boolean readOnly) throws AxionException
iterator
over my Row
s where each
Selectable
in the selectable list
evaluates
to 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.
AxionException
java.lang.String getName()
int getNextRowId()
int getRowCount()
Row
s I contain.RowIterator getRowIterator(boolean readOnly) throws AxionException
readOnly
- 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.AxionException
java.lang.String getType()
boolean hasColumn(ColumnIdentifier id)
ColumnIdentifier
references a column in this tableboolean hasIndex(java.lang.String name) throws AxionException
AxionException
boolean isColumnIndexed(Column column)
boolean isPrimaryKeyConstraintExists(java.lang.String columnName)
ColumnName
- name of the columnboolean isUniqueConstraintExists(java.lang.String columnName)
columnName
- name of the colummRowDecorator makeRowDecorator()
makeRowDecorator
in interface RowSource
TransactableTable makeTransactableTable()
TransactableTable
for this table.void migrate() throws AxionException
AxionException
void populateIndex(Index index) throws AxionException
index
- AxionException
addIndex(org.axiondb.Index)
void remount(java.io.File dir, boolean dataOnly) throws AxionException
AxionException
Constraint removeConstraint(java.lang.String name)
Constraint getConstraint(java.lang.String name)
void removeIndex(Index index) throws AxionException
index
- AxionException
void removeTableModificationListener(TableModificationListener listener)
void rename(java.lang.String oldName, java.lang.String newName) throws AxionException
AxionException
void shutdown() throws AxionException
AxionException
void truncate() throws AxionException
AxionException
void updateRow(Row oldrow, Row newrow) throws AxionException
Row
.AxionException
void deleteRow(Row row) throws AxionException
Row
.AxionException
void checkpoint() throws AxionException
AxionException
void setSequence(Sequence seq) throws AxionException
AxionException
Sequence getSequence()
void setDeferAllConstraints(boolean deferAll)