本文整理汇总了C#中TableInfo.AsReadOnly方法的典型用法代码示例。如果您正苦于以下问题:C# TableInfo.AsReadOnly方法的具体用法?C# TableInfo.AsReadOnly怎么用?C# TableInfo.AsReadOnly使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TableInfo
的用法示例。
在下文中一共展示了TableInfo.AsReadOnly方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SessionTableContainer
static SessionTableContainer()
{
// SYSTEM.OPEN_SESSIONS
OpenSessionsTableInfo = new TableInfo(SystemSchema.OpenSessionsTableName);
OpenSessionsTableInfo.AddColumn("username", PrimitiveTypes.String());
OpenSessionsTableInfo.AddColumn("host_string", PrimitiveTypes.String());
OpenSessionsTableInfo.AddColumn("last_command", PrimitiveTypes.DateTime());
OpenSessionsTableInfo.AddColumn("time_connected", PrimitiveTypes.DateTime());
OpenSessionsTableInfo = OpenSessionsTableInfo.AsReadOnly();
// SYSTEM.SESSION_INFO
SessionInfoTableInfo = new TableInfo(SystemSchema.SessionInfoTableName);
SessionInfoTableInfo.AddColumn("var", PrimitiveTypes.String());
SessionInfoTableInfo.AddColumn("value", PrimitiveTypes.String());
SessionInfoTableInfo = SessionInfoTableInfo.AsReadOnly();
// SYSTEM.STATS
StatisticsTableInfo = new TableInfo(SystemSchema.StatisticsTableName);
StatisticsTableInfo.AddColumn("stat_name", PrimitiveTypes.String());
StatisticsTableInfo.AddColumn("value", PrimitiveTypes.String());
StatisticsTableInfo = StatisticsTableInfo.AsReadOnly();
IntTableInfo = new TableInfo[3];
IntTableInfo[0] = StatisticsTableInfo;
IntTableInfo[1] = SessionInfoTableInfo;
IntTableInfo[2] = OpenSessionsTableInfo;
}
示例2: OnTableCompositeSetup
public void OnTableCompositeSetup(IQuery systemQuery)
{
var tableInfo = new TableInfo(SystemSchema.GrantsTableName);
tableInfo.AddColumn("priv_bit", PrimitiveTypes.Numeric());
tableInfo.AddColumn("object", PrimitiveTypes.Numeric());
tableInfo.AddColumn("name", PrimitiveTypes.String());
tableInfo.AddColumn("grantee", PrimitiveTypes.String());
tableInfo.AddColumn("grant_option", PrimitiveTypes.Boolean());
tableInfo.AddColumn("granter", PrimitiveTypes.String());
tableInfo = tableInfo.AsReadOnly();
systemQuery.Access().CreateSystemTable(tableInfo);
}
示例3: Create
public void Create()
{
// SYSTEM.SCHEMA_INFO
var tableInfo = new TableInfo(SystemSchema.SchemaInfoTableName);
tableInfo.AddColumn("id", PrimitiveTypes.Numeric());
tableInfo.AddColumn("name", PrimitiveTypes.String());
tableInfo.AddColumn("type", PrimitiveTypes.String());
tableInfo.AddColumn("culture", PrimitiveTypes.String());
tableInfo.AddColumn("other", PrimitiveTypes.String());
tableInfo = tableInfo.AsReadOnly();
Transaction.CreateTable(tableInfo);
}
示例4: CreateTables
private static void CreateTables(IQuery context)
{
var tableInfo = new TableInfo(UserManager.UserTableName);
tableInfo.AddColumn("name", PrimitiveTypes.String());
// TODO: User table must be completed ...
tableInfo = tableInfo.AsReadOnly();
context.Access().CreateTable(tableInfo);
context.Access().AddPrimaryKey(UserManager.UserTableName, new[] { "name" }, "SYSTEM_USER_PK");
tableInfo = new TableInfo(UserManager.PasswordTableName);
tableInfo.AddColumn("user", PrimitiveTypes.String());
tableInfo.AddColumn("method", PrimitiveTypes.String());
tableInfo.AddColumn("method_args", PrimitiveTypes.Binary());
tableInfo.AddColumn("identifier", PrimitiveTypes.String());
tableInfo = tableInfo.AsReadOnly();
context.Access().CreateTable(tableInfo);
tableInfo = new TableInfo(UserManager.UserRoleTableName);
tableInfo.AddColumn("user", PrimitiveTypes.String());
tableInfo.AddColumn("role", PrimitiveTypes.String());
tableInfo.AddColumn("admin", PrimitiveTypes.Boolean());
tableInfo = tableInfo.AsReadOnly();
context.Access().CreateTable(tableInfo);
tableInfo = new TableInfo(UserManager.RoleTableName);
tableInfo.AddColumn("name", PrimitiveTypes.String(), true);
tableInfo = tableInfo.AsReadOnly();
context.Access().CreateTable(tableInfo);
context.Access().AddPrimaryKey(UserManager.RoleTableName, new[] { "name" }, "SYSTEM_ROLE_PK");
var fkCol = new[] { "user" };
var rfkCol = new[] { "role" };
var refCol = new[] { "name" };
const ForeignKeyAction onUpdate = ForeignKeyAction.NoAction;
const ForeignKeyAction onDelete = ForeignKeyAction.Cascade;
context.Access().AddForeignKey(UserManager.PasswordTableName, fkCol, UserManager.UserTableName, refCol, onDelete,
onUpdate, "USER_PASSWORD_FK");
context.Access().AddForeignKey(UserManager.UserRoleTableName, fkCol, UserManager.UserTableName, refCol, onDelete,
onUpdate, "USER_PRIV_FK");
context.Access().AddForeignKey(UserManager.UserRoleTableName, rfkCol, UserManager.RoleTableName, refCol, onDelete,
onUpdate, "USER_ROLE_FK");
}
示例5: OnTableCompositeCreate
public void OnTableCompositeCreate(IQuery systemQuery)
{
// SYSTEM.SEQUENCE_INFO
var tableInfo = new TableInfo(SequenceManager.SequenceInfoTableName);
tableInfo.AddColumn("id", PrimitiveTypes.Numeric());
tableInfo.AddColumn("schema", PrimitiveTypes.String());
tableInfo.AddColumn("name", PrimitiveTypes.String());
tableInfo.AddColumn("type", PrimitiveTypes.Numeric());
tableInfo = tableInfo.AsReadOnly();
systemQuery.Access().CreateTable(tableInfo);
// SYSTEM.SEQUENCE
tableInfo = new TableInfo(SequenceManager.SequenceTableName);
tableInfo.AddColumn("seq_id", PrimitiveTypes.Numeric());
tableInfo.AddColumn("last_value", PrimitiveTypes.Numeric());
tableInfo.AddColumn("increment", PrimitiveTypes.Numeric());
tableInfo.AddColumn("minvalue", PrimitiveTypes.Numeric());
tableInfo.AddColumn("maxvalue", PrimitiveTypes.Numeric());
tableInfo.AddColumn("start", PrimitiveTypes.Numeric());
tableInfo.AddColumn("cache", PrimitiveTypes.Numeric());
tableInfo.AddColumn("cycle", PrimitiveTypes.Boolean());
tableInfo = tableInfo.AsReadOnly();
systemQuery.Access().CreateTable(tableInfo);
}
示例6: CreateTableInfo
private static TableInfo CreateTableInfo(ObjectName schema, string name)
{
var info = new TableInfo(new ObjectName(schema, name));
info.AddColumn("last_value", PrimitiveTypes.Numeric());
info.AddColumn("current_value", PrimitiveTypes.Numeric());
info.AddColumn("top_value", PrimitiveTypes.Numeric());
info.AddColumn("increment_by", PrimitiveTypes.Numeric());
info.AddColumn("min_value", PrimitiveTypes.Numeric());
info.AddColumn("max_value", PrimitiveTypes.Numeric());
info.AddColumn("start", PrimitiveTypes.Numeric());
info.AddColumn("cache", PrimitiveTypes.Numeric());
info.AddColumn("cycle", PrimitiveTypes.Boolean());
info = info.AsReadOnly();
return info;
}
示例7: CreateTable
public void CreateTable(TableInfo tableInfo, bool temporary)
{
var tableName = tableInfo.TableName;
if (visibleTables.ContainsKey(tableName))
throw new InvalidOperationException(String.Format("Table '{0}' already exists.", tableName));
tableInfo = tableInfo.AsReadOnly();
var source = Composite.CreateTableSource(tableInfo, temporary);
// Add this table (and an index set) for this table.
AddVisibleTable(source, source.CreateIndexSet());
int tableId = source.TableId;
Transaction.OnTableCreated(tableId, tableName);
Transaction.CreateNativeSequence(tableName);
}
示例8: Create
public void Create()
{
// SYSTEM.SEQUENCE_INFO
var tableInfo = new TableInfo(SystemSchema.SequenceInfoTableName);
tableInfo.AddColumn("id", PrimitiveTypes.Numeric());
tableInfo.AddColumn("schema", PrimitiveTypes.String());
tableInfo.AddColumn("name", PrimitiveTypes.String());
tableInfo.AddColumn("type", PrimitiveTypes.Numeric());
tableInfo = tableInfo.AsReadOnly();
Transaction.CreateTable(tableInfo);
// SYSTEM.SEQUENCE
tableInfo = new TableInfo(SystemSchema.SequenceTableName);
tableInfo.AddColumn("seq_id", PrimitiveTypes.Numeric());
tableInfo.AddColumn("last_value", PrimitiveTypes.Numeric());
tableInfo.AddColumn("increment", PrimitiveTypes.Numeric());
tableInfo.AddColumn("minvalue", PrimitiveTypes.Numeric());
tableInfo.AddColumn("maxvalue", PrimitiveTypes.Numeric());
tableInfo.AddColumn("start", PrimitiveTypes.Numeric());
tableInfo.AddColumn("cache", PrimitiveTypes.Numeric());
tableInfo.AddColumn("cycle", PrimitiveTypes.Boolean());
tableInfo = tableInfo.AsReadOnly();
Transaction.CreateTable(tableInfo);
}
示例9: Init
protected virtual void Init(IEnumerable<ITable> tables)
{
var tablesArray = tables.ToArray();
referenceList = tablesArray;
int colCount = ColumnCount;
indexes = new ColumnIndex[colCount];
vtTableInfo = new TableInfo(new ObjectName("#VIRTUAL TABLE#"));
// Generate look up tables for column_table and column_filter information
columnTable = new int[colCount];
columnFilter = new int[colCount];
int index = 0;
for (int i = 0; i < referenceList.Length; ++i) {
var curTable = referenceList[i];
var curTableInfo = curTable.TableInfo;
int refColCount = curTable.ColumnCount();
// For each column
for (int n = 0; n < refColCount; ++n) {
columnFilter[index] = n;
columnTable[index] = i;
++index;
// Add this column to the data table info of this table.
var columnInfo = curTableInfo[n];
var newColumnInfo = new ColumnInfo(columnInfo.ColumnName, columnInfo.ColumnType) {
DefaultExpression = columnInfo.DefaultExpression,
IsNotNull = columnInfo.IsNotNull,
IndexType = columnInfo.IndexType
};
vtTableInfo.AddColumnSafe(newColumnInfo);
}
}
vtTableInfo = vtTableInfo.AsReadOnly();
}
示例10: CreateTableInfo
private static TableInfo CreateTableInfo(string schema, string name)
{
var tableInfo = new TableInfo(new ObjectName(new ObjectName(schema), name));
tableInfo.AddColumn("type", PrimitiveTypes.Numeric());
tableInfo.AddColumn("on_object", PrimitiveTypes.String());
tableInfo.AddColumn("routine_name", PrimitiveTypes.String());
tableInfo.AddColumn("param_args", PrimitiveTypes.String());
tableInfo.AddColumn("owner", PrimitiveTypes.String());
return tableInfo.AsReadOnly();
}
示例11: FunctionTable
public FunctionTable(ITable table, SqlExpression[] functionList, string[] columnNames, IRequest queryContext)
: base(queryContext.Context)
{
// Make sure we are synchronized over the class.
lock (typeof(FunctionTable)) {
uniqueId = uniqueKeySeq;
++uniqueKeySeq;
}
uniqueId = (uniqueId & 0x0FFFFFFF) | 0x010000000;
context = queryContext;
ReferenceTable = table;
varResolver = table.GetVariableResolver();
varResolver = varResolver.ForRow(0);
// Create a DataTableInfo object for this function table.
funTableInfo = new TableInfo(FunctionTableName);
expList = new SqlExpression[functionList.Length];
expInfo = new byte[functionList.Length];
// Create a new DataColumnInfo for each expression, and work out if the
// expression is simple or not.
for (int i = 0; i < functionList.Length; ++i) {
var expr = functionList[i];
// Examine the expression and determine if it is simple or not
if (expr.IsConstant() && !expr.HasAggregate(context)) {
// If expression is a constant, solve it
var result = expr.Evaluate(context, null);
if (result.ExpressionType != SqlExpressionType.Constant)
throw new InvalidOperationException();
expr = result;
expList[i] = expr;
expInfo[i] = 1;
} else {
// Otherwise must be dynamic
expList[i] = expr;
expInfo[i] = 0;
}
// Make the column info
funTableInfo.AddColumn(columnNames[i], expr.ReturnType(context, varResolver));
}
// Make sure the table info isn't changed from this point on.
funTableInfo = funTableInfo.AsReadOnly();
// routine tables are the size of the referring table.
rowCount = table.RowCount;
// Set schemes to 'blind search'.
SetupIndexes(DefaultIndexTypes.BlindSearch);
}
示例12: SystemSchema
static SystemSchema()
{
// SYSTEM.TABLE_INFO
TableInfoTableInfo = new TableInfo(TableInfoTableName);
TableInfoTableInfo.AddColumn("catalog", PrimitiveTypes.String());
TableInfoTableInfo.AddColumn("schema", PrimitiveTypes.String());
TableInfoTableInfo.AddColumn("name", PrimitiveTypes.String());
TableInfoTableInfo.AddColumn("type", PrimitiveTypes.String());
TableInfoTableInfo.AddColumn("other", PrimitiveTypes.String());
TableInfoTableInfo = TableInfoTableInfo.AsReadOnly();
// SYSTEM.TABLE_COLUMNS
TableColumnsTableInfo = new TableInfo(TableColumnsTableName);
TableColumnsTableInfo.AddColumn("schema", PrimitiveTypes.String());
TableColumnsTableInfo.AddColumn("table", PrimitiveTypes.String());
TableColumnsTableInfo.AddColumn("column", PrimitiveTypes.String());
TableColumnsTableInfo.AddColumn("sql_type", PrimitiveTypes.Numeric());
TableColumnsTableInfo.AddColumn("type_desc", PrimitiveTypes.String());
TableColumnsTableInfo.AddColumn("size", PrimitiveTypes.Numeric());
TableColumnsTableInfo.AddColumn("scale", PrimitiveTypes.Numeric());
TableColumnsTableInfo.AddColumn("not_null", PrimitiveTypes.Boolean());
TableColumnsTableInfo.AddColumn("default", PrimitiveTypes.String());
TableColumnsTableInfo.AddColumn("index_str", PrimitiveTypes.String());
TableColumnsTableInfo.AddColumn("seq_no", PrimitiveTypes.Numeric());
TableColumnsTableInfo = TableColumnsTableInfo.AsReadOnly();
// SYSTEM.VARIABLES
VariablesTableInfo = new TableInfo(VariablesTableName);
VariablesTableInfo.AddColumn("var", PrimitiveTypes.String());
VariablesTableInfo.AddColumn("type", PrimitiveTypes.String());
VariablesTableInfo.AddColumn("value", PrimitiveTypes.String());
VariablesTableInfo.AddColumn("constant", PrimitiveTypes.Boolean());
VariablesTableInfo.AddColumn("not_null", PrimitiveTypes.Boolean());
VariablesTableInfo.AddColumn("is_set", PrimitiveTypes.Boolean());
VariablesTableInfo = VariablesTableInfo.AsReadOnly();
// SYSTEM.PRODUCT_INFO
ProductInfoTableInfo = new TableInfo(ProductInfoTableName);
ProductInfoTableInfo.AddColumn("var", PrimitiveTypes.String());
ProductInfoTableInfo.AddColumn("value", PrimitiveTypes.String());
ProductInfoTableInfo = ProductInfoTableInfo.AsReadOnly();
// SYSTEM.STATS
StatisticsTableInfo = new TableInfo(StatisticsTableName);
StatisticsTableInfo.AddColumn("stat_name", PrimitiveTypes.String());
StatisticsTableInfo.AddColumn("value", PrimitiveTypes.String());
StatisticsTableInfo = StatisticsTableInfo.AsReadOnly();
// SYSTEM.SQL_TYPES
SqlTypesTableInfo = new TableInfo(SqlTypesTableName);
SqlTypesTableInfo.AddColumn("TYPE_NAME", PrimitiveTypes.String());
SqlTypesTableInfo.AddColumn("DATA_TYPE", PrimitiveTypes.Numeric());
SqlTypesTableInfo.AddColumn("PRECISION", PrimitiveTypes.Numeric());
SqlTypesTableInfo.AddColumn("LITERAL_PREFIX", PrimitiveTypes.String());
SqlTypesTableInfo.AddColumn("LITERAL_SUFFIX", PrimitiveTypes.String());
SqlTypesTableInfo.AddColumn("CREATE_PARAMS", PrimitiveTypes.String());
SqlTypesTableInfo.AddColumn("NULLABLE", PrimitiveTypes.Numeric());
SqlTypesTableInfo.AddColumn("CASE_SENSITIVE", PrimitiveTypes.Boolean());
SqlTypesTableInfo.AddColumn("SEARCHABLE", PrimitiveTypes.Numeric());
SqlTypesTableInfo.AddColumn("UNSIGNED_ATTRIBUTE", PrimitiveTypes.Boolean());
SqlTypesTableInfo.AddColumn("FIXED_PREC_SCALE", PrimitiveTypes.Boolean());
SqlTypesTableInfo.AddColumn("AUTO_INCREMENT", PrimitiveTypes.Boolean());
SqlTypesTableInfo.AddColumn("LOCAL_TYPE_NAME", PrimitiveTypes.String());
SqlTypesTableInfo.AddColumn("MINIMUM_SCALE", PrimitiveTypes.Numeric());
SqlTypesTableInfo.AddColumn("MAXIMUM_SCALE", PrimitiveTypes.Numeric());
SqlTypesTableInfo.AddColumn("SQL_DATA_TYPE", PrimitiveTypes.String());
SqlTypesTableInfo.AddColumn("SQL_DATETIME_SUB", PrimitiveTypes.String());
SqlTypesTableInfo.AddColumn("NUM_PREC_RADIX", PrimitiveTypes.Numeric());
SqlTypesTableInfo = SqlTypesTableInfo.AsReadOnly();
// SYSTEM.OPEN_SESSIONS
OpenSessionsTableInfo = new TableInfo(OpenSessionsTableName);
OpenSessionsTableInfo.AddColumn("username", PrimitiveTypes.String());
OpenSessionsTableInfo.AddColumn("host_string", PrimitiveTypes.String());
OpenSessionsTableInfo.AddColumn("last_command", PrimitiveTypes.DateTime());
OpenSessionsTableInfo.AddColumn("time_connected", PrimitiveTypes.DateTime());
OpenSessionsTableInfo = OpenSessionsTableInfo.AsReadOnly();
// CONNECTION_INFO
SessionInfoTableInfo = new TableInfo(SessionInfoTableName);
SessionInfoTableInfo.AddColumn("var", PrimitiveTypes.String());
SessionInfoTableInfo.AddColumn("value", PrimitiveTypes.String());
SessionInfoTableInfo = SessionInfoTableInfo.AsReadOnly();
// SYSTEM.PRIVS
PrivilegesTableInfo = new TableInfo(PrivilegesTableName);
PrivilegesTableInfo.AddColumn("priv_bit", PrimitiveTypes.Numeric());
PrivilegesTableInfo.AddColumn("description", PrimitiveTypes.String());
PrivilegesTableInfo = PrivilegesTableInfo.AsReadOnly();
}
示例13: SingleColumnTable
public static TemporaryTable SingleColumnTable(IContext database, string columnName, SqlType columnType)
{
var tableInfo = new TableInfo(new ObjectName("single"));
tableInfo.AddColumn(columnName, columnType);
tableInfo = tableInfo.AsReadOnly();
return new TemporaryTable(database, tableInfo);
}
示例14: CreateTableInfo
private static TableInfo CreateTableInfo(string schema, string name)
{
// Create the TableInfo that describes this entry
var info = new TableInfo(new ObjectName(new ObjectName(schema), name));
// Add column definitions
info.AddColumn("type", PrimitiveTypes.String());
info.AddColumn("location", PrimitiveTypes.String());
info.AddColumn("return_type", PrimitiveTypes.String());
info.AddColumn("param_args", PrimitiveTypes.String());
info.AddColumn("owner", PrimitiveTypes.String());
return info.AsReadOnly();
}
示例15: TransactionTableContainer
static TransactionTableContainer()
{
// SYSTEM.TABLE_INFO
TableInfoTableInfo = new TableInfo(SystemSchema.TableInfoTableName);
TableInfoTableInfo.AddColumn("catalog", PrimitiveTypes.String());
TableInfoTableInfo.AddColumn("schema", PrimitiveTypes.String());
TableInfoTableInfo.AddColumn("name", PrimitiveTypes.String());
TableInfoTableInfo.AddColumn("type", PrimitiveTypes.String());
TableInfoTableInfo.AddColumn("other", PrimitiveTypes.String());
TableInfoTableInfo = TableInfoTableInfo.AsReadOnly();
// SYSTEM.TABLE_COLUMNS
TableColumnsTableInfo = new TableInfo(SystemSchema.TableColumnsTableName);
TableColumnsTableInfo.AddColumn("schema", PrimitiveTypes.String());
TableColumnsTableInfo.AddColumn("table", PrimitiveTypes.String());
TableColumnsTableInfo.AddColumn("column", PrimitiveTypes.String());
TableColumnsTableInfo.AddColumn("sql_type", PrimitiveTypes.Numeric());
TableColumnsTableInfo.AddColumn("type_desc", PrimitiveTypes.String());
TableColumnsTableInfo.AddColumn("size", PrimitiveTypes.Numeric());
TableColumnsTableInfo.AddColumn("scale", PrimitiveTypes.Numeric());
TableColumnsTableInfo.AddColumn("not_null", PrimitiveTypes.Boolean());
TableColumnsTableInfo.AddColumn("default", PrimitiveTypes.String());
TableColumnsTableInfo.AddColumn("index_str", PrimitiveTypes.String());
TableColumnsTableInfo.AddColumn("seq_no", PrimitiveTypes.Numeric());
TableColumnsTableInfo = TableColumnsTableInfo.AsReadOnly();
// SYSTEM.VARIABLES
VariablesTableInfo = new TableInfo(SystemSchema.VariablesTableName);
VariablesTableInfo.AddColumn("var", PrimitiveTypes.String());
VariablesTableInfo.AddColumn("type", PrimitiveTypes.String());
VariablesTableInfo.AddColumn("value", PrimitiveTypes.String());
VariablesTableInfo.AddColumn("constant", PrimitiveTypes.Boolean());
VariablesTableInfo.AddColumn("not_null", PrimitiveTypes.Boolean());
VariablesTableInfo.AddColumn("is_set", PrimitiveTypes.Boolean());
VariablesTableInfo = VariablesTableInfo.AsReadOnly();
// SYSTEM.PRODUCT_INFO
ProductInfoTableInfo = new TableInfo(SystemSchema.ProductInfoTableName);
ProductInfoTableInfo.AddColumn("var", PrimitiveTypes.String());
ProductInfoTableInfo.AddColumn("value", PrimitiveTypes.String());
ProductInfoTableInfo = ProductInfoTableInfo.AsReadOnly();
// SYSTEM.SQL_TYPES
SqlTypesTableInfo = new TableInfo(SystemSchema.SqlTypesTableName);
SqlTypesTableInfo.AddColumn("TYPE_NAME", PrimitiveTypes.String());
SqlTypesTableInfo.AddColumn("DATA_TYPE", PrimitiveTypes.Numeric());
SqlTypesTableInfo.AddColumn("PRECISION", PrimitiveTypes.Numeric());
SqlTypesTableInfo.AddColumn("LITERAL_PREFIX", PrimitiveTypes.String());
SqlTypesTableInfo.AddColumn("LITERAL_SUFFIX", PrimitiveTypes.String());
SqlTypesTableInfo.AddColumn("CREATE_PARAMS", PrimitiveTypes.String());
SqlTypesTableInfo.AddColumn("NULLABLE", PrimitiveTypes.Numeric());
SqlTypesTableInfo.AddColumn("CASE_SENSITIVE", PrimitiveTypes.Boolean());
SqlTypesTableInfo.AddColumn("SEARCHABLE", PrimitiveTypes.Numeric());
SqlTypesTableInfo.AddColumn("UNSIGNED_ATTRIBUTE", PrimitiveTypes.Boolean());
SqlTypesTableInfo.AddColumn("FIXED_PREC_SCALE", PrimitiveTypes.Boolean());
SqlTypesTableInfo.AddColumn("AUTO_INCREMENT", PrimitiveTypes.Boolean());
SqlTypesTableInfo.AddColumn("LOCAL_TYPE_NAME", PrimitiveTypes.String());
SqlTypesTableInfo.AddColumn("MINIMUM_SCALE", PrimitiveTypes.Numeric());
SqlTypesTableInfo.AddColumn("MAXIMUM_SCALE", PrimitiveTypes.Numeric());
SqlTypesTableInfo.AddColumn("SQL_DATA_TYPE", PrimitiveTypes.String());
SqlTypesTableInfo.AddColumn("SQL_DATETIME_SUB", PrimitiveTypes.String());
SqlTypesTableInfo.AddColumn("NUM_PREC_RADIX", PrimitiveTypes.Numeric());
SqlTypesTableInfo = SqlTypesTableInfo.AsReadOnly();
// SYSTEM.PRIVS
PrivilegesTableInfo = new TableInfo(SystemSchema.PrivilegesTableName);
PrivilegesTableInfo.AddColumn("priv_bit", PrimitiveTypes.Numeric());
PrivilegesTableInfo.AddColumn("description", PrimitiveTypes.String());
PrivilegesTableInfo = PrivilegesTableInfo.AsReadOnly();
IntTableInfo = new TableInfo[6];
IntTableInfo[0] = TableInfoTableInfo;
IntTableInfo[1] = TableColumnsTableInfo;
IntTableInfo[2] = ProductInfoTableInfo;
IntTableInfo[3] = VariablesTableInfo;
IntTableInfo[4] = SqlTypesTableInfo;
IntTableInfo[5] = PrivilegesTableInfo;
}