Example #1
0
        protected override ISession CreateAdminSession(IDatabase database)
        {
            using (var session = base.CreateAdminSession(database)) {
                using (var query = session.CreateQuery()) {
                    var tn1        = ObjectName.Parse("APP.test_table1");
                    var tableInfo1 = new TableInfo(tn1);
                    tableInfo1.AddColumn(new ColumnInfo("id", PrimitiveTypes.Integer()));
                    tableInfo1.AddColumn(new ColumnInfo("name", PrimitiveTypes.String()));
                    tableInfo1.AddColumn(new ColumnInfo("date", PrimitiveTypes.DateTime()));
                    query.CreateTable(tableInfo1);
                    query.AddPrimaryKey(tn1, "id");

                    var tn2        = ObjectName.Parse("APP.test_table2");
                    var tableInfo2 = new TableInfo(tn2);
                    tableInfo2.AddColumn(new ColumnInfo("id", PrimitiveTypes.Integer()));
                    tableInfo2.AddColumn(new ColumnInfo("other_id", PrimitiveTypes.Integer()));
                    tableInfo2.AddColumn(new ColumnInfo("count", PrimitiveTypes.Integer()));
                    query.CreateTable(tableInfo2);
                    query.AddPrimaryKey(tn2, "id");
                    query.AddForeignKey(tn2, new[] { "other_id" }, tn1, new[] { "id" }, ForeignKeyAction.Cascade, ForeignKeyAction.Cascade, null);

                    query.Commit();
                }
            }

            return(base.CreateAdminSession(database));
        }
 private void CreateTable(IQuery query)
 {
     var tableInfo = new TableInfo(ObjectName.Parse("APP.test_table"));
     tableInfo.AddColumn("a", PrimitiveTypes.Integer());
     tableInfo.AddColumn("b", PrimitiveTypes.String(), false);
     query.CreateTable(tableInfo, false, false);
 }
Example #3
0
        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);
        }
Example #4
0
        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;
        }
        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;
        }
        public void TestSetup()
        {
            var tableInfo = new TableInfo(ObjectName.Parse("APP.people"));
            tableInfo.AddColumn("id", PrimitiveTypes.Bit());
            tableInfo.AddColumn("first_name", PrimitiveTypes.String(), true);
            tableInfo.AddColumn("last_name", PrimitiveTypes.String());
            tableInfo.AddColumn("age", PrimitiveTypes.TinyInt());
            table = new TemporaryTable(tableInfo);

            var tempTable = (TemporaryTable) table;
            tempTable.NewRow(new[] {
                DataObject.BigInt(1),
                DataObject.String("Antonello"),
                DataObject.String("Provenzano"),
                DataObject.Null()
            });
            tempTable.NewRow(new[] {
                DataObject.BigInt(2),
                DataObject.String("Moritz"),
                DataObject.String("Krull"),
                DataObject.TinyInt(31)
            });

            tempTable.BuildIndexes();
        }
Example #7
0
        public void CreateSimpleTableAsAdmin()
        {
            var tableName = ObjectName.Parse("APP.test_table");
            var tableInfo = new TableInfo(tableName);
            tableInfo.AddColumn("a", PrimitiveTypes.Integer(), true);
            tableInfo.AddColumn("b", PrimitiveTypes.String());

            using (var session = Database.CreateUserSession(AdminUserName, AdminPassword)) {
                using (var context = new SessionQueryContext(session)) {
                    Assert.DoesNotThrow(() => {
                        context.CreateTable(tableInfo);
                    });
                }

                Assert.DoesNotThrow(() => session.Commit());
            }

            using (var session = Database.CreateUserSession(AdminUserName, AdminPassword)) {
                using (var context = new SessionQueryContext(session)) {
                    bool exists = false;
                    Assert.DoesNotThrow(() => exists = context.TableExists(tableName));
                    Assert.IsTrue(exists);
                }
            }
        }
        protected override bool OnSetUp(string testName, IQuery query)
        {
            var tableName = ObjectName.Parse("APP.test_table");
            var tableInfo = new TableInfo(tableName);

            tableInfo.AddColumn("a", PrimitiveTypes.Integer());
            tableInfo.AddColumn("b", PrimitiveTypes.String());

            query.Access().CreateObject(tableInfo);

            var table = query.Access().GetMutableTable(tableName);

            for (int i = 0; i < 15; i++)
            {
                var aValue = Field.Integer(i * i);
                var bValue = Field.String(i.ToString());

                var row = table.NewRow();
                row.SetValue(0, aValue);
                row.SetValue(1, bValue);

                table.AddRow(row);
            }

            return(true);
        }
Example #9
0
        public void TestSetup()
        {
            var tableInfo = new TableInfo(ObjectName.Parse("APP.people"));

            tableInfo.AddColumn("id", PrimitiveTypes.Bit());
            tableInfo.AddColumn("first_name", PrimitiveTypes.String(), true);
            tableInfo.AddColumn("last_name", PrimitiveTypes.String());
            tableInfo.AddColumn("age", PrimitiveTypes.TinyInt());
            table = new TemporaryTable(tableInfo);

            var tempTable = (TemporaryTable)table;

            tempTable.NewRow(new[] {
                DataObject.BigInt(1),
                DataObject.String("Antonello"),
                DataObject.String("Provenzano"),
                DataObject.Null()
            });
            tempTable.NewRow(new[] {
                DataObject.BigInt(2),
                DataObject.String("Moritz"),
                DataObject.String("Krull"),
                DataObject.TinyInt(31)
            });

            tempTable.BuildIndexes();
        }
        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);
        }
Example #11
0
        protected override ISession CreateAdminSession(IDatabase database)
        {
            using (var session = base.CreateAdminSession(database)) {
                using (var query = session.CreateQuery()) {
                    var tn1 = ObjectName.Parse("APP.test_table1");
                    var tableInfo1 = new TableInfo(tn1);
                    tableInfo1.AddColumn(new ColumnInfo("id", PrimitiveTypes.Integer()));
                    tableInfo1.AddColumn(new ColumnInfo("name", PrimitiveTypes.String()));
                    tableInfo1.AddColumn(new ColumnInfo("date", PrimitiveTypes.DateTime()));
                    query.CreateTable(tableInfo1);
                    query.AddPrimaryKey(tn1, "id");

                    var tn2 = ObjectName.Parse("APP.test_table2");
                    var tableInfo2 = new TableInfo(tn2);
                    tableInfo2.AddColumn(new ColumnInfo("id", PrimitiveTypes.Integer()));
                    tableInfo2.AddColumn(new ColumnInfo("other_id", PrimitiveTypes.Integer()));
                    tableInfo2.AddColumn(new ColumnInfo("count", PrimitiveTypes.Integer()));
                    query.CreateTable(tableInfo2);
                    query.AddPrimaryKey(tn2, "id");
                    query.AddForeignKey(tn2, new[] { "other_id" }, tn1, new[] { "id" }, ForeignKeyAction.Cascade, ForeignKeyAction.Cascade, null);

                    query.Commit();
                }
            }

            return base.CreateAdminSession(database);
        }
Example #12
0
        private void CreateTable(IQuery query)
        {
            var tableInfo = new TableInfo(ObjectName.Parse("APP.test_table"));

            tableInfo.AddColumn("a", PrimitiveTypes.Integer());
            tableInfo.AddColumn("b", PrimitiveTypes.String(), false);
            query.CreateTable(tableInfo, false, false);
        }
Example #13
0
        private void CreateTestTable(IQuery query, ObjectName tableName)
        {
            var tableInfo = new TableInfo(tableName);

            tableInfo.AddColumn("id", PrimitiveTypes.Integer());
            tableInfo.AddColumn("name", PrimitiveTypes.VarChar());
            query.Access().CreateObject(tableInfo);
        }
Example #14
0
        private TableInfo CreateFirstTable()
        {
            var tableInfo = new TableInfo(new ObjectName(new ObjectName("APP"), "persons"));

            tableInfo.AddColumn("person_id", PrimitiveTypes.Integer());
            tableInfo.AddColumn("name", PrimitiveTypes.String());
            tableInfo.AddColumn("age", PrimitiveTypes.Integer());

            return(tableInfo);
        }
Example #15
0
 protected override IQuery CreateQuery(ISession session)
 {
     var query = base.CreateQuery(session);
     var tableInfo = new TableInfo(TestTableName);
     tableInfo.AddColumn("id", PrimitiveTypes.Integer());
     tableInfo.AddColumn("name", PrimitiveTypes.String());
     tableInfo.AddColumn("date", PrimitiveTypes.DateTime());
     query.CreateTable(tableInfo);
     return query;
 }
Example #16
0
        private TableInfo CreateSecondTable()
        {
            var tableInfo = new TableInfo(new ObjectName(new ObjectName("APP"), "codes"));

            tableInfo.AddColumn("person_id", PrimitiveTypes.Integer());
            tableInfo.AddColumn("code", PrimitiveTypes.String());
            tableInfo.AddColumn("registered", PrimitiveTypes.DateTime());

            return(tableInfo);
        }
        private IMutableTable CreateTable()
        {
            var tableName = ObjectName.Parse("APP.test_table");
            var tableInfo = new TableInfo(tableName);
            tableInfo.AddColumn("name", PrimitiveTypes.String(), true);
            tableInfo.AddColumn("age", PrimitiveTypes.Integer());
            tableInfo.AddColumn("order", PrimitiveTypes.Integer());

            Query.CreateTable(tableInfo);
            return Query.GetMutableTable(tableName);
        }
Example #18
0
        protected override IQueryContext CreateQueryContext(IDatabase database)
        {
            var context = base.CreateQueryContext(database);

            var tableInfo = new TableInfo(TestTableName);
            tableInfo.AddColumn("id", PrimitiveTypes.Integer());
            tableInfo.AddColumn("name", PrimitiveTypes.String());
            tableInfo.AddColumn("date", PrimitiveTypes.DateTime());

            return context;
        }
Example #19
0
        protected override bool OnSetUp(string testName, IQuery query)
        {
            if (testName != "RollbackTableCreate") {
                var tableInfo = new TableInfo(ObjectName.Parse("APP.test_table"));
                tableInfo.AddColumn("a", PrimitiveTypes.Integer());
                tableInfo.AddColumn("b", PrimitiveTypes.String());
                query.Access().CreateObject(tableInfo);
            }

            return true;
        }
Example #20
0
        protected override IQuery CreateQuery(ISession session)
        {
            var query     = base.CreateQuery(session);
            var tableInfo = new TableInfo(TestTableName);

            tableInfo.AddColumn("id", PrimitiveTypes.Integer());
            tableInfo.AddColumn("name", PrimitiveTypes.String());
            tableInfo.AddColumn("date", PrimitiveTypes.DateTime());
            query.CreateTable(tableInfo);
            return(query);
        }
Example #21
0
        public void OnTableCompositeCreate(IQuery systemQuery)
        {
            var tableInfo = new TableInfo(ViewManager.ViewTableName);
            tableInfo.AddColumn("schema", PrimitiveTypes.String());
            tableInfo.AddColumn("name", PrimitiveTypes.String());
            tableInfo.AddColumn("query", PrimitiveTypes.String());
            tableInfo.AddColumn("plan", PrimitiveTypes.Binary());

            // TODO: Columns...

            systemQuery.Access().CreateTable(tableInfo);
        }
Example #22
0
        public void Create()
        {
            var tableInfo = new TableInfo(SystemSchema.ViewTableName);
            tableInfo.AddColumn("schema", PrimitiveTypes.String());
            tableInfo.AddColumn("name", PrimitiveTypes.String());
            tableInfo.AddColumn("query", PrimitiveTypes.String());
            tableInfo.AddColumn("plan", PrimitiveTypes.Binary());

            // TODO: Columns...

            Transaction.CreateTable(tableInfo);
        }
Example #23
0
        private IMutableTable CreateTable()
        {
            var tableName = ObjectName.Parse("APP.test_table");
            var tableInfo = new TableInfo(tableName);

            tableInfo.AddColumn("name", PrimitiveTypes.String(), true);
            tableInfo.AddColumn("age", PrimitiveTypes.Integer());
            tableInfo.AddColumn("order", PrimitiveTypes.Integer());

            Query.CreateTable(tableInfo);
            return(Query.GetMutableTable(tableName));
        }
Example #24
0
 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);
 }
Example #25
0
            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());
            }
        protected override bool OnSetUp(string testName, IQuery query)
        {
            if (testName != "RollbackTableCreate")
            {
                var tableInfo = new TableInfo(ObjectName.Parse("APP.test_table"));
                tableInfo.AddColumn("a", PrimitiveTypes.Integer());
                tableInfo.AddColumn("b", PrimitiveTypes.String());
                query.Access().CreateObject(tableInfo);
            }

            return(true);
        }
Example #27
0
        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();
        }
        private void CreateTestView(IQuery query)
        {
            var tn1 = ObjectName.Parse("APP.test_table1");
            var tableInfo1 = new TableInfo(tn1);
            tableInfo1.AddColumn(new ColumnInfo("id", PrimitiveTypes.Integer()));
            tableInfo1.AddColumn(new ColumnInfo("name", PrimitiveTypes.String()));
            tableInfo1.AddColumn(new ColumnInfo("date", PrimitiveTypes.DateTime()));
            query.CreateTable(tableInfo1);
            query.AddPrimaryKey(tn1, "id");

            var exp = SqlExpression.Parse("SELECT * FROM APP.test_table1");
            query.ExecuteCreateView("APP.test_view1", (SqlQueryExpression) exp);
        }
Example #29
0
        public void OnTableCompositeCreate(IQuery systemQuery)
        {
            var tableInfo = new TableInfo(ViewManager.ViewTableName);

            tableInfo.AddColumn("schema", PrimitiveTypes.String());
            tableInfo.AddColumn("name", PrimitiveTypes.String());
            tableInfo.AddColumn("query", PrimitiveTypes.String());
            tableInfo.AddColumn("plan", PrimitiveTypes.Binary());

            // TODO: Columns...

            systemQuery.Access().CreateTable(tableInfo);
        }
Example #30
0
        protected override bool OnSetUp(string testName, IQuery query)
        {
            var tableName = ObjectName.Parse("SYSTEM.test_table");
            var tableInfo = new TableInfo(tableName);

            tableInfo.AddColumn("a", PrimitiveTypes.Integer());
            tableInfo.AddColumn("b", PrimitiveTypes.String());

            query.Access().CreateObject(tableInfo);
            query.Access().GrantOnTable(tableName, User.PublicName, PrivilegeSets.TableAll);

            return(true);
        }
Example #31
0
        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);
        }
Example #32
0
        public void CreateSimple_RegularUser()
        {
            var tableName = ObjectName.Parse("APP.test_table");
            var tableInfo = new TableInfo(tableName);
            tableInfo.AddColumn("a", PrimitiveTypes.Integer(), true);
            tableInfo.AddColumn("b", PrimitiveTypes.String());

            var context = CreateUserQueryContext(TestUserName, TestPassword);

            Assert.DoesNotThrow(() => context.CreateTable(tableInfo));

            context.Dispose();
        }
Example #33
0
        public void Create()
        {
            var tableInfo = new TableInfo(SystemSchema.ViewTableName);

            tableInfo.AddColumn("schema", PrimitiveTypes.String());
            tableInfo.AddColumn("name", PrimitiveTypes.String());
            tableInfo.AddColumn("query", PrimitiveTypes.String());
            tableInfo.AddColumn("plan", PrimitiveTypes.Binary());

            // TODO: Columns...

            Transaction.CreateTable(tableInfo);
        }
Example #34
0
        public void CreateSimple_RegularUser()
        {
            var tableName = ObjectName.Parse("APP.test_table");
            var tableInfo = new TableInfo(tableName);
            tableInfo.AddColumn("a", PrimitiveTypes.Integer(), true);
            tableInfo.AddColumn("b", PrimitiveTypes.String());

            using (var session = CreateUserSession(TestUserName, TestPassword)) {
                using (var query = session.CreateQuery()) {
                    Assert.DoesNotThrow(() => query.CreateTable(tableInfo));
                }
            }
        }
Example #35
0
        public void CreateSimple_RegularUser()
        {
            var tableName = ObjectName.Parse("APP.test_table");
            var tableInfo = new TableInfo(tableName);

            tableInfo.AddColumn("a", PrimitiveTypes.Integer(), true);
            tableInfo.AddColumn("b", PrimitiveTypes.String());

            using (var session = CreateUserSession(TestUserName, TestPassword)) {
                using (var query = session.CreateQuery()) {
                    Assert.DoesNotThrow(() => query.CreateTable(tableInfo));
                }
            }
        }
        private void CreateTestTable(IQuery query)
        {
            var tableInfo = new TableInfo(ObjectName.Parse("APP.test_table"));
            var idColumn = tableInfo.AddColumn("id", PrimitiveTypes.Integer());
            idColumn.DefaultExpression = SqlExpression.FunctionCall("UNIQUEKEY",
                new SqlExpression[] { SqlExpression.Constant(tableInfo.TableName.FullName) });
            tableInfo.AddColumn("first_name", PrimitiveTypes.String());
            tableInfo.AddColumn("last_name", PrimitiveTypes.String());
            tableInfo.AddColumn("birth_date", PrimitiveTypes.DateTime(), false);
            tableInfo.AddColumn("active", PrimitiveTypes.Boolean());

            query.CreateTable(tableInfo);
            query.AddPrimaryKey(tableInfo.TableName, "id", "PK_TEST_TABLE");
        }
Example #37
0
            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());
            }
        private void Create(IQuery systemQuery)
        {
            // SYSTEM.ROUTINE
            var tableInfo = new TableInfo(RoutineManager.RoutineTableName);

            tableInfo.AddColumn("id", PrimitiveTypes.Numeric());
            tableInfo.AddColumn("schema", PrimitiveTypes.String());
            tableInfo.AddColumn("name", PrimitiveTypes.String());
            tableInfo.AddColumn("type", PrimitiveTypes.String());
            tableInfo.AddColumn("location", PrimitiveTypes.String());
            tableInfo.AddColumn("body", PrimitiveTypes.Binary());
            tableInfo.AddColumn("return_type", PrimitiveTypes.String());
            tableInfo.AddColumn("username", PrimitiveTypes.String());
            systemQuery.Access().CreateTable(tableInfo);

            // SYSTEM.ROUTINE_PARAM
            tableInfo = new TableInfo(RoutineManager.RoutineParameterTableName);
            tableInfo.AddColumn("routine_id", PrimitiveTypes.Numeric());
            tableInfo.AddColumn("arg_name", PrimitiveTypes.String());
            tableInfo.AddColumn("arg_type", PrimitiveTypes.String());
            tableInfo.AddColumn("arg_attrs", PrimitiveTypes.Numeric());
            tableInfo.AddColumn("in_out", PrimitiveTypes.Integer());
            tableInfo.AddColumn("offset", PrimitiveTypes.Integer());
            systemQuery.Access().CreateTable(tableInfo);
        }
Example #39
0
 public void OnTableCompositeCreate(IQuery systemQuery)
 {
     var tableInfo = new TableInfo(TriggerManager.TriggerTableName);
     tableInfo.AddColumn("schema", PrimitiveTypes.String());
     tableInfo.AddColumn("name", PrimitiveTypes.String());
     tableInfo.AddColumn("type", PrimitiveTypes.Integer());
     tableInfo.AddColumn("on_object", PrimitiveTypes.String());
     tableInfo.AddColumn("time", PrimitiveTypes.Integer());
     tableInfo.AddColumn("action", PrimitiveTypes.Integer());
     tableInfo.AddColumn("procedure_name", PrimitiveTypes.String());
     tableInfo.AddColumn("args", PrimitiveTypes.Binary());
     tableInfo.AddColumn("body", PrimitiveTypes.Binary());
     tableInfo.AddColumn("status", PrimitiveTypes.TinyInt());
     systemQuery.Access().CreateTable(tableInfo);
 }
        protected override ISession CreateAdminSession(IDatabase database)
        {
            using (var session = base.CreateAdminSession(database)) {
                using (var query = session.CreateQuery()) {
                    var tableInfo = new TableInfo(ObjectName.Parse("APP.test_table"));
                    tableInfo.AddColumn("a", PrimitiveTypes.Integer());
                    tableInfo.AddColumn("b", PrimitiveTypes.String(), false);

                    query.CreateTable(tableInfo, false, false);
                    query.Commit();
                }
            }

            return(base.CreateAdminSession(database));
        }
        private void CreateTestView(IQuery query)
        {
            var tn1        = ObjectName.Parse("APP.test_table1");
            var tableInfo1 = new TableInfo(tn1);

            tableInfo1.AddColumn(new ColumnInfo("id", PrimitiveTypes.Integer()));
            tableInfo1.AddColumn(new ColumnInfo("name", PrimitiveTypes.String()));
            tableInfo1.AddColumn(new ColumnInfo("date", PrimitiveTypes.DateTime()));
            query.CreateTable(tableInfo1);
            query.AddPrimaryKey(tn1, "id");

            var exp = SqlExpression.Parse("SELECT * FROM APP.test_table1");

            query.ExecuteCreateView("APP.test_view1", (SqlQueryExpression)exp);
        }
        protected override ISession CreateAdminSession(IDatabase database)
        {
            using (var session = base.CreateAdminSession(database)) {
                using (var query = session.CreateQuery()) {
                    var tableInfo = new TableInfo(ObjectName.Parse("APP.test_table"));
                    tableInfo.AddColumn("a", PrimitiveTypes.Integer());
                    tableInfo.AddColumn("b", PrimitiveTypes.String(), false);

                    query.CreateTable(tableInfo, false, false);
                    query.Commit();
                }
            }

            return base.CreateAdminSession(database);
        }
Example #43
0
        private void CreateTestTable(IQuery context)
        {
            var tableInfo = new TableInfo(ObjectName.Parse("APP.people"));
            var idColumn  = tableInfo.AddColumn("id", PrimitiveTypes.Integer());

            idColumn.DefaultExpression = SqlExpression.FunctionCall("UNIQUEKEY",
                                                                    new SqlExpression[] { SqlExpression.Constant(tableInfo.TableName.FullName) });
            tableInfo.AddColumn("first_name", PrimitiveTypes.String());
            tableInfo.AddColumn("last_name", PrimitiveTypes.String());
            tableInfo.AddColumn("birth_date", PrimitiveTypes.DateTime());
            tableInfo.AddColumn("active", PrimitiveTypes.Boolean());

            context.CreateTable(tableInfo);
            context.AddPrimaryKey(tableInfo.TableName, "id", "PK_PEOPLE_TABLE");
        }
        private void CreateTestTable()
        {
            var tableInfo = new TableInfo(ObjectName.Parse("APP.test_table"));
            var idColumn  = tableInfo.AddColumn("id", PrimitiveTypes.Integer());

            idColumn.DefaultExpression = SqlExpression.FunctionCall("UNIQUEKEY",
                                                                    new SqlExpression[] { SqlExpression.Reference(tableInfo.TableName) });
            tableInfo.AddColumn("first_name", PrimitiveTypes.String());
            tableInfo.AddColumn("last_name", PrimitiveTypes.String());
            tableInfo.AddColumn("birth_date", PrimitiveTypes.DateTime());
            tableInfo.AddColumn("active", PrimitiveTypes.Boolean());

            Query.CreateTable(tableInfo);
            Query.AddPrimaryKey(tableInfo.TableName, "id", "PK_TEST_TABLE");
        }
Example #45
0
        private TableInfo CreateTableInfo(IRequest context)
        {
            var tableName = context.Query.ResolveTableName(TableName);

            var idColumnCount = Columns.Count(x => x.IsIdentity);

            if (idColumnCount > 1)
            {
                throw new InvalidOperationException("More than one IDENTITY column specified.");
            }

            bool ignoreCase    = context.Query.IgnoreIdentifiersCase();
            var  columnChecker = new TableColumnChecker(Columns, ignoreCase);


            var tableInfo = new TableInfo(tableName);

            foreach (var column in Columns)
            {
                var columnInfo = CreateColumnInfo(tableName.Name, column, columnChecker);
                tableInfo.AddColumn(columnInfo);
            }

            return(tableInfo);
        }
Example #46
0
 //初始化"c:Columns"的节点
 private void InitColumns(XmlNode xnColumns, TableInfo pTable)
 {
     foreach (XmlNode xnColumn in xnColumns)
     {
         pTable.AddColumn(GetColumn(xnColumn, pTable));
     }
 }
Example #47
0
 /// <summary>
 /// 初始化数据表列
 /// </summary>
 /// <param name="columns">列节点集合</param>
 /// <param name="table">数据表</param>
 private void InitColumns(XmlNode columns, TableInfo table)
 {
     foreach (XmlNode column in columns)
     {
         table.AddColumn(GetColumn(column, table));
     }
 }
Example #48
0
        public void OnTableCompositeCreate(IQuery systemQuery)
        {
            var tableInfo = new TableInfo(TriggerManager.TriggerTableName);

            tableInfo.AddColumn("schema", PrimitiveTypes.String());
            tableInfo.AddColumn("name", PrimitiveTypes.String());
            tableInfo.AddColumn("type", PrimitiveTypes.Integer());
            tableInfo.AddColumn("on_object", PrimitiveTypes.String());
            tableInfo.AddColumn("time", PrimitiveTypes.Integer());
            tableInfo.AddColumn("action", PrimitiveTypes.Integer());
            tableInfo.AddColumn("procedure_name", PrimitiveTypes.String());
            tableInfo.AddColumn("args", PrimitiveTypes.Binary());
            tableInfo.AddColumn("body", PrimitiveTypes.Binary());
            tableInfo.AddColumn("status", PrimitiveTypes.TinyInt());
            systemQuery.Access().CreateTable(tableInfo);
        }
        private TableInfo CreateTableInfo(IRequest context)
        {
            var tableName = context.Access().ResolveTableName(TableName);

            var idColumnCount = Columns.Count(x => x.IsIdentity);

            if (idColumnCount > 1)
            {
                throw new InvalidOperationException("More than one IDENTITY column specified.");
            }

            bool ignoreCase    = context.Query.IgnoreIdentifiersCase();
            var  columnChecker = new TableColumnChecker(Columns, ignoreCase);


            var tableInfo = new TableInfo(tableName);

            foreach (var column in Columns)
            {
                var columnInfo = CreateColumnInfo(context, tableName.Name, column, columnChecker);

                if (column.IsIdentity)
                {
                    columnInfo.DefaultExpression = SqlExpression.FunctionCall("UNIQUEKEY", new SqlExpression[] {
                        SqlExpression.Constant(tableName.ToString())
                    });
                }

                tableInfo.AddColumn(columnInfo);
            }

            return(tableInfo);
        }
Example #50
0
        protected override ISession CreateAdminSession(IDatabase database)
        {
            using (var session = base.CreateAdminSession(database)) {
                using (var query = session.CreateQuery()) {
                    var tableInfo = new TableInfo(ObjectName.Parse("APP.people"));
                    tableInfo.AddColumn("id", PrimitiveTypes.BigInt());
                    tableInfo.AddColumn("first_name", PrimitiveTypes.String(), true);
                    tableInfo.AddColumn("last_name", PrimitiveTypes.String());
                    tableInfo.AddColumn("age", PrimitiveTypes.TinyInt());

                    query.CreateTable(tableInfo);
                    query.Commit();
                }
            }

            return base.CreateAdminSession(database);
        }
        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");
        }
Example #52
0
        public void TestSetUp()
        {
            var tableInfo = new TableInfo(new ObjectName("test_table"));
            tableInfo.AddColumn("id", PrimitiveTypes.Numeric());
            tableInfo.AddColumn("name", PrimitiveTypes.String());
            tableInfo.AddColumn("date", PrimitiveTypes.DateTime());

            var cornerTime = DateTimeOffset.UtcNow;

            var tmpTable = new TemporaryTable(tableInfo);

            AddRow(tmpTable, 1, "test1", cornerTime);
            AddRow(tmpTable, 2, "test2", cornerTime.AddSeconds(2));
            AddRow(tmpTable, 3, "test3", cornerTime.AddSeconds(5));

            tmpTable.BuildIndexes();

            table = tmpTable;
        }
Example #53
0
        private void CreateTestTables(IQueryContext context)
        {
            var tn1 = ObjectName.Parse("APP.test_table1");
            var tableInfo1 = new TableInfo(tn1);
            tableInfo1.AddColumn(new ColumnInfo("id", PrimitiveTypes.Integer()));
            tableInfo1.AddColumn(new ColumnInfo("name", PrimitiveTypes.String()));
            tableInfo1.AddColumn(new ColumnInfo("date", PrimitiveTypes.DateTime()));
            context.CreateTable(tableInfo1);
            context.AddPrimaryKey(tn1, "id");

            var tn2 = ObjectName.Parse("APP.test_table2");
            var tableInfo2 = new TableInfo(tn2);
            tableInfo2.AddColumn(new ColumnInfo("id", PrimitiveTypes.Integer()));
            tableInfo2.AddColumn(new ColumnInfo("other_id", PrimitiveTypes.Integer()));
            tableInfo2.AddColumn(new ColumnInfo("count", PrimitiveTypes.Integer()));
            context.CreateTable(tableInfo2);
            context.AddPrimaryKey(tn2, "id");
            context.AddForeignKey(tn2, new []{"other_id"}, tn1, new []{"id"}, ForeignKeyAction.Cascade, ForeignKeyAction.Cascade, null);
        }
Example #54
0
        public void OnTableCompositeCreate(IQuery systemQuery)
        {
            var tableInfo = new TableInfo(TypeManager.TypeTableName);
            tableInfo.AddColumn("id", PrimitiveTypes.Integer());
            tableInfo.AddColumn("schema", PrimitiveTypes.String(), true);
            tableInfo.AddColumn("name", PrimitiveTypes.String(), true);
            tableInfo.AddColumn("parent", PrimitiveTypes.String());
            tableInfo.AddColumn("sealed", PrimitiveTypes.Boolean());
            tableInfo.AddColumn("abstract", PrimitiveTypes.Boolean());
            tableInfo.AddColumn("owner", PrimitiveTypes.String());
            systemQuery.Access().CreateTable(tableInfo);

            tableInfo = new TableInfo(TypeManager.TypeMemberTableName);
            tableInfo.AddColumn("type_id", PrimitiveTypes.Integer());
            tableInfo.AddColumn("name", PrimitiveTypes.String(), true);
            tableInfo.AddColumn("type", PrimitiveTypes.String());
            systemQuery.Access().CreateTable(tableInfo);

            systemQuery.Access().AddPrimaryKey(TypeManager.TypeTableName, new[] { "id" }, "PK_TYPE");
            systemQuery.Access().AddForeignKey(TypeManager.TypeMemberTableName, new[] { "type_id" }, TypeManager.TypeTableName, new[] { "id" }, ForeignKeyAction.Cascade, ForeignKeyAction.Cascade, "FK_MEMBER_TYPE");
        }
Example #55
0
        public void Create()
        {
            // SYSTEM.ROUTINE
            var tableInfo = new TableInfo(SystemSchema.RoutineTableName);
            tableInfo.AddColumn("schema", PrimitiveTypes.String());
            tableInfo.AddColumn("name", PrimitiveTypes.String());
            tableInfo.AddColumn("type", PrimitiveTypes.String());
            tableInfo.AddColumn("location", PrimitiveTypes.String());
            tableInfo.AddColumn("return_type", PrimitiveTypes.String());
            tableInfo.AddColumn("username", PrimitiveTypes.String());
            transaction.CreateTable(tableInfo);

            // SYSTEM.ROUTINE_PARAM
            tableInfo = new TableInfo(SystemSchema.RoutineParameterTableName);
            tableInfo.AddColumn("schema", PrimitiveTypes.String());
            tableInfo.AddColumn("name", PrimitiveTypes.String());
            tableInfo.AddColumn("arg_name", PrimitiveTypes.String());
            tableInfo.AddColumn("arg_type", PrimitiveTypes.String());
            tableInfo.AddColumn("in_out", PrimitiveTypes.String());
            tableInfo.AddColumn("offset", PrimitiveTypes.Integer());
            transaction.CreateTable(tableInfo);

            var fkCol = new[] {"routine_schema", "routine_name"};
            var refCol = new[] {"schema", "name"};
            const ForeignKeyAction onUpdate = ForeignKeyAction.NoAction;
            const ForeignKeyAction onDelete = ForeignKeyAction.Cascade;

            transaction.AddForeignKey(SystemSchema.RoutineParameterTableName, fkCol, SystemSchema.RoutineTableName, refCol,
                onDelete, onUpdate, "ROUTINE_PARAMS_FK");
        }
Example #56
0
 public void Create()
 {
     var tableInfo = new TableInfo(SystemSchema.TriggerTableName);
     tableInfo.AddColumn("schema", PrimitiveTypes.String());
     tableInfo.AddColumn("name", PrimitiveTypes.String());
     tableInfo.AddColumn("type", PrimitiveTypes.Integer());
     tableInfo.AddColumn("on_object", PrimitiveTypes.String());
     tableInfo.AddColumn("action", PrimitiveTypes.Integer());
     tableInfo.AddColumn("args", PrimitiveTypes.Binary());
     tableInfo.AddColumn("procedure_name", PrimitiveTypes.String());
     transaction.CreateTable(tableInfo);
 }
Example #57
0
        public TableInfo Build()
        {
            if (String.IsNullOrEmpty(name))
                throw new InvalidOperationException("A name for the table is required");

            var tableInfo = new TableInfo(new ObjectName(new ObjectName(schema), name));

            foreach (var column in columns) {
                var columnInfo = column.Build();

                tableInfo.AddColumn(columnInfo);
            }

            return tableInfo;
        }
Example #58
0
        protected override void OnAfterSetup(string testName)
        {
            var tableName = ObjectName.Parse("APP.persons");
            var tableInfo = new TableInfo(tableName);
            tableInfo.AddColumn("first_name", PrimitiveTypes.String());
            tableInfo.AddColumn("last_name", PrimitiveTypes.String());
            tableInfo.AddColumn("age", PrimitiveTypes.Integer());

            AdminQuery.Access().CreateObject(tableInfo);

            var table = AdminQuery.Access().GetMutableTable(tableName);

            var row = table.NewRow();
            row.SetValue(0, "Antonello");
            row.SetValue(1, "Provenzano");
            row.SetValue(2, 33);
            table.AddRow(row);

            row = table.NewRow();
            row.SetValue(0, "Mark");
            row.SetValue(1, "Smith");
            row.SetValue(2, 42);
            table.AddRow(row);

            row = table.NewRow();
            row.SetValue(0, "Maggie");
            row.SetValue(1, "Smith");
            row.SetValue(2, 65);
            table.AddRow(row);

            row = table.NewRow();
            row.SetValue(0, "Antonello");
            row.SetValue(1, "Capone");
            row.SetValue(2, 33);
            table.AddRow(row);
        }
Example #59
0
        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);
        }
Example #60
0
 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);
 }