DeveelDB
20151217
complete SQL database system, primarly developed for .NET/Mono frameworks
|
Classes | |
class | RowEnumerator |
Public Member Functions | |
TransactionTable (ITransaction transaction, TableSource tableSource, TableEventRegistry eventRegistry) | |
DataObject | GetValue (long rowNumber, int columnOffset) |
Gets a single cell within the table that is located at the given column offset and row. More... | |
ColumnIndex | GetIndex (int columnOffset) |
Gets an index for given column that can be used to select values from this table. More... | |
IEnumerator< Row > | GetEnumerator () |
void | Dispose () |
RowId | AddRow (Row row) |
Persists a new row to the table. More... | |
void | UpdateRow (Row row) |
Updates the values of a row into the table. More... | |
bool | RemoveRow (RowId rowId) |
Deletes row identified by the given coordinates from the table. More... | |
void | FlushIndexes () |
Flushes all changes made on this table to the backing index scheme. More... | |
void | AssertConstraints () |
Performs all constraint integrity checks and actions to any modifications based on any changes that happened to the table since that last call to this method. More... | |
void | AddLock () |
void | RemoveLock () |
Properties | |
int | ColumnCount [get] |
IContext | Context [get, private set] |
TableInfo | TableInfo [get] |
int | RowCount [get] |
IIndex | RowIndex [get] |
ITransaction | Transaction [get, private set] |
TableSource | TableSource [get, private set] |
TableEventRegistry | EventRegistry [get, private set] |
int | TableId [get] |
ObjectName | FullName [get] |
DbObjectType | ObjectType [get] |
object ILockable. | RefId [get] |
Properties inherited from Deveel.Data.Sql.Tables.IMutableTable | |
TableEventRegistry | EventRegistry [get] |
Properties inherited from Deveel.Data.Sql.Tables.ITable | |
IContext | Context [get] |
TableInfo | TableInfo [get] |
Gets the metadata information of the table, used to resolve the column sources. More... | |
int | RowCount [get] |
Gets the total number of rows in the table. More... | |
Properties inherited from Deveel.Data.Sql.IDbObject | |
ObjectName | FullName [get] |
Gets the fully qualified name of the object used to resolve it uniquely within the database. More... | |
DbObjectType | ObjectType [get] |
Gets the type of database object that the implementation is for More... | |
Properties inherited from Deveel.Data.Transactions.ILockable | |
object | RefId [get] |
Private Member Functions | |
~TransactionTable () | |
void | AssertNotDisposed () |
void | EnsureRowIndexListCurrent () |
void | EnsureColumnIndexCurrent (int column) |
IEnumerator IEnumerable. | GetEnumerator () |
void | Dispose (bool disposing) |
void | ExecuteUpdateReferentialAction (ConstraintInfo constraint, DataObject[] originalKey, DataObject[] newKey, IQuery context) |
void | ExecuteDeleteReferentialAction (ConstraintInfo constraint, DataObject[] originalKey, IQuery context) |
void ILockable. | Released (Lock @lock) |
void ILockable. | Acquired (Lock @lock) |
Private Attributes | |
int | rowListRebuild |
IIndex | rowIndex |
int[] | indexRebuilds |
IIndexSet | indexSet |
ColumnIndex[] | columnIndexes |
int | lastEntryRICheck |
bool | disposed |
Definition at line 28 of file TransactionTable.cs.
|
inline |
Definition at line 40 of file TransactionTable.cs.
|
inlineprivate |
Definition at line 54 of file TransactionTable.cs.
|
inlineprivate |
Implements Deveel.Data.Transactions.ILockable.
Definition at line 660 of file TransactionTable.cs.
|
inline |
Implements Deveel.Data.Sql.Tables.IMutableTable.
Definition at line 606 of file TransactionTable.cs.
Persists a new row to the table.
The row to be added must belong to the table context, otherwise an exception will be thrown.
row | The row to be persisted. |
ArgumentException | If the gven row does not belong to the table context. |
ArgumentNullException | If the given row is null . |
Implements Deveel.Data.Sql.Tables.IMutableTable.
Definition at line 243 of file TransactionTable.cs.
|
inline |
Performs all constraint integrity checks and actions to any modifications based on any changes that happened to the table since that last call to this method.
It is important that is called after any call to AddRow, RemoveRow or UpdateRow.
Any constraints that are marked as ConstraintDeferrability.InitiallyImmediate are checked when this is called, otherwise the constraint is checked at commit time.
Any referential actions are performed when this method is called. If a referential action causes a modification to another table, this method is recursively called on the table modified.
If a referential integrity constraint is violated and a referential action is unable to maintain the integrity of the database, any changes made to the table are reverted.
Implements Deveel.Data.Sql.Tables.IMutableTable.
Definition at line 414 of file TransactionTable.cs.
|
inlineprivate |
Definition at line 84 of file TransactionTable.cs.
|
inlineprivate |
Definition at line 214 of file TransactionTable.cs.
|
inline |
Definition at line 238 of file TransactionTable.cs.
|
inlineprivate |
Definition at line 120 of file TransactionTable.cs.
|
inlineprivate |
Definition at line 89 of file TransactionTable.cs.
|
inlineprivate |
Definition at line 546 of file TransactionTable.cs.
|
inlineprivate |
Definition at line 351 of file TransactionTable.cs.
|
inline |
Flushes all changes made on this table to the backing index scheme.
This is used during the commit phase of this objects lifetime. The transaction control mechanism has found that there are no clashes and now we need to commit the current table view to the conglomerate. Because this object may not update index information immediately, we call this to flush all the changes to the table to the backing index set.
When this method returns, the backing index-set of this view will be completely up to date.
Implements Deveel.Data.Sql.Tables.IMutableTable.
Definition at line 340 of file TransactionTable.cs.
|
inline |
Definition at line 203 of file TransactionTable.cs.
|
inlineprivate |
Definition at line 210 of file TransactionTable.cs.
|
inline |
Gets an index for given column that can be used to select values from this table.
columnOffset | The zero-based offset of the column which to get the index. |
Implements Deveel.Data.Sql.Tables.ITable.
Definition at line 156 of file TransactionTable.cs.
|
inline |
Gets a single cell within the table that is located at the given column offset and row.
rowNumber | The unique number of the row where the cell is located. |
columnOffset | The zero-based offset of the column of the cell to return. |
ArgumentOutOfRangeException | If the given columnOffset is less than zero or greater or equal than the number of columns defined in the table metadata. |
Implements Deveel.Data.Sql.Tables.ITable.
Definition at line 150 of file TransactionTable.cs.
|
inlineprivate |
Implements Deveel.Data.Transactions.ILockable.
Definition at line 656 of file TransactionTable.cs.
|
inline |
Implements Deveel.Data.Sql.Tables.IMutableTable.
Definition at line 612 of file TransactionTable.cs.
|
inline |
Deletes row identified by the given coordinates from the table.
rowId | The unique identifier of the row to be removed. |
true
if the row identified was found and removed, false
otherwise. ArgumentException | Thrown if the given rowId does not belong to this table. |
Implements Deveel.Data.Sql.Tables.IMutableTable.
Definition at line 310 of file TransactionTable.cs.
|
inline |
Updates the values of a row into the table.
row | The object containing the values to update. |
ArgumentNullException | If the given row is null . |
Implements Deveel.Data.Sql.Tables.IMutableTable.
Definition at line 270 of file TransactionTable.cs.
|
private |
Definition at line 34 of file TransactionTable.cs.
|
private |
Definition at line 38 of file TransactionTable.cs.
|
private |
Definition at line 32 of file TransactionTable.cs.
|
private |
Definition at line 33 of file TransactionTable.cs.
|
private |
Definition at line 36 of file TransactionTable.cs.
|
private |
Definition at line 30 of file TransactionTable.cs.
|
private |
Definition at line 29 of file TransactionTable.cs.
|
get |
Definition at line 58 of file TransactionTable.cs.
|
getprivate set |
Definition at line 65 of file TransactionTable.cs.
|
getprivate set |
Definition at line 189 of file TransactionTable.cs.
|
get |
Definition at line 195 of file TransactionTable.cs.
|
get |
Definition at line 199 of file TransactionTable.cs.
|
getprivate |
Definition at line 652 of file TransactionTable.cs.
|
get |
Definition at line 74 of file TransactionTable.cs.
|
getprivate |
Definition at line 176 of file TransactionTable.cs.
|
getprivate |
Definition at line 191 of file TransactionTable.cs.
|
get |
Definition at line 67 of file TransactionTable.cs.
|
getprivate set |
Definition at line 187 of file TransactionTable.cs.
|
getprivate set |
Definition at line 185 of file TransactionTable.cs.