/** * INTERNAL: * Modify this individual expression node to use outer joins wherever there are * equality operations between two field nodes. */ protected void convertNodeToUseOuterJoin() { if ((this.operator.getSelector() == ExpressionOperator.Equal) && allChildrenAreFields()) { setOperator(getOperator(ExpressionOperator.EqualOuterJoin)); } }
/** * INTERNAL: * Modify this individual expression node to use outer joins wherever there are * equality operations between two field nodes. */ protected void convertNodeToUseOuterJoin() { if ((this.operator.getSelector() == ExpressionOperator.Equal) && allChildrenAreFields()) { setOperator(getOperator(ExpressionOperator.EqualOuterJoin)); } }
/** * INTERNAL: * Modify this individual expression node to use outer joins wherever there are * equality operations between two field nodes. */ protected void convertNodeToUseOuterJoin() { if ((this.operator.getSelector() == ExpressionOperator.Equal) && allChildrenAreFields()) { setOperator(getOperator(ExpressionOperator.EqualOuterJoin)); } }
Object left = extractValueFromExpression(relation.getFirstChild(), query); Object right = extractValueFromExpression(relation.getSecondChild(), query); if (relation.getOperator().getSelector() == ExpressionOperator.Equal) { row.put(left, right); } else { DatabaseRecord nested = new DatabaseRecord(); if (relation.getOperator().getSelector() == ExpressionOperator.GreaterThan) { nested.put("$gt", right); } else if (relation.getOperator().getSelector() == ExpressionOperator.LessThan) { nested.put("$lt", right); } else if (relation.getOperator().getSelector() == ExpressionOperator.LessThanEqual) { nested.put("$lte", right); } else if (relation.getOperator().getSelector() == ExpressionOperator.GreaterThanEqual) { nested.put("$gte", right); } else if (relation.getOperator().getSelector() == ExpressionOperator.NotEqual) { nested.put("$ne", right); } else if (relation.getOperator().getSelector() == ExpressionOperator.In) { nested.put("$in", right); row.put(left, nested); } else if (relation.getOperator().getSelector() == ExpressionOperator.NotIn) { nested.put("$nin", right); row.put(left, nested);