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.