public View GetView(ObjectName viewName) { var viewTable = Transaction.GetTable(ViewTableName); var e = viewTable.GetEnumerator(); while (e.MoveNext()) { int row = e.Current.RowId.RowNumber; var cSchema = viewTable.GetValue(row, 0).Value.ToString(); var cName = viewTable.GetValue(row, 1).Value.ToString(); if (viewName.ParentName.Equals(cSchema) && viewName.Name.Equals(cName)) { ViewInfo viewInfo; if (!viewCache.TryGetValue(row, out viewInfo)) { var blob = (SqlBinary)viewTable.GetValue(row, 3).Value; viewInfo = ViewInfo.FromBinary(blob); viewCache[row] = viewInfo; } return(new View(viewInfo)); } } return(null); }
internal View GetViewAt(int offset) { var table = Transaction.GetTable(ViewTableName); if (table == null) { throw new DatabaseSystemException(String.Format("System table '{0}' was not defined.", ViewTableName)); } var e = table.GetEnumerator(); int i = 0; while (e.MoveNext()) { var row = e.Current.RowId.RowNumber; if (i == offset) { ViewInfo viewInfo; if (!viewCache.TryGetValue(row, out viewInfo)) { var binary = (ISqlBinary)table.GetValue(row, 3).Value; viewInfo = ViewInfo.FromBinary(binary); viewCache[row] = viewInfo; } return(new View(viewInfo)); } ++i; } throw new ArgumentOutOfRangeException("offset"); }