[jOOQ/jOOQ#11295] POSITION(in, search, startIndex) emulation returns wrong result when search was not found

This commit is contained in:
Lukas Eder 2021-01-22 20:57:04 +01:00
parent 1c11fe7d6f
commit 56ebbfb62e

View File

@ -121,7 +121,11 @@ extends
default:
ctx.visit(iadd(DSL.position(DSL.substring(in, startIndex), search), isub(startIndex, one())));
ctx.visit(
DSL.case_(DSL.position(DSL.substring(in, startIndex), search))
.when(inline(0), inline(0))
.else_(iadd(DSL.position(DSL.substring(in, startIndex), search), isub(startIndex, one())))
);
break;
}
}