internal virtual void EvaluatePending(IInternalCandidate root, QPending pending, int secondResult) { bool res = i_evaluator.Not(i_and ? ((pending._result + secondResult) > 0) : (pending ._result + secondResult) > QPending.False); if (HasJoins()) { IEnumerator i = IterateJoins(); while (i.MoveNext()) { Db4objects.Db4o.Internal.Query.Processor.QConJoin qcj = (Db4objects.Db4o.Internal.Query.Processor.QConJoin )i.Current; root.Evaluate(new QPending(qcj, this, res)); } } else { if (!res) { Constraint1().DoNotInclude(root); Constraint2().DoNotInclude(root); } } }
internal override bool Evaluate(IInternalCandidate candidate) { try { return(candidate.Evaluate(this, i_evaluator)); } catch (Exception e) { return(false); } }
internal virtual void Visit1(IInternalCandidate root, Db4objects.Db4o.Internal.Query.Processor.QCon reason, bool res) { // The a_reason parameter makes it eays to distinguish // between calls from above (a_reason == this) and below. if (HasJoins()) { // this should probably be on the Join IEnumerator i = IterateJoins(); while (i.MoveNext()) { root.Evaluate(new QPending((QConJoin)i.Current, this, res)); } } else { if (!res) { DoNotInclude(root); } } }
internal override bool Evaluate(IInternalCandidate candidate) { try { return candidate.Evaluate(this, i_evaluator); } catch (Exception e) { return false; } }