2 types derived from Tile
System.Data.Entity (2)
System\Data\Mapping\ViewGeneration\QueryRewriting\Tile.cs (2)
179
internal class TileNamed<T_Query> :
Tile
<T_Query> where T_Query : ITileQuery
211
internal class TileBinaryOperator<T_Query> :
Tile
<T_Query> where T_Query : ITileQuery
94 references to Tile
System.Data.Entity (94)
System\Data\Mapping\ViewGeneration\QueryRewriting\QueryRewriter.cs (47)
50
RewritingProcessor<
Tile
<FragmentQuery>> _qp;
55
List<
Tile
<FragmentQuery>> _views = new List<
Tile
<FragmentQuery>>();
71
static
Tile
<FragmentQuery> TrueViewSurrogate = CreateTile(FragmentQuery.Create(BoolExpression.True));
87
_qp = new RewritingProcessor<
Tile
<FragmentQuery>>(new DefaultTileProcessor<FragmentQuery>(context.LeftFragmentQP));
95
Tile
<FragmentQuery> tile = CreateTile(query);
271
Tile
<FragmentQuery> caseRewriting;
279
CellTreeNode cellTree = TileToCellTree((
Tile
<FragmentQuery>)caseRewriting, _context);
341
private bool AddRewritingToCaseStatement(
Tile
<FragmentQuery> rewriting, CaseStatement caseStatement, MemberPath currentPath, Constant domainValue)
372
whenCondition = TileToBoolExpr((
Tile
<FragmentQuery>)rewriting);
405
Tile
<FragmentQuery> rewriting;
509
Tile
<FragmentQuery> unionCaseRewriting = null;
535
Tile
<FragmentQuery> caseRewriting;
602
CellTreeNode rightDomainQuery,
Tile
<FragmentQuery> unionCaseRewriting)
642
Tile
<FragmentQuery> topLevelRewriting;
694
Tile
<FragmentQuery> noNullToAvoid = CreateTile(FragmentQuery.Create(_keyAttributes, BoolExpression.CreateNot(fragmentQuery.Condition)));
695
Tile
<FragmentQuery> noNullRewriting;
709
foreach (
Tile
<FragmentQuery> toFill in _views)
711
Tile
<FragmentQuery> rewriting;
712
Tile
<FragmentQuery> toAvoid = CreateTile(FragmentQuery.Create(_keyAttributes, BoolExpression.CreateNot(toFill.Query.Condition)));
805
HashSet<FragmentQuery> outputUsedViews, out
Tile
<FragmentQuery> rewriting)
815
HashSet<FragmentQuery> outputUsedViews, out
Tile
<FragmentQuery> rewriting,
828
out
Tile
<FragmentQuery> rewriting, out IEnumerable<MemberPath> notCoveredAttributes)
830
Tile
<FragmentQuery> toFill = CreateTile(FragmentQuery.Create(attributes, whereClause));
832
Tile
<FragmentQuery> toAvoid = CreateTile(FragmentQuery.Create(_keyAttributes, BoolExpression.CreateNot(whereClause)));
841
private bool RewriteQuery(
Tile
<FragmentQuery> toFill,
Tile
<FragmentQuery> toAvoid, out
Tile
<FragmentQuery> rewriting, out IEnumerable<MemberPath> notCoveredAttributes,
854
IEnumerable<
Tile
<FragmentQuery>> relevantViews = GetRelevantViews(toFillQuery, isRelaxed);
921
private bool RewriteQueryCached(
Tile
<FragmentQuery> toFill,
Tile
<FragmentQuery> toAvoid,
922
IEnumerable<
Tile
<FragmentQuery>> views, out
Tile
<FragmentQuery> rewriting)
940
private bool CoverAttributes(ref
Tile
<FragmentQuery> rewriting, FragmentQuery toFillQuery,
960
Tile
<FragmentQuery> attributeTile = null;
1010
private IEnumerable<
Tile
<FragmentQuery>> GetRelevantViews(FragmentQuery query, bool isRelaxed)
1028
Tile
<FragmentQuery> unionOfConnectedViews = null;
1029
List<
Tile
<FragmentQuery>> connectedViews = new List<
Tile
<FragmentQuery>>();
1030
Tile
<FragmentQuery> firstTrueView = null;
1031
foreach (
Tile
<FragmentQuery> tile in _views)
1055
Tile
<FragmentQuery> unionTile = null;
1083
private HashSet<FragmentQuery> GetUsedViewsAndRemoveTrueSurrogate(ref
Tile
<FragmentQuery> rewriting)
1094
Tile
<FragmentQuery> unionTile = null;
1183
internal static CellTreeNode TileToCellTree(
Tile
<FragmentQuery> tile, ViewgenContext context)
1206
private static BoolExpression TileToBoolExpr(
Tile
<FragmentQuery> tile)
1267
private void PrintStatistics(RewritingProcessor<
Tile
<FragmentQuery>> qp)
System\Data\Mapping\ViewGeneration\QueryRewriting\RewritingValidator.cs (1)
206
Tile
<FragmentQuery> rewriting;
System\Data\Mapping\ViewGeneration\QueryRewriting\Tile.cs (42)
43
internal class DefaultTileProcessor<T_Query> : TileProcessor<
Tile
<T_Query>> where T_Query : ITileQuery
57
internal override bool IsEmpty(
Tile
<T_Query> tile)
62
internal override
Tile
<T_Query> Union(
Tile
<T_Query> arg1,
Tile
<T_Query> arg2)
67
internal override
Tile
<T_Query> Join(
Tile
<T_Query> arg1,
Tile
<T_Query> arg2)
72
internal override
Tile
<T_Query> AntiSemiJoin(
Tile
<T_Query> arg1,
Tile
<T_Query> arg2)
77
internal override
Tile
<T_Query> GetArg1(
Tile
<T_Query> tile)
82
internal override
Tile
<T_Query> GetArg2(
Tile
<T_Query> tile)
87
internal override TileOpKind GetOpKind(
Tile
<T_Query> tile)
92
internal bool IsContainedIn(
Tile
<T_Query> arg1,
Tile
<T_Query> arg2)
97
internal bool IsEquivalentTo(
Tile
<T_Query> arg1,
Tile
<T_Query> arg2)
126
private static IEnumerable<T_Query> GetNamedQueries(
Tile
<T_Query> rewriting)
161
public abstract
Tile
<T_Query> Arg1
166
public abstract
Tile
<T_Query> Arg2
176
internal abstract
Tile
<T_Query> Replace(
Tile
<T_Query> oldTile,
Tile
<T_Query> newTile);
192
public override
Tile
<T_Query> Arg1 { get { return null; } }
193
public override
Tile
<T_Query> Arg2 { get { return null; } }
205
internal override
Tile
<T_Query> Replace(
Tile
<T_Query> oldTile,
Tile
<T_Query> newTile)
213
private readonly
Tile
<T_Query> m_arg1;
214
private readonly
Tile
<T_Query> m_arg2;
216
public TileBinaryOperator(
Tile
<T_Query> arg1,
Tile
<T_Query> arg2, TileOpKind opKind, T_Query query)
224
public override
Tile
<T_Query> Arg1 { get { return m_arg1; } }
225
public override
Tile
<T_Query> Arg2 { get { return m_arg2; } }
243
internal override
Tile
<T_Query> Replace(
Tile
<T_Query> oldTile,
Tile
<T_Query> newTile)
245
Tile
<T_Query> newArg1 = Arg1.Replace(oldTile, newTile);
246
Tile
<T_Query> newArg2 = Arg2.Replace(oldTile, newTile);
System\Data\Mapping\ViewGeneration\ViewgenContext.cs (4)
51
private Dictionary<FragmentQuery,
Tile
<FragmentQuery>> m_rewritingCache;
88
m_rewritingCache = new Dictionary<FragmentQuery,
Tile
<FragmentQuery>>(
225
internal bool TryGetCachedRewriting(FragmentQuery query, out
Tile
<FragmentQuery> rewriting)
231
internal void SetCachedRewriting(FragmentQuery query,
Tile
<FragmentQuery> rewriting)