internal void CommitToTables(IEnumerable<int> createdTables, IEnumerable<int> droppedTables)
{
// Add created tables to the committed tables list.
foreach (int createdTable in createdTables) {
// For all created tables, add to the visible list and remove from the
// delete list in the state store.
var t = GetTableSource(createdTable);
var resource = new TableStateStore.TableState(t.TableId, t.SourceName);
StateStore.AddVisibleResource(resource);
StateStore.RemoveDeleteResource(resource.SourceName);
}
// Remove dropped tables from the committed tables list.
foreach (int droppedTable in droppedTables) {
// For all dropped tables, add to the delete list and remove from the
// visible list in the state store.
var t = GetTableSource(droppedTable);
var resource = new TableStateStore.TableState(t.TableId, t.SourceName);
StateStore.AddDeleteResource(resource);
StateStore.RemoveVisibleResource(resource.SourceName);
}
try {
StateStore.Flush();
} catch (IOException e) {
throw new InvalidOperationException("IO Error: " + e.Message, e);
}
}