From 56c6501cb655428885c4acd76c0a2a7a6d04f334 Mon Sep 17 00:00:00 2001 From: "andrey.tarashevskiy" Date: Wed, 18 Jul 2018 15:29:36 +0300 Subject: [PATCH] #300 Varchar doesn't validate length --- src/main/kotlin/org/jetbrains/exposed/sql/ColumnType.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/kotlin/org/jetbrains/exposed/sql/ColumnType.kt b/src/main/kotlin/org/jetbrains/exposed/sql/ColumnType.kt index f395b487d2..72a10ca447 100644 --- a/src/main/kotlin/org/jetbrains/exposed/sql/ColumnType.kt +++ b/src/main/kotlin/org/jetbrains/exposed/sql/ColumnType.kt @@ -283,6 +283,14 @@ open class VarCharColumnType(val colLength: Int = 255, collate: String? = null) append(" COLLATE $collate") } } + + override fun notNullValueToDB(value: Any): Any { + val string = super.notNullValueToDB(value) + require(string is String && string.length <= colLength) { + "Value '$string' can't be stored to database column because exceeds length $colLength" + } + return string + } } open class TextColumnType(collate: String? = null) : StringColumnType(collate) {