[jOOQ/jOOQ#11981] Fix ARRAY_OVERLAP emulation
This commit is contained in:
parent
0d6f26f51d
commit
80395e3c5b
@ -3047,7 +3047,7 @@ extends
|
||||
* assigned uniquely.
|
||||
*/
|
||||
@NotNull
|
||||
@Support({ CUBRID, FIREBIRD, H2, MARIADB, MYSQL, POSTGRES, SQLITE, YUGABYTEDB })
|
||||
@Support({ CUBRID, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE, YUGABYTEDB })
|
||||
Table<Record> withOrdinality();
|
||||
|
||||
/**
|
||||
|
||||
@ -98,10 +98,16 @@ implements
|
||||
|
||||
|
||||
case H2:
|
||||
ctx.visit(exists(
|
||||
select(asterisk()).from(unnest(arg1))
|
||||
.intersect(select(asterisk()).from(unnest(arg2)))
|
||||
));
|
||||
break;
|
||||
|
||||
case HSQLDB:
|
||||
ctx.visit(exists(
|
||||
select(asterisk()).from(unnest(arg1))
|
||||
.unionAll(select(asterisk()).from(unnest(arg2)))
|
||||
.intersectAll(select(asterisk()).from(unnest(arg2)))
|
||||
));
|
||||
break;
|
||||
|
||||
|
||||
@ -19838,7 +19838,7 @@ public class DSL {
|
||||
* Check if 2 arrays overlap.
|
||||
*/
|
||||
@NotNull
|
||||
@Support({ POSTGRES, YUGABYTEDB })
|
||||
@Support({ H2, HSQLDB, POSTGRES, YUGABYTEDB })
|
||||
public static <T> Condition arrayOverlap(T[] arg1, T[] arg2) {
|
||||
return new ArrayOverlap<>(Tools.field(arg1), Tools.field(arg2));
|
||||
}
|
||||
@ -19849,7 +19849,7 @@ public class DSL {
|
||||
* Check if 2 arrays overlap.
|
||||
*/
|
||||
@NotNull
|
||||
@Support({ POSTGRES, YUGABYTEDB })
|
||||
@Support({ H2, HSQLDB, POSTGRES, YUGABYTEDB })
|
||||
public static <T> Condition arrayOverlap(T[] arg1, Field<T[]> arg2) {
|
||||
return new ArrayOverlap<>(Tools.field(arg1), arg2);
|
||||
}
|
||||
@ -19860,7 +19860,7 @@ public class DSL {
|
||||
* Check if 2 arrays overlap.
|
||||
*/
|
||||
@NotNull
|
||||
@Support({ POSTGRES, YUGABYTEDB })
|
||||
@Support({ H2, HSQLDB, POSTGRES, YUGABYTEDB })
|
||||
public static <T> Condition arrayOverlap(Field<T[]> arg1, T[] arg2) {
|
||||
return new ArrayOverlap<>(arg1, Tools.field(arg2, arg1));
|
||||
}
|
||||
@ -19871,7 +19871,7 @@ public class DSL {
|
||||
* Check if 2 arrays overlap.
|
||||
*/
|
||||
@NotNull
|
||||
@Support({ POSTGRES, YUGABYTEDB })
|
||||
@Support({ H2, HSQLDB, POSTGRES, YUGABYTEDB })
|
||||
public static <T> Condition arrayOverlap(Field<T[]> arg1, Field<T[]> arg2) {
|
||||
return new ArrayOverlap<>(arg1, arg2);
|
||||
}
|
||||
@ -19884,7 +19884,7 @@ public class DSL {
|
||||
* @param arg2 is wrapped as {@link #val(Object)}.
|
||||
*/
|
||||
@NotNull
|
||||
@Support({ POSTGRES, YUGABYTEDB })
|
||||
@Support({ H2, HSQLDB, POSTGRES, YUGABYTEDB })
|
||||
public static <T> Field<T[]> arrayRemove(T[] arg1, T arg2) {
|
||||
return new ArrayRemove<>(Tools.field(arg1), Tools.field(arg2));
|
||||
}
|
||||
@ -19895,7 +19895,7 @@ public class DSL {
|
||||
* Remove an element from an array.
|
||||
*/
|
||||
@NotNull
|
||||
@Support({ POSTGRES, YUGABYTEDB })
|
||||
@Support({ H2, HSQLDB, POSTGRES, YUGABYTEDB })
|
||||
public static <T> Field<T[]> arrayRemove(T[] arg1, Field<T> arg2) {
|
||||
return new ArrayRemove<>(Tools.field(arg1), arg2);
|
||||
}
|
||||
@ -19908,7 +19908,7 @@ public class DSL {
|
||||
* @param arg2 is wrapped as {@link #val(Object)}.
|
||||
*/
|
||||
@NotNull
|
||||
@Support({ POSTGRES, YUGABYTEDB })
|
||||
@Support({ H2, HSQLDB, POSTGRES, YUGABYTEDB })
|
||||
public static <T> Field<T[]> arrayRemove(Field<T[]> arg1, T arg2) {
|
||||
return new ArrayRemove<>(arg1, Tools.field(arg2));
|
||||
}
|
||||
@ -19919,7 +19919,7 @@ public class DSL {
|
||||
* Remove an element from an array.
|
||||
*/
|
||||
@NotNull
|
||||
@Support({ POSTGRES, YUGABYTEDB })
|
||||
@Support({ H2, HSQLDB, POSTGRES, YUGABYTEDB })
|
||||
public static <T> Field<T[]> arrayRemove(Field<T[]> arg1, Field<T> arg2) {
|
||||
return new ArrayRemove<>(arg1, arg2);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user