[jOOQ/jOOQ#11648] Add Db2, Derby, H2 support for POSITION(in, search, startIndex) via LOCATE

This commit is contained in:
Lukas Eder 2021-03-15 23:07:29 +01:00
parent 809467c601
commit f34e6cb805
2 changed files with 14 additions and 1 deletions

View File

@ -9483,6 +9483,7 @@ final class DefaultParseContext extends AbstractScope implements ParseContext {
Field<String> f1 = (Field) parseField(S);
parse(',');
Field<String> f2 = (Field) parseField(S);
Field<Integer> f3 = (Field) (parseIf(',') ? parseField(N) : null);
parse(')');
switch (parseFamily()) {
@ -9493,7 +9494,7 @@ final class DefaultParseContext extends AbstractScope implements ParseContext {
default:
return DSL.position(f2, f1);
return f3 == null ? DSL.position(f2, f1) : DSL.position(f2, f1, f3);
}
}

View File

@ -111,6 +111,18 @@ extends
if (startIndex != null) {
switch (ctx.family()) {
case DERBY:
case H2:
ctx.visit(N_LOCATE).sql('(').visit(search).sql(", ").visit(in).sql(", ").visit(startIndex).sql(')');
break;