// --- private IEnumerable<LogicalExpressions.Expression> EnumerateCnfTermsTestHelper(string query) { var select = CreateSelect(query); var scn = new SearchConditionNormalizer(); scn.Execute(select); var conditions = typeof(SearchConditionNormalizer).GetField("conditions", BindingFlags.Instance | BindingFlags.NonPublic); var enumterms = typeof(SearchConditionNormalizer).GetMethod("EnumerateCnfTerms", BindingFlags.Static | BindingFlags.NonPublic); return (IEnumerable<LogicalExpressions.Expression>)enumterms.Invoke(null, new object[] { ((List<LogicalExpressions.Expression>)conditions.GetValue(scn)).First() }); }
/// <summary> /// Interprets the parsed query /// </summary> protected bool Interpret(bool forceReinitialize) { if (interpretedQueryString == null || forceReinitialize) { // --- Execute name resolution var nr = CreateNameResolver(forceReinitialize); nr.Execute(selectStatement); // --- Normalize where conditions var wcn = new SearchConditionNormalizer(); wcn.Execute(selectStatement); FinishInterpret(forceReinitialize); return true; } else { return false; } }