![]() |
DeveelDB
20151217
complete SQL database system, primarly developed for .NET/Mono frameworks
|
Defines the metadata properties of a table existing within a database. More...
Classes | |
| class | ColumnsResolver |
Public Member Functions | |
| TableInfo (ObjectName tableName) | |
| Constructs the object with the given table name. More... | |
| void | Establish (int id) |
| void | AddColumn (ColumnInfo column) |
| Adds a new column to the table at the last position of the columns list in the table metadata. More... | |
| ColumnInfo | AddColumn (string columnName, SqlType columnType) |
| Adds a new column to the table having the given name and type. More... | |
| ColumnInfo | AddColumn (string columnName, SqlType columnType, bool notNull) |
| Adds a new column to the table having the given name and type. More... | |
| IEnumerator< ColumnInfo > | GetEnumerator () |
| int | IndexOfColumn (string columnName) |
| Gets the offset of the column with the given name. More... | |
| int | IndexOfColumn (ObjectName columnName) |
| TableInfo | AsReadOnly () |
| Creates a new instance of TableInfo as an immutable copy of this table metadata. More... | |
| TableInfo | Alias (ObjectName alias) |
| IEnumerable< int > | IndexOfColumns (IEnumerable< string > columnNames) |
Static Public Member Functions | |
| static void | Serialize (TableInfo tableInfo, Stream stream) |
| static void | Serialize (TableInfo tableInfo, BinaryWriter writer) |
| static TableInfo | Deserialize (Stream stream, ITypeResolver typeResolver) |
| static TableInfo | Deserialize (BinaryReader reader, ITypeResolver typeResolver) |
Package Functions | |
| void | AddColumnSafe (ColumnInfo column) |
| SqlExpression | ResolveColumns (bool ignoreCase, SqlExpression expression) |
Properties | |
| DbObjectType IObjectInfo. | ObjectType [get] |
| ObjectName | TableName [get, private set] |
| Gets the fully qualified name of the table that is ensured to be unique within the system. More... | |
| ObjectName IObjectInfo. | FullName [get] |
| int | Id [get, private set] |
| Gets a unique identifier of the table in a database system. More... | |
| bool | IsPermanent [get, private set] |
| Gets a value that indicates if the table is permanent. More... | |
| string | Name [get] |
| Gets the name part of the table name. More... | |
| ObjectName | SchemaName [get] |
| Gets the schema name part of the table name. More... | |
| string | CatalogName [get] |
| Gets the name of the catalog containing the table, if defined. More... | |
| bool | IsReadOnly [get, private set] |
| Gets a boolean value that indicates if the structure of this table cannot be altered. More... | |
| int | ColumnCount [get] |
| Gets a count of the columns defined by this object. More... | |
| ColumnInfo | this[int offset] [get] |
| Gets the column object defined at the given offset within the table. More... | |
Properties inherited from Deveel.Data.Sql.IObjectInfo | |
| DbObjectType | ObjectType [get] |
| ObjectName | FullName [get] |
Private Member Functions | |
| TableInfo (ObjectName tableName, int id, bool perm, IList< ColumnInfo > columns, bool isReadOnly) | |
| TableInfo (ObjectData data) | |
| void | AssertNotReadOnly () |
| void ISerializable. | GetData (SerializeData data) |
| IEnumerator IEnumerable. | GetEnumerator () |
Private Attributes | |
| readonly IList< ColumnInfo > | columns |
| readonly Dictionary< ObjectName, int > | columnsCache |
Defines the metadata properties of a table existing within a database.
A table structure implements a unique name within a database system, and a list columns that shape the design of the data that the table can accommodate.
Definition at line 41 of file TableInfo.cs.
|
inline |
Constructs the object with the given table name.
| tableName | The unique name of the table within the database system. |
| id | The unique identifier of the table in the database. |
| ArgumentNullException | If the provided tableName is null. |
Definition at line 54 of file TableInfo.cs.
|
inlineprivate |
Definition at line 58 of file TableInfo.cs.
|
inlineprivate |
Definition at line 71 of file TableInfo.cs.
|
inline |
Adds a new column to the table at the last position of the columns list in the table metadata.
| column | The ColumnInfo metadata to add to the table. |
| ArgumentNullException | If the given column is null. |
| InvalidOperationException | If the table is immutable (IsReadOnly is equals to true) |
| ArgumentException | If the column is already defined in this table or if it is attacted to another table. |
Definition at line 230 of file TableInfo.cs.
|
inline |
Adds a new column to the table having the given name and type.
| columnName | The name of the column to add. |
| columnType | The SqlType of the column to add. |
Definition at line 259 of file TableInfo.cs.
|
inline |
Adds a new column to the table having the given name and type.
| columnName | The name of the column to add. |
| columnType | The SqlType of the column to add. |
| notNull | If the column values must be NOT NULL. |
| ArgumentNullException | If either columnName or the columnType arguments are null. |
Definition at line 279 of file TableInfo.cs.
|
inlinepackage |
Definition at line 203 of file TableInfo.cs.
|
inline |
Definition at line 346 of file TableInfo.cs.
|
inline |
Creates a new instance of TableInfo as an immutable copy of this table metadata.
Definition at line 342 of file TableInfo.cs.
|
inlineprivate |
Definition at line 185 of file TableInfo.cs.
|
inlinestatic |
Definition at line 411 of file TableInfo.cs.
|
inlinestatic |
Definition at line 416 of file TableInfo.cs.
|
inline |
Definition at line 190 of file TableInfo.cs.
|
inlineprivate |
Implements Deveel.Data.Serialization.ISerializable.
Definition at line 195 of file TableInfo.cs.
|
inline |
Definition at line 293 of file TableInfo.cs.
|
inlineprivate |
Definition at line 297 of file TableInfo.cs.
|
inline |
Gets the offset of the column with the given name.
| columnName | The name of the column of which to get the offset. |
Definition at line 310 of file TableInfo.cs.
|
inline |
Definition at line 314 of file TableInfo.cs.
|
inline |
Definition at line 380 of file TableInfo.cs.
|
inlinepackage |
Definition at line 350 of file TableInfo.cs.
|
inlinestatic |
Definition at line 387 of file TableInfo.cs.
|
inlinestatic |
Definition at line 392 of file TableInfo.cs.
|
private |
Definition at line 42 of file TableInfo.cs.
|
private |
Definition at line 43 of file TableInfo.cs.
|
get |
Gets the name of the catalog containing the table, if defined.
Definition at line 136 of file TableInfo.cs.
|
get |
Gets a count of the columns defined by this object.
Definition at line 159 of file TableInfo.cs.
|
getprivate |
Definition at line 99 of file TableInfo.cs.
|
getprivate set |
Gets a unique identifier of the table in a database system.
Definition at line 107 of file TableInfo.cs.
|
getprivate set |
Gets a value that indicates if the table is permanent.
Definition at line 113 of file TableInfo.cs.
|
getprivate set |
Gets a boolean value that indicates if the structure of this table cannot be altered.
Definition at line 153 of file TableInfo.cs.
|
get |
Gets the name part of the table name.
Definition at line 120 of file TableInfo.cs.
|
getprivate |
Definition at line 89 of file TableInfo.cs.
|
get |
Gets the schema name part of the table name.
Definition at line 129 of file TableInfo.cs.
|
getprivate set |
Gets the fully qualified name of the table that is ensured to be unique within the system.
Definition at line 97 of file TableInfo.cs.
|
get |
Gets the column object defined at the given offset within the table.
| offset | The zero-based offset of the column to return. |
| ArgumentOutOfRangeException | If the given offset is less than zero or greater or equal than the number of columns defined in the table. |
Definition at line 176 of file TableInfo.cs.
1.8.10