private static ExistsPredicate exists(Query query) { return new ExistsPredicate(new SubqueryExpression(query)); }
@Override protected Boolean visitExists(ExistsPredicate node, Void context) { checkState(node.getSubquery() instanceof SubqueryExpression); return process(node.getSubquery(), context); }
PlanBuilder subqueryPlan = createPlanBuilder(existsPredicate.getSubquery()); ExistsPredicate rewrittenExistsPredicate = new ExistsPredicate(BooleanLiteral.TRUE_LITERAL); return appendApplyNode( subPlan, existsPredicate.getSubquery(), subqueryNode, Assignments.of(exists, rewrittenExistsPredicate),
@Override protected R visitExists(ExistsPredicate node, C context) { process(node.getSubquery(), context); return null; }
@Override public Node visitExists(SqlBaseParser.ExistsContext context) { return new ExistsPredicate(getLocation(context), new SubqueryExpression(getLocation(context), (Query) visit(context.query()))); }
@Override protected String visitExists(ExistsPredicate node, Void context) { return "(EXISTS " + formatSql(node.getSubquery(), parameters) + ")"; }
@Test public void testDoesNotFireOnNonInPredicateSubquery() { tester().assertThat(new TransformUncorrelatedInPredicateSubqueryToSemiJoin()) .on(p -> p.apply( Assignments.of(p.symbol("x"), new ExistsPredicate(new LongLiteral("1"))), emptyList(), p.values(), p.values())) .doesNotFire(); }
@Override protected Type visitExists(ExistsPredicate node, StackableAstVisitorContext<Context> context) { StatementAnalyzer analyzer = statementAnalyzerFactory.apply(node); Scope subqueryScope = Scope.builder().withParent(context.getContext().getScope()).build(); analyzer.analyze(node.getSubquery(), subqueryScope); existsSubqueries.add(NodeRef.of(node)); return setExpressionType(node, BOOLEAN); }
@Override public Node visitExists(SqlBaseParser.ExistsContext context) { return new ExistsPredicate(getLocation(context), (Query) visit(context.query())); }
@Override protected String visitExists(ExistsPredicate node, Void context) { return "(EXISTS " + formatSql(node.getSubquery(), tableNameMapper, columnNameMapper.orElse(null), queryWithTables, escape) + ")"; }
private static ExistsPredicate exists(Query query) { return new ExistsPredicate(new SubqueryExpression(query)); }
@Override protected String visitExists(ExistsPredicate node, Void context) { return "(EXISTS " + formatSql(node.getSubquery(), parameters) + ")"; }
@Override public Node visitExists(SqlBaseParser.ExistsContext context) { return new ExistsPredicate(getLocation(context), new SubqueryExpression(getLocation(context), (Query) visit(context.query()))); }
@Override protected R visitExists(ExistsPredicate node, C context) { process(node.getSubquery(), context); return null; }
@Override protected String visitExists(ExistsPredicate node, Boolean unmangleNames) { return "EXISTS (" + formatSql(node.getSubquery(), unmangleNames) + ")"; }
@Override protected String visitExists(ExistsPredicate node, Boolean unmangleNames) { return "EXISTS (" + formatSql(node.getSubquery(), unmangleNames) + ")"; }