[jOOQ/jOOQ#10939] Wrong SQL generated for IIF() emulation in MySQL

This commit is contained in:
Lukas Eder 2020-11-13 14:31:54 +01:00
parent 7ad4c81d76
commit 0f6f05e2bf

View File

@ -37,6 +37,9 @@
*/
package org.jooq.impl;
import static org.jooq.impl.Names.N_IF;
import static org.jooq.impl.Names.N_IIF;
import org.jooq.Condition;
import org.jooq.Context;
import org.jooq.Field;
@ -71,13 +74,18 @@ final class Iif<T> extends AbstractField<T> {
case MARIADB:
case MYSQL:
ctx.visit(getUnqualifiedName()).sql('(').visit(condition).sql(", ").visit(ifTrue).sql(", ").visit(ifFalse).sql(')');
ctx.visit(N_IF).sql('(').visit(condition).sql(", ").visit(ifTrue).sql(", ").visit(ifFalse).sql(')');
break;
default:
ctx.visit(DSL.when(condition, ifTrue).otherwise(ifFalse));
break;