private void ComparePlan(string[] expectedCSV)
        {
            GroupByRollupPlanDesc plan = SupportGroupRollupPlanHook.Plan;
            var levels   = plan.RollupDesc.Levels;
            var received = new string[levels.Length][];

            for (var i = 0; i < levels.Length; i++)
            {
                var level = levels[i];
                if (level.IsAggregationTop)
                {
                    received[i] = new string[0];
                }
                else
                {
                    received[i] = new string[level.RollupKeys.Length];
                    for (var j = 0; j < received[i].Length; j++)
                    {
                        var key = level.RollupKeys[j];
                        received[i][j] = plan.Expressions[key].ToExpressionStringMinPrecedenceSafe();
                    }
                }
            }

            Assert.AreEqual(expectedCSV.Length, received.Length, "Received: " + ToCSV(received));
            for (var i = 0; i < expectedCSV.Length; i++)
            {
                var receivedCSV = ToCSV(received[i]);
                Assert.AreEqual(expectedCSV[i], receivedCSV, "Failed at row " + i);
            }
        }
Ejemplo n.º 2
0
 public void Query(GroupByRollupPlanDesc desc)
 {
     if (Plan != null)
     {
         throw new IllegalStateException();
     }
     Plan = desc;
 }
Ejemplo n.º 3
0
 public static void Reset()
 {
     plan = null;
 }