From c77fbb5e5583349cbb19203998a6daa220affa7b Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Fri, 6 May 2022 11:23:10 +0200 Subject: [PATCH] [jOOQ/jOOQ#12893] Add an Replacers.listening(Replacer, BiConsumer) to allow for listening to QueryPart.() events --- jOOQ/src/main/java/org/jooq/Replacers.java | 30 +++++++++++++ .../src/main/java/org/jooq/conf/Settings.java | 42 +++++++++++++++++++ .../src/main/java/org/jooq/impl/Patterns.java | 19 +++++++++ .../org/jooq/xsd/jooq-runtime-3.17.0.xsd | 4 ++ 4 files changed, 95 insertions(+) diff --git a/jOOQ/src/main/java/org/jooq/Replacers.java b/jOOQ/src/main/java/org/jooq/Replacers.java index f7a797b956..04a55f1d86 100644 --- a/jOOQ/src/main/java/org/jooq/Replacers.java +++ b/jOOQ/src/main/java/org/jooq/Replacers.java @@ -37,6 +37,36 @@ */ package org.jooq; +import java.util.function.BiConsumer; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jOOQ/src/main/java/org/jooq/conf/Settings.java b/jOOQ/src/main/java/org/jooq/conf/Settings.java index a7dc60602e..b78c958973 100644 --- a/jOOQ/src/main/java/org/jooq/conf/Settings.java +++ b/jOOQ/src/main/java/org/jooq/conf/Settings.java @@ -117,6 +117,8 @@ public class Settings @XmlElement(defaultValue = "false") protected Boolean transformPatterns = false; @XmlElement(defaultValue = "true") + protected Boolean transformPatternsLogging = true; + @XmlElement(defaultValue = "true") protected Boolean transformPatternsTrim = true; @XmlElement(defaultValue = "true") protected Boolean transformPatternsNotNot = true; @@ -1211,6 +1213,30 @@ public class Settings this.transformPatterns = value; } + /** + * Activate debug logging of the {@link #transformPatterns} feature. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isTransformPatternsLogging() { + return transformPatternsLogging; + } + + /** + * Sets the value of the transformPatternsLogging property. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setTransformPatternsLogging(Boolean value) { + this.transformPatternsLogging = value; + } + /** * Transform LTRIM(RTRIM(x)) or RTRIM(LTRIM(x)) to TRIM(x). *

@@ -4241,6 +4267,11 @@ public class Settings return this; } + public Settings withTransformPatternsLogging(Boolean value) { + setTransformPatternsLogging(value); + return this; + } + public Settings withTransformPatternsTrim(Boolean value) { setTransformPatternsTrim(value); return this; @@ -5196,6 +5227,7 @@ public class Settings builder.append("fetchTriggerValuesAfterSQLServerOutput", fetchTriggerValuesAfterSQLServerOutput); builder.append("fetchIntermediateResult", fetchIntermediateResult); builder.append("transformPatterns", transformPatterns); + builder.append("transformPatternsLogging", transformPatternsLogging); builder.append("transformPatternsTrim", transformPatternsTrim); builder.append("transformPatternsNotNot", transformPatternsNotNot); builder.append("transformPatternsNotComparison", transformPatternsNotComparison); @@ -5635,6 +5667,15 @@ public class Settings return false; } } + if (transformPatternsLogging == null) { + if (other.transformPatternsLogging!= null) { + return false; + } + } else { + if (!transformPatternsLogging.equals(other.transformPatternsLogging)) { + return false; + } + } if (transformPatternsTrim == null) { if (other.transformPatternsTrim!= null) { return false; @@ -6764,6 +6805,7 @@ public class Settings result = ((prime*result)+((fetchTriggerValuesAfterSQLServerOutput == null)? 0 :fetchTriggerValuesAfterSQLServerOutput.hashCode())); result = ((prime*result)+((fetchIntermediateResult == null)? 0 :fetchIntermediateResult.hashCode())); result = ((prime*result)+((transformPatterns == null)? 0 :transformPatterns.hashCode())); + result = ((prime*result)+((transformPatternsLogging == null)? 0 :transformPatternsLogging.hashCode())); result = ((prime*result)+((transformPatternsTrim == null)? 0 :transformPatternsTrim.hashCode())); result = ((prime*result)+((transformPatternsNotNot == null)? 0 :transformPatternsNotNot.hashCode())); result = ((prime*result)+((transformPatternsNotComparison == null)? 0 :transformPatternsNotComparison.hashCode())); diff --git a/jOOQ/src/main/java/org/jooq/impl/Patterns.java b/jOOQ/src/main/java/org/jooq/impl/Patterns.java index ef0148b539..ab18bbd573 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Patterns.java +++ b/jOOQ/src/main/java/org/jooq/impl/Patterns.java @@ -1547,6 +1547,25 @@ package org.jooq.impl; + + + + + + + + + + + + + + + + + + + diff --git a/jOOQ/src/main/resources/org/jooq/xsd/jooq-runtime-3.17.0.xsd b/jOOQ/src/main/resources/org/jooq/xsd/jooq-runtime-3.17.0.xsd index ff929031e9..327a3f3182 100644 --- a/jOOQ/src/main/resources/org/jooq/xsd/jooq-runtime-3.17.0.xsd +++ b/jOOQ/src/main/resources/org/jooq/xsd/jooq-runtime-3.17.0.xsd @@ -284,6 +284,10 @@ default. This feature is available in the commercial distribution only.]]> + + + + LTRIM(RTRIM(x)) or RTRIM(LTRIM(x)) to TRIM(x).