public SubordinateQueryPlanDescForge( SubordTableLookupStrategyFactoryForge lookupStrategyFactory, SubordinateQueryIndexDescForge[] indexDescs) { LookupStrategyFactory = lookupStrategyFactory; IndexDescs = indexDescs; }
public static void QueryPlanLogOnExpr( bool queryPlanLogging, ILog queryPlanLog, SubordinateWMatchExprQueryPlanForge strategy, Attribute[] annotations, ImportService importService) { QueryPlanIndexHook hook = QueryPlanIndexHookUtil.GetHook(annotations, importService); if (queryPlanLogging && (queryPlanLog.IsInfoEnabled || hook != null)) { var prefix = "On-Expr "; queryPlanLog.Info(prefix + "strategy " + strategy.Strategy.ToQueryPlan()); if (strategy.Indexes == null) { queryPlanLog.Info(prefix + "full table scan"); } else { for (var i = 0; i < strategy.Indexes.Length; i++) { string indexName = strategy.Indexes[i].IndexName; var indexText = indexName != null ? "index " + indexName + " " : "(implicit) (" + i + ")"; queryPlanLog.Info(prefix + indexText); } } if (hook != null) { var pairs = GetPairs(strategy.Indexes); SubordTableLookupStrategyFactoryForge inner = strategy.Strategy.OptionalInnerStrategy; hook.InfraOnExpr( new QueryPlanIndexDescOnExpr( pairs, strategy.Strategy.GetType().GetSimpleName(), inner == null ? null : inner.GetType().GetSimpleName())); } } }
public SubordWMatchExprLookupStrategyIndexedFilteredForge( ExprForge exprForge, SubordTableLookupStrategyFactoryForge lookupStrategyFactory) { this.exprForge = exprForge; OptionalInnerStrategy = lookupStrategyFactory; }
public SubqueryIndexForgeDesc( EventTableFactoryFactoryForge tableForge, SubordTableLookupStrategyFactoryForge lookupForge, IList<StmtClassForgeableFactory> additionalForgeables) { TableForge = tableForge; LookupForge = lookupForge; AdditionalForgeables = additionalForgeables; }
public SubordWMatchExprLookupStrategyIndexedUnfilteredForge( SubordTableLookupStrategyFactoryForge lookupStrategyFactory) { OptionalInnerStrategy = lookupStrategyFactory; }