Mranders
09/01/2020, 8:35 AMKenneth Wußmann
09/01/2020, 10:14 AMPerson.find {
when (something) {
"ABC" -> Persons.age eq 21
else -> Persons.age.isNull()
}
}
Mranders
09/01/2020, 11:17 AMprivate fun SqlExpressionBuilder.filteredString(expr: Expression<String?>): Expression<String?> {
return case()
.When(expr neq stringLiteral("foo"), expr)
.Else(???)
}
What is an appropriate way to fill the else part? The isNull extension returns an Op<Boolean>, which can't be used in this case.Kenneth Wußmann
09/01/2020, 11:29 AMfun <T> nullExpr() = object : Expression<T>() {
override fun toQueryBuilder(queryBuilder: QueryBuilder) {
queryBuilder {
append("NULL")
}
}
}
Mranders
09/01/2020, 11:52 AMprivate fun <T> nullLiteral(columnType: IColumnType): LiteralOp<T?> =
LiteralOp(columnType.apply { nullable = true }, null)
tapac
09/01/2020, 1:21 PMnullLiteral(MyTable.notNullColumn)
you will end up with wrong behavior on notNullColumn
.
I will add similar code into the next release.