当前位置: 首页>>代码示例>>C#>>正文


C# TableInfo.AsReadOnly方法代码示例

本文整理汇总了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;
        }
开发者ID:deveel,项目名称:deveeldb,代码行数:27,代码来源:SessionTableContainer.cs

示例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);
 }
开发者ID:deveel,项目名称:deveeldb,代码行数:12,代码来源:PrivilegesInit.cs

示例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);
 }
开发者ID:prepare,项目名称:deveeldb,代码行数:12,代码来源:SchemaManager.cs

示例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");
        }
开发者ID:deveel,项目名称:deveeldb,代码行数:44,代码来源:SystemBuilderExtensions.cs

示例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);
        }
开发者ID:deveel,项目名称:deveeldb,代码行数:24,代码来源:SequencesInit.cs

示例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;
 }
开发者ID:deveel,项目名称:deveeldb,代码行数:15,代码来源:SequenceTableContainer.cs

示例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);
        }
开发者ID:deveel,项目名称:deveeldb,代码行数:18,代码来源:TableManager.cs

示例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);
        }
开发者ID:ArsenShnurkov,项目名称:deveeldb,代码行数:24,代码来源:SequenceManager.cs

示例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();
        }
开发者ID:ArsenShnurkov,项目名称:deveeldb,代码行数:41,代码来源:JoinedTable.cs

示例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();
            }
开发者ID:furesoft,项目名称:deveeldb,代码行数:12,代码来源:TriggerManager.cs

示例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);
        }
开发者ID:ArsenShnurkov,项目名称:deveeldb,代码行数:56,代码来源:FunctionTable.cs

示例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();
        }
开发者ID:prepare,项目名称:deveeldb,代码行数:90,代码来源:SystemSchema.cs

示例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);
 }
开发者ID:ArsenShnurkov,项目名称:deveeldb,代码行数:7,代码来源:TemporaryTable.cs

示例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();
            }
开发者ID:ArsenShnurkov,项目名称:deveeldb,代码行数:14,代码来源:RoutineManager.cs

示例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;
        }
开发者ID:deveel,项目名称:deveeldb,代码行数:78,代码来源:TransactionTableContainer.cs


注:本文中的TableInfo.AsReadOnly方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。