/** * Descends into QueryExpression and QueryFunction objects to find * all instances of QueryField. Will return a single element * set for QueryField and an empty set for QueryValue. * * @param qe a QueryEvalubale to find QueryFields for * @return a set of QueryFields */ protected static Set<QueryField> getQueryFields(QueryEvaluable qe) { Set<QueryField> fields = new HashSet<QueryField>(); if (qe instanceof QueryField) { fields.add((QueryField) qe); } else if (qe instanceof QueryFunction) { fields.addAll(getQueryFields(((QueryFunction) qe).getParam())); } else if (qe instanceof QueryExpression) { fields.addAll(getQueryFields(((QueryExpression) qe).getArg1())); fields.addAll(getQueryFields(((QueryExpression) qe).getArg2())); fields.addAll(getQueryFields(((QueryExpression) qe).getArg3())); } return fields; }
/** * Descends into QueryExpression and QueryFunction objects to find * all instances of QueryField. Will return a single element * set for QueryField and an empty set for QueryValue. * * @param qe a QueryEvalubale to find QueryFields for * @return a set of QueryFields */ protected static Set<QueryField> getQueryFields(QueryEvaluable qe) { Set<QueryField> fields = new HashSet<QueryField>(); if (qe instanceof QueryField) { fields.add((QueryField) qe); } else if (qe instanceof QueryFunction) { fields.addAll(getQueryFields(((QueryFunction) qe).getParam())); } else if (qe instanceof QueryExpression) { fields.addAll(getQueryFields(((QueryExpression) qe).getArg1())); fields.addAll(getQueryFields(((QueryExpression) qe).getArg2())); fields.addAll(getQueryFields(((QueryExpression) qe).getArg3())); } return fields; }
QueryEvaluable arg1 = nodeE.getArg1(); QueryEvaluable arg2 = nodeE.getArg2(); QueryEvaluable arg3 = nodeE.getArg3();
QueryEvaluable arg1 = nodeE.getArg1(); QueryEvaluable arg2 = nodeE.getArg2(); QueryEvaluable arg3 = nodeE.getArg3();
if ((origE.getOperation() == QueryExpression.SUBSTRING) && (origE.getArg3() != null)) { return new QueryExpression((QueryEvaluable) cloneThing(origE.getArg1(), fromElementMap, qopeMap), (QueryEvaluable) cloneThing(origE.getArg2(), fromElementMap, qopeMap), (QueryEvaluable) cloneThing(origE.getArg3(), fromElementMap, qopeMap)); } else if ((origE.getOperation() == QueryExpression.LOWER) || (origE.getOperation() == QueryExpression.UPPER)) {
return "SUBSTR(" + nodeToString(q, qe.getArg1(), parameters, null) + ", " + nodeToString(q, qe.getArg2(), parameters, null) + (qe.getArg3() == null ? "" : ", " + nodeToString(q, qe.getArg3(), parameters, null)) + ")"; } else if (qe.getOperation() == QueryExpression.INDEX_OF) { return "INDEXOF(" + nodeToString(q, qe.getArg1(), parameters, null) + ", "
if ((origE.getOperation() == QueryExpression.SUBSTRING) && (origE.getArg3() != null)) { return new QueryExpression((QueryEvaluable) cloneThing(origE.getArg1(), fromElementMap, qopeMap), (QueryEvaluable) cloneThing(origE.getArg2(), fromElementMap, qopeMap), (QueryEvaluable) cloneThing(origE.getArg3(), fromElementMap, qopeMap)); } else if ((origE.getOperation() == QueryExpression.LOWER) || (origE.getOperation() == QueryExpression.UPPER)) {
return "SUBSTR(" + nodeToString(q, qe.getArg1(), parameters, null) + ", " + nodeToString(q, qe.getArg2(), parameters, null) + (qe.getArg3() == null ? "" : ", " + nodeToString(q, qe.getArg3(), parameters, null)) + ")"; } else if (qe.getOperation() == QueryExpression.INDEX_OF) { return "INDEXOF(" + nodeToString(q, qe.getArg1(), parameters, null) + ", "
QueryEvaluable arg1 = qe.getArg1(); QueryEvaluable arg2 = qe.getArg2(); QueryEvaluable arg3 = qe.getArg3(); boolean[] s = whereHavingSafe(arg1, q); boolean whereSafe = s[0];
QueryEvaluable arg1 = qe.getArg1(); QueryEvaluable arg2 = qe.getArg2(); QueryEvaluable arg3 = qe.getArg3(); boolean[] s = whereHavingSafe(arg1, q); boolean whereSafe = s[0];