aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/scala/xyz/driver/core/database/PatchedHsqldbProfile.scala17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/core/database/PatchedHsqldbProfile.scala b/src/main/scala/xyz/driver/core/database/PatchedHsqldbProfile.scala
new file mode 100644
index 0000000..a2220e9
--- /dev/null
+++ b/src/main/scala/xyz/driver/core/database/PatchedHsqldbProfile.scala
@@ -0,0 +1,17 @@
+package xyz.driver.core.database
+
+import slick.driver.HsqldbDriver
+import slick.jdbc.JdbcType
+import slick.ast.FieldSymbol
+import slick.profile.RelationalProfile
+
+trait PatchedHsqldbProfile extends HsqldbDriver {
+ override def defaultSqlTypeName(tmd: JdbcType[_], sym: Option[FieldSymbol]): String = tmd.sqlType match {
+ case java.sql.Types.VARCHAR =>
+ val size = sym.flatMap(_.findColumnOption[RelationalProfile.ColumnOption.Length])
+ size.fold("LONGVARCHAR")(l => if(l.varying) s"VARCHAR(${l.length})" else s"CHAR(${l.length})")
+ case _ => super.defaultSqlTypeName(tmd, sym)
+ }
+}
+
+object PatchedHsqldbProfile extends PatchedHsqldbProfile