[jOOQ/jOOQ#11648] Add Db2, Derby, H2 support for POSITION(in, search, startIndex) via LOCATE
This commit is contained in:
parent
809467c601
commit
f34e6cb805
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user