Пример #1
0
        public virtual System.Collections.Generic.IList <Extent> Execute <Extent>(Db4objects.Db4o.Query.IQuery query, System.Predicate <Extent> match,
                                                                                  Db4objects.Db4o.Query.IQueryComparator comparator)
        {
#if CF
            return(ExecuteUnoptimized <Extent>(QueryForExtent <Extent>(query, comparator), match));
#else
            // XXX: check GetDelegateList().Length
            // only 1 delegate must be allowed
            // although we could use it as a filter chain
            // (and)
            return(ExecuteImpl <Extent>(query, match, match.Target, match.Method, match, comparator));
#endif
        }
Пример #2
0
        private System.Collections.Generic.IList <Extent> ExecuteImpl <Extent>(
            Db4objects.Db4o.Query.IQuery query,
            object originalPredicate,
            object matchTarget,
            System.Reflection.MethodBase matchMethod,
            System.Predicate <Extent> match,
            Db4objects.Db4o.Query.IQueryComparator comparator)
        {
            Db4objects.Db4o.Query.IQuery q = QueryForExtent <Extent>(query, comparator);
            try
            {
                if (OptimizeNativeQueries())
                {
                    OptimizeQuery(q, matchTarget, matchMethod);
                    OnQueryExecution(originalPredicate, QueryExecutionKind.DynamicallyOptimized);

                    return(WrapQueryResult <Extent>(q));
                }
            }
            catch (FileNotFoundException fnfe)
            {
                NativeQueryOptimizerNotLoaded(fnfe);
            }
            catch (TargetInvocationException tie)
            {
                NativeQueryOptimizerNotLoaded(tie);
            }
            catch (TypeLoadException tle)
            {
                NativeQueryOptimizerNotLoaded(tle);
            }
            catch (System.Exception e)
            {
                OnQueryOptimizationFailure(e);

                NativeQueryUnoptimized(e);
            }

            return(ExecuteUnoptimized(q, match));
        }
Пример #3
0
 public virtual Db4objects.Db4o.IObjectSet Execute(Db4objects.Db4o.Query.IQuery query, Db4objects.Db4o.Query.Predicate predicate, Db4objects.Db4o.Query.IQueryComparator comparator)
 {
     Db4objects.Db4o.Query.IQuery q = ConfigureQuery(query, predicate);
     q.SortBy(comparator);
     return(q.Execute());
 }
Пример #4
0
 private Db4objects.Db4o.Query.IQuery QueryForExtent <Extent>(Db4objects.Db4o.Query.IQuery query, Db4objects.Db4o.Query.IQueryComparator comparator)
 {
     query.Constrain(typeof(Extent));
     query.SortBy(comparator);
     return(query);
 }