/// <summary> /// Execute the operation against LSM in the current transaction scope. /// </summary> /// <param name="ts">Transaction scope.</param> /// <returns> /// Results of the operation. /// </returns> public override IStoreResults DoLocalExecute(IStoreTransactionScope ts) { IStoreResults result = ts.ExecuteCommandSingle(SqlUtils.CheckIfExistsLocalScript.Single()); if (result.StoreVersion == null) { // Shard not deployed, which is an error condition. throw new ShardManagementException( ShardManagementErrorCategory.Recovery, ShardManagementErrorCode.ShardNotValid, Errors._Recovery_ShardNotValid, this.Location, this.OperationName); } return(ts.ExecuteOperation( StoreOperationRequestBuilder.SpGetAllShardsLocal, StoreOperationRequestBuilder.GetAllShardsLocal())); }