private void UpdateFixAction(IndexOp op) { List <Index> indexes = (List <Index>)view.DataSource; for (int i = 0; i < view.DataRowCount; i++) { if (view.IsDataRow(i)) { var rowHandle = view.GetDataSourceRowIndex(i); Index index = indexes[rowHandle]; if (index == null) { continue; } if (op == IndexOp.REBUILD_NONE && index.DataCompression == DataCompression.NONE) { index.FixType = IndexOp.REBUILD; } else { List <IndexOp> ops = GetIndexOperations(index); if (ops.Contains(op)) { index.FixType = op; } } } } view.RefreshData(); }
private void ChangeFixAction(object sender, EventArgs e) { DXMenuItem mi = (DXMenuItem)sender; IndexOp op = Utils.GetValueFromDescription <IndexOp>(mi.Caption); UpdateFixAction(op); }
private void AddToCommitOps(long operationId, IndexOp <long> op) { IList <IndexOp <long> > ops; if (!opsToCommit.TryGetValue(operationId, out ops)) { ops = new List <IndexOp <long> >(); opsToCommit.Add(operationId, ops); } ops.Add(op); }
private static IndexOp CorrectIndexOp(IndexOp op, Index ix) { if (op == IndexOp.NO_ACTION || op == IndexOp.IGNORE) { return(IndexOp.SKIP); } if (ix.IndexType == IndexType.MISSING_INDEX) { return(IndexOp.CREATE_INDEX); } if (op == IndexOp.REORGANIZE && (ix.IsAllowReorganize || ix.IsColumnstore)) { return(IndexOp.REORGANIZE); } if (op == IndexOp.REBUILD && !ix.IsColumnstore && ix.IsAllowCompression) { if (Settings.Options.DataCompression == DataCompression.NONE && ix.DataCompression != DataCompression.NONE) { return(IndexOp.REBUILD_NONE); } if (Settings.Options.DataCompression == DataCompression.ROW && ix.DataCompression != DataCompression.ROW) { return(IndexOp.REBUILD_ROW); } if (Settings.Options.DataCompression == DataCompression.PAGE && ix.DataCompression != DataCompression.PAGE) { return(IndexOp.REBUILD_PAGE); } } if (op == IndexOp.UPDATE_STATISTICS_FULL || op == IndexOp.UPDATE_STATISTICS_RESAMPLE || op == IndexOp.UPDATE_STATISTICS_SAMPLE) { if (!ix.IsPartitioned && (ix.IndexType == IndexType.CLUSTERED || ix.IndexType == IndexType.NONCLUSTERED)) { return(op); } } return(Settings.Options.Online && ix.IsAllowOnlineRebuild && (op == IndexOp.REBUILD || op == IndexOp.REORGANIZE) ? IndexOp.REBUILD_ONLINE : IndexOp.REBUILD); }
public void WriteTo(IndexOp <T> value, System.IO.Stream stream) { }