From b60097822c5c7fcc736ea3d688a949d2bda66ca1 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Tue, 13 Aug 2024 15:04:49 +0200 Subject: [PATCH] [jOOQ/jOOQ#17056] Support comparing arrays in BigQuery --- jOOQ/src/main/java/org/jooq/impl/Eq.java | 6 +++++- jOOQ/src/main/java/org/jooq/impl/Names.java | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/Eq.java b/jOOQ/src/main/java/org/jooq/impl/Eq.java index f06f4778e0..8c121271b6 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Eq.java +++ b/jOOQ/src/main/java/org/jooq/impl/Eq.java @@ -124,7 +124,7 @@ implements Field arg2, Function2, Condition> compareRowSubquery, Function2 compareRowRow, - Function3, ? super Field, ? super Field, ? extends Context> acceptDefault + Function3, ? super Field, ? super Field, ? extends Context> acceptDefault ) { boolean field1Embeddable = arg1.getDataType().isEmbeddable(); SelectQueryImpl s; @@ -154,6 +154,10 @@ implements + + + + else if (arg1 instanceof Array && ((Array) arg1).fields.fields.length == 0) ctx.data(ExtendedDataKey.DATA_EMPTY_ARRAY_BASE_TYPE, arg2.getDataType().getArrayComponentDataType(), c -> acceptDefault.apply(c, arg1, arg2)); else if (arg2 instanceof Array && ((Array) arg2).fields.fields.length == 0) diff --git a/jOOQ/src/main/java/org/jooq/impl/Names.java b/jOOQ/src/main/java/org/jooq/impl/Names.java index a891fe4829..c658dc2a33 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Names.java +++ b/jOOQ/src/main/java/org/jooq/impl/Names.java @@ -301,6 +301,7 @@ final class Names { static final Name N_toJSONString = systemName("toJSONString"); static final Name N_TO_CLOB = systemName("to_clob"); static final Name N_TO_JSON = systemName("to_json"); + static final Name N_TO_JSON_STRING = systemName("to_json_string"); static final Name N_TO_NUMBER = systemName("to_number"); static final Name N_TO_VARIANT = systemName("to_variant"); static final Name N_TRUNCATE = systemName("truncate");