From 95153b184ccd21f05f5f17df2af73d6045c16d0b Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Wed, 29 Sep 2021 14:05:44 +0200 Subject: [PATCH] [jOOQ/jOOQ#12425] Removed ad-hoc tests --- jOOQ/src/main/java/org/jooq/impl/QOM.java | 134 ---------------------- 1 file changed, 134 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/QOM.java b/jOOQ/src/main/java/org/jooq/impl/QOM.java index 0dc0889add..3dc4e5ded4 100644 --- a/jOOQ/src/main/java/org/jooq/impl/QOM.java +++ b/jOOQ/src/main/java/org/jooq/impl/QOM.java @@ -2949,140 +2949,6 @@ public final class QOM { interface UEmptyStatement extends MStatement, UEmpty {} interface UEmptyQuery extends MQuery, UEmpty {} - // ------------------------------------------------------------------------- - // XXX: Tests - // ------------------------------------------------------------------------- - - public static void main(String[] args) { - System.setProperty("org.jooq.no-logo", "true"); - System.setProperty("org.jooq.no-tips", "true"); - - var t = new TableImpl<>(name("n")); - var i = t.createField(name("i"), SQLDataType.INTEGER, ""); - var v1 = inline(1); - var v2 = inline(2); - var c = not(not(v1.eq(v2)).and(not(trueCondition()))); - - System.out.println("All parts"); - System.out.println(c.traverse("", (s, p) -> s + "\n" + p)); - - System.out.println(); - System.out.println("All parts: window function"); - System.out.println(sum(count(i).filterWhere(trueCondition())).filterWhere(trueCondition()).over(partitionBy(i).orderBy(i.desc()).groupsPreceding(3).excludeCurrentRow()).traverse("", (s, p) -> s + "\n" + p)); - - System.out.println(); - System.out.println("Nots"); - System.out.println(c.find(p -> p instanceof Not)); - - System.out.println(); - System.out.println("Params"); - System.out.println(c.find(p -> p instanceof MParam)); - - System.out.println(); - System.out.println("Optimised"); - System.out.println(c.replace(QOM::optimise)); - - System.out.println(); - System.out.println("Optimised: not(v1.isNotDistinctFrom(v2))"); - System.out.println(not(v1.isNotDistinctFrom(v2)).replace(QOM::optimise)); - - System.out.println(); - System.out.println("Optimised: not(v1.isDistinctFrom(v2))"); - System.out.println(not(v1.isDistinctFrom(v2)).replace(QOM::optimise)); - - System.out.println(); - System.out.println("Optimised: row(...)"); - System.out.println(row(field(c), field(not(c))).replace(QOM::optimise)); - - DSLContext ctx = DSL.using(POSTGRES); - System.out.println(); - System.out.println("Correlated subquery to outer apply transformation"); - System.out.println(ctx.parser().parse("select b, (select a from t where t.x = u.y) a from u").replace(q -> { - if (q instanceof MSelect) { - MSelect s = (MSelect) q; - MScalarSubquery x = (MScalarSubquery) s.$select().findAny(p -> p instanceof MScalarSubquery); - - if (x != null) { - Table derivedTable = ((Select) x.$arg1()).asTable("d", "c"); - - s = s.$select((MList) - s.$select().replace(y -> y == x ? derivedTable.field("c") : y) - ); - s = s.$from((MList>) - s.$from().replace(u -> u instanceof Table && ((Table) u).getName().equals("u") - ? ((Table) u).outerApply(derivedTable) - : u) - ); - - return s; - } - } - - return q; - })); - - } - - private static MQueryPart optimise(MQueryPart q) { - if (q instanceof MEq e) { - if (e.$arg1() instanceof MParam i1 && e.$arg2() instanceof MParam i2) - if (Objects.equals(i1.$value(), i2.$value())) - return trueCondition(); - else - return falseCondition(); - } - else if (q instanceof MIsDistinctFrom e) { - if (e.$arg1() instanceof MParam i1 && e.$arg2() instanceof MParam i2) - if (Objects.equals(i1.$value(), i2.$value())) - return falseCondition(); - else - return trueCondition(); - } - else if (q instanceof MIsNotDistinctFrom e) { - if (e.$arg1() instanceof MParam i1 && e.$arg2() instanceof MParam i2) - if (Objects.equals(i1.$value(), i2.$value())) - return trueCondition(); - else - return falseCondition(); - } - else if (q instanceof MAnd a) { - if (a.$arg1() instanceof MFalse || a.$arg2() instanceof MFalse) - return falseCondition(); - else if (a.$arg1() instanceof MTrue && a.$arg2() instanceof MTrue) - return trueCondition(); - else if (a.$arg1() instanceof MTrue) - return a.$arg2(); - else if (a.$arg2() instanceof MTrue) - return a.$arg1(); - } - else if (q instanceof MOr o) { - if (o.$arg1() instanceof MTrue || o.$arg2() instanceof MTrue) - return trueCondition(); - else if (o.$arg1() instanceof MFalse || o.$arg2() instanceof MFalse) - return falseCondition(); - } - else if (q instanceof MNot n) { - if (n.$arg1() instanceof MEq e) - return e.transform((arg1, arg2) -> ((Field) arg1).ne((Field) arg2)); - else if (n.$arg1() instanceof MNe e) - return e.transform((arg1, arg2) -> ((Field) arg1).eq((Field) arg2)); - else if (n.$arg1() instanceof MIsDistinctFrom e) - return e.transform((arg1, arg2) -> ((Field) arg1).isNotDistinctFrom((Field) arg2)); - else if (n.$arg1() instanceof MIsNotDistinctFrom e) - return e.transform((arg1, arg2) -> ((Field) arg1).isDistinctFrom((Field) arg2)); - else if (n.$arg1() instanceof MNot n2) - return n2.$arg1(); - else if (n.$arg1() instanceof MTrue) - return falseCondition(); - else if (n.$arg1() instanceof MFalse) - return trueCondition(); - else if (n.$arg1() instanceof MOr a) - return a.transform((arg1, arg2) -> ((Condition) arg1).not().and(((Condition) arg2).not())); - } - - return q; - } - // ------------------------------------------------------------------------- // XXX: Utilities // -------------------------------------------------------------------------