From cfc7a4b7e72478e8b3f5b6bb4c36761a1029bb55 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Fri, 28 Oct 2022 18:07:18 +0200 Subject: [PATCH] [jOOQ/jOOQ#14151] Override BlockImpl::equals() and hashCode() --- .../main/java/org/jooq/impl/BlockImpl.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/jOOQ/src/main/java/org/jooq/impl/BlockImpl.java b/jOOQ/src/main/java/org/jooq/impl/BlockImpl.java index b64cca9622..d602f80746 100644 --- a/jOOQ/src/main/java/org/jooq/impl/BlockImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/BlockImpl.java @@ -83,6 +83,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.LinkedHashMap; import java.util.Map; +import java.util.Objects; import java.util.Set; import java.util.function.BiFunction; import java.util.function.Consumer; @@ -113,6 +114,7 @@ import org.jooq.impl.Tools.ExtendedDataKey; * @author Lukas Eder */ final class BlockImpl extends AbstractRowCountQuery implements Block { + private static final Set REQUIRES_EXECUTE_IMMEDIATE_ON_DDL = SQLDialect.supportedBy(FIREBIRD); private static final Set SUPPORTS_NULL_STATEMENT = SQLDialect.supportedBy(POSTGRES, YUGABYTEDB); @@ -588,6 +590,30 @@ final class BlockImpl extends AbstractRowCountQuery implements Block { + // ------------------------------------------------------------------------- + // XXX: Object API + // ------------------------------------------------------------------------- + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + + if (obj instanceof BlockImpl b) { + return alwaysWrapInBeginEnd == b.alwaysWrapInBeginEnd && Objects.equals(statements, b.statements); + } + else + return super.equals(obj); + } + + @Override + public int hashCode() { + final int prime = 31; + int result = prime; + result = prime * result + Objects.hash(alwaysWrapInBeginEnd, statements); + return result; + } + // ------------------------------------------------------------------------- // XXX: Query Object Model // -------------------------------------------------------------------------