public void TestUnionUnionAllDemo2() { GetConnection u = new GetConnection(); GetBatches b = new GetBatches(); GetBatchResult r = new GetBatchResult(); GetQueryPlan qp = new GetQueryPlan(); GetQueryPlanValues qv = new GetQueryPlanValues(); string constring_1 = u.GetConnectionString("AdventureWorks2014"); string[] batches = b.GetFileContent(@"..\\..\\..\\SabinIO.Performance.UnionUnionAll\\Demos\\UnionUnionAllDemo2.sql"); string SqlNamespace = "http://schemas.microsoft.com/sqlserver/2004/07/showplan"; string XPath = "//sql:Batch/sql:Statements/sql:StmtSimple/sql:QueryPlan[1]/sql:RelOp[1]/@LogicalOp"; for (int i = 0; i < batches.Length; i++) { string batch = batches[i]; DataSet ds = r.GetDataSet(batch, constring_1); if (i == 4) { string QueryPlan = qp.GetQueryPlanForQuery(constring_1, batch); string _operator = qv.GetSingleValue(QueryPlan, SqlNamespace, XPath); Assert.AreEqual("Distinct Sort", _operator); } } }
public void TestUDFDemo2() { GetConnection u = new GetConnection(); GetBatches b = new GetBatches(); GetBatchResult r = new GetBatchResult(); GetQueryPlan qp = new GetQueryPlan(); GetQueryPlanValues qv = new GetQueryPlanValues(); string constring_1 = u.GetConnectionString("AdventureWorks2014"); string[] batches = b.GetFileContent(@"..\\..\\..\\SabinIO.Performance.UDF\\Demos\\Udf_Demo2.sql"); string SqlNamespace = "http://schemas.microsoft.com/sqlserver/2004/07/showplan"; string XPath = "//sql:Batch/sql:Statements/sql:StmtSimple/sql:QueryPlan[1]/sql:RelOp/sql:StreamAggregate/sql:RelOp/sql:Top/sql:RelOp/@LogicalOp"; long batchFiveDuration = 0; long batchSixDuration = 0; long batchTwelveDuration = 0; long batchThirteenDuration = 0; for (int i = 0; i < batches.Length; i++) { string batch = batches[i]; DataSet ds = r.GetDataSet(batch, constring_1); if (i == 5) { Stopwatch sw = new Stopwatch(); sw.Start(); DataSet ds_5 = r.GetDataSet(batch, constring_1); sw.Stop(); batchFiveDuration = sw.ElapsedMilliseconds; string QueryPlan = qp.GetQueryPlanForQuery(constring_1, batch); string _operator = qv.GetSingleValue(QueryPlan, SqlNamespace, XPath); Assert.AreEqual("Compute Scalar", _operator); } if (i == 6) { Stopwatch sw = new Stopwatch(); sw.Start(); DataSet ds_6 = r.GetDataSet(batch, constring_1); sw.Stop(); batchSixDuration = sw.ElapsedMilliseconds; Assert.IsTrue(batchFiveDuration < batchSixDuration); } if (i == 12) { Stopwatch sw = new Stopwatch(); sw.Start(); DataSet ds_5 = r.GetDataSet(batch, constring_1); sw.Stop(); batchTwelveDuration = sw.ElapsedMilliseconds; Assert.IsTrue(batchTwelveDuration < batchSixDuration); } if (i == 13) { Stopwatch sw = new Stopwatch(); sw.Start(); DataSet ds_6 = r.GetDataSet(batch, constring_1); sw.Stop(); batchThirteenDuration = sw.ElapsedMilliseconds; Assert.IsTrue(batchTwelveDuration <= batchThirteenDuration); } } }