Example #1
0
        // modifies usedViews - removes all redundant views from it
        internal static bool TrySimplifyJoinRewriting(
            ref T_Tile rewriting, T_Tile toAvoid, Dictionary <T_Tile, TileOpKind> usedViews, RewritingProcessor <T_Tile> qp)
        {
            var    simplifier = new RewritingSimplifier <T_Tile>(rewriting, toAvoid, usedViews, qp);
            T_Tile simplifiedRewriting;

            if (simplifier.SimplifyRewriting(out simplifiedRewriting))
            {
                rewriting = simplifiedRewriting;
                return(true);
            }
            return(false);
        }
Example #2
0
        // called for top query only
        internal static bool TrySimplifyUnionRewriting(ref T_Tile rewriting, T_Tile toFill, T_Tile toAvoid, RewritingProcessor <T_Tile> qp)
        {
            var simplifier = new RewritingSimplifier <T_Tile>(rewriting, toFill, toAvoid, qp);
            // gather all unioned subqueries
            T_Tile simplifiedRewriting;

            if (simplifier.SimplifyRewriting(out simplifiedRewriting))
            {
                rewriting = simplifiedRewriting;
                return(true);
            }
            return(false);
        }