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); }
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); }