@Override protected Object processSubqueryExpression(SubqueryExpression expr) String keyword = expr.getKeyword(); Expression subqueryExpr = expr.getRight(); if (subqueryExpr instanceof VariableExpression)
public <Y> Expression<Y> any(Subquery<Y> sub) { ExpressionImpl<Y> allExpr = new ExpressionImpl<Y>((Class<Y>) sub.getJavaType()); org.datanucleus.query.expression.Expression subExpr = ((SubqueryImpl<Y>)sub).getQueryExpression(); String varName = null; if (subExpr instanceof VariableExpression) { varName = ((VariableExpression)subExpr).getId(); } else { varName = "SUB" + SubqueryImpl.random.nextInt(); } allExpr.queryExpr = new SubqueryExpression("ANY", new VariableExpression(varName)); return allExpr; }
} else if (expr instanceof SubqueryExpression) { SubqueryExpression subExpr = (SubqueryExpression) expr; if ("EXISTS".equals(subExpr.getKeyword())) { throw new NucleusUserException("EXISTS is not supported in force.com database"); } else if (UNSUPPORTED_JOINS.contains(subExpr.getKeyword())) { throw new NucleusUserException(subExpr.getKeyword() + " is not supported in force.com database"); } else { throw new NucleusUserException("Unexpected subquery expression: " + subExpr);
VariableExpression subqueryVar = (VariableExpression) subqueryExpr.getRight(); CriteriaQueryImpl<T> subDelegate = (CriteriaQueryImpl<T>) sub.getDelegate(); QueryCompilation subCompilation = subDelegate.getCompilation(mmgr, clr);
} else if (expr instanceof SubqueryExpression) { SubqueryExpression subExpr = (SubqueryExpression) expr; if ("EXISTS".equals(subExpr.getKeyword())) { throw new NucleusUserException("EXISTS is not supported in force.com database"); } else if (UNSUPPORTED_JOINS.contains(subExpr.getKeyword())) { throw new NucleusUserException(subExpr.getKeyword() + " is not supported in force.com database"); } else { throw new NucleusUserException("Unexpected subquery expression: " + subExpr);
public <Y> Expression<Y> all(Subquery<Y> sub) { ExpressionImpl<Y> allExpr = new ExpressionImpl<Y>((Class<Y>) sub.getJavaType()); org.datanucleus.query.expression.Expression subExpr = ((SubqueryImpl<Y>)sub).getQueryExpression(); String varName = null; if (subExpr instanceof VariableExpression) { varName = ((VariableExpression)subExpr).getId(); } else { varName = "SUB" + SubqueryImpl.random.nextInt(); } allExpr.queryExpr = new SubqueryExpression("ALL", new VariableExpression(varName)); return allExpr; }
public <Y> Expression<Y> some(Subquery<Y> sub) { ExpressionImpl<Y> allExpr = new ExpressionImpl<Y>((Class<Y>) sub.getJavaType()); org.datanucleus.query.expression.Expression subExpr = ((SubqueryImpl<Y>)sub).getQueryExpression(); String varName = null; if (subExpr instanceof VariableExpression) { varName = ((VariableExpression)subExpr).getId(); } else { varName = "SUB" + SubqueryImpl.random.nextInt(); } allExpr.queryExpr = new SubqueryExpression("SOME", new VariableExpression(varName)); return allExpr; }