Skip to content

Commit

Permalink
Seems like an infinite recursion in 'match' sql-operator #978
Browse files Browse the repository at this point in the history
  • Loading branch information
Tapac committed Jul 3, 2020
1 parent 56aa7bb commit 07004e3
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ abstract class FunctionProvider {
* @param pattern Pattern the expression is checked against.
* @param mode Match mode used to check the expression.
*/
open fun <T : String?> ExpressionWithColumnType<T>.match(pattern: String, mode: MatchMode? = null): Op<Boolean> = with(SqlExpressionBuilder) {
open fun <T : String?> Expression<T>.match(pattern: String, mode: MatchMode? = null): Op<Boolean> = with(SqlExpressionBuilder) {
this@match.like(pattern)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ internal open class MysqlFunctionProvider : FunctionProvider() {

override fun random(seed: Int?): String = "RAND(${seed?.toString().orEmpty()})"

private class MATCH(val expr: ExpressionWithColumnType<*>, val pattern: String, val mode: MatchMode) : Op<Boolean>() {
private class MATCH(val expr: Expression<*>, val pattern: String, val mode: MatchMode) : Op<Boolean>() {
override fun toQueryBuilder(queryBuilder: QueryBuilder) = queryBuilder {
append("MATCH(", expr, ") AGAINST ('", pattern, "' ", mode.mode(), ")")
}
Expand All @@ -40,7 +40,7 @@ internal open class MysqlFunctionProvider : FunctionProvider() {
override fun mode() = operator
}

override fun <T : String?> ExpressionWithColumnType<T>.match(pattern: String, mode: MatchMode?): Op<Boolean> =
override fun <T : String?> Expression<T>.match(pattern: String, mode: MatchMode?): Op<Boolean> =
MATCH(this, pattern, mode ?: MysqlMatchMode.STRICT)

override fun <T : String?> regexp(
Expand Down

0 comments on commit 07004e3

Please sign in to comment.