public void TestFixtureSetUp()
        {
            schema = new Schema();

            TableDefinition barTable = new TableDefinition("Bar");
            barTable.AddColumn(new ColumnDefinition("ID", "Bar", DbType.Int32, false, null, null, null, true, false));
            barTable.AddColumn(new ColumnDefinition("Name", DbType.String, false, 1000, null, null));
            barTable.AddColumn(new ColumnDefinition("ParentID", DbType.Int32, true, null, null, null));

            uqNameIndex = new IndexDefinition("UQ_Name", new IndexColumnDefinition("Name", SortDirection.Ascending));
            uqNameIndex.Unique = true;
            uqNameIndex.Clustered = true;
            barTable.AddIndex(uqNameIndex);

            ReferenceDefinition fkBarReference = new ReferenceDefinition("FK_Bar", "Bar", "Bar");
            fkBarReference.PkColumns.Add("ID");
            fkBarReference.FkColumns.Add("ParentID");

            schema.AddTable(barTable);
        }
예제 #2
0
        private void LoadRelationsFromStorage()
        {
            foreach (CustomTuple tableTuple in Program.ExecuteQuery("SELECT * FROM Tables"))
            {
                TableDefinition tableDefinition = tableTuple.ToModel <TableDefinition>();

                foreach (CustomTuple columnTuple in Program.ExecuteQuery("SELECT * FROM Columns WHERE RelationId = " + tableDefinition.Id))
                {
                    tableDefinition.Add(columnTuple.ToModel <AttributeDefinition>());
                }

                foreach (CustomTuple indexTuple in Program.ExecuteQuery("SELECT * FROM Indexes WHERE RelationId = " + tableDefinition.Id))
                {
                    Index index = indexTuple.ToModel <Index>();
                    tableDefinition.AddIndex(index);
                }

                tableDefinition.SyncRelation();

                Relations.Add(tableDefinition);
                Tables.Add(new Table(this, _memoryManager, tableDefinition, new Pointer(tableDefinition.RootBlockId)));
            }
        }
        public void RemoveIndex()
        {
            TableDefinition table = new TableDefinition("Foo");
            IndexDefinition index = new IndexDefinition("IX_Bar");

            table.AddIndex(index);

            table.RemoveIndex("XX_Bar");
            Assert.AreEqual(1, table.Indexes.Count);

            table.RemoveIndex("ix_Bar");
            Assert.AreEqual(0, table.Indexes.Count);
        }
        public void GetIndex()
        {
            TableDefinition table = new TableDefinition("Foo");
            IndexDefinition index = new IndexDefinition("IX_Bar");

            table.AddIndex(index);

            Assert.AreSame(index, table.GetIndex("ix_bar"));
            Assert.AreSame(index, table.GetIndex("ix_bAR"));
            Assert.IsNull(table.GetIndex("XX_Bar"));
        }
        public void AddIndex()
        {
            TableDefinition table = new TableDefinition("Foo");
            table.AddIndex(new IndexDefinition("IX_Bar"));

            Assert.AreEqual(table.Name, table.Indexes[0].Table);
        }