From 9886c6d98516f6a71a93225a46eae790c8516c14 Mon Sep 17 00:00:00 2001 From: Rafael morales Date: Fri, 13 Sep 2024 19:40:11 +0200 Subject: [PATCH 1/5] Update TypeMapper.scala added support for Float data type --- scalasql/core/src/TypeMapper.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scalasql/core/src/TypeMapper.scala b/scalasql/core/src/TypeMapper.scala index d855570f..23aec39d 100644 --- a/scalasql/core/src/TypeMapper.scala +++ b/scalasql/core/src/TypeMapper.scala @@ -87,7 +87,8 @@ object TypeMapper { d.IntType implicit def longFromDialectTypeMappers(implicit d: DialectTypeMappers): TypeMapper[Long] = d.LongType - + implicit def floatFromDialectTypeMappers(implicit d: DialectTypeMappers): TypeMapper[Float] = + d.FloatType implicit def doubleFromDialectTypeMappers(implicit d: DialectTypeMappers): TypeMapper[Double] = d.DoubleType implicit def bigDecimalFromDialectTypeMappers( From c65a1fa464b95264ea28ad11a5255e4902f67e1c Mon Sep 17 00:00:00 2001 From: Rafael morales Date: Mon, 23 Sep 2024 13:41:55 +0200 Subject: [PATCH 2/5] Add support for 'Float' data type --- scalasql/core/src/DialectTypeMappers.scala | 1 + 1 file changed, 1 insertion(+) diff --git a/scalasql/core/src/DialectTypeMappers.scala b/scalasql/core/src/DialectTypeMappers.scala index 3e4783f6..f6311dce 100644 --- a/scalasql/core/src/DialectTypeMappers.scala +++ b/scalasql/core/src/DialectTypeMappers.scala @@ -23,6 +23,7 @@ trait DialectTypeMappers extends DialectConfig { implicit def IntType: TypeMapper[Int] implicit def LongType: TypeMapper[Long] + implicit def FloatType: TypeMapper[Float] implicit def DoubleType: TypeMapper[Double] implicit def BigDecimalType: TypeMapper[scala.math.BigDecimal] implicit def BooleanType: TypeMapper[Boolean] From e7cafdd8309c4aecb6888721e306b0b406ebd197 Mon Sep 17 00:00:00 2001 From: Rafael morales Date: Mon, 23 Sep 2024 13:43:36 +0200 Subject: [PATCH 3/5] Added support for 'Float' data type --- scalasql/src/dialects/Dialect.scala | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scalasql/src/dialects/Dialect.scala b/scalasql/src/dialects/Dialect.scala index 64a1fc63..78d945e7 100644 --- a/scalasql/src/dialects/Dialect.scala +++ b/scalasql/src/dialects/Dialect.scala @@ -62,6 +62,13 @@ trait Dialect extends DialectTypeMappers { def put(r: PreparedStatement, idx: Int, v: Long) = r.setLong(idx, v) } + implicit def FloatType: TypeMapper[Float] = new FloatType + class FloatType extends TypeMapper[Float] { + def jdbcType = JDBCType.FLOAT + def get(r: ResultSet, idx: Int) = r.getFloat(idx) + def put(r: PreparedStatement, idx: Int, v: Float) = r.setDouble(idx, v) + } + implicit def DoubleType: TypeMapper[Double] = new DoubleType class DoubleType extends TypeMapper[Double] { def jdbcType = JDBCType.DOUBLE From a16c7e650b0977029a44b48c3473ebff5702b943 Mon Sep 17 00:00:00 2001 From: "rafa@ekbalam" Date: Mon, 23 Sep 2024 20:10:07 +0200 Subject: [PATCH 4/5] Added support to data type Float plus reformatting, testing and generating tutorial and referencesd --- scalasql/src/dialects/Dialect.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scalasql/src/dialects/Dialect.scala b/scalasql/src/dialects/Dialect.scala index 78d945e7..de287909 100644 --- a/scalasql/src/dialects/Dialect.scala +++ b/scalasql/src/dialects/Dialect.scala @@ -68,7 +68,7 @@ trait Dialect extends DialectTypeMappers { def get(r: ResultSet, idx: Int) = r.getFloat(idx) def put(r: PreparedStatement, idx: Int, v: Float) = r.setDouble(idx, v) } - + implicit def DoubleType: TypeMapper[Double] = new DoubleType class DoubleType extends TypeMapper[Double] { def jdbcType = JDBCType.DOUBLE From b2a01e70830c3cb5ce9c3773f709b19621c9b37b Mon Sep 17 00:00:00 2001 From: "rafa@ekbalam" Date: Thu, 26 Sep 2024 11:38:36 +0200 Subject: [PATCH 5/5] fixed 'put' in 'implicit def FloatType: TypeMapper[Float]' and added some 'from' for basic data types --- scalasql/src/dialects/Dialect.scala | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/scalasql/src/dialects/Dialect.scala b/scalasql/src/dialects/Dialect.scala index de287909..8dd91835 100644 --- a/scalasql/src/dialects/Dialect.scala +++ b/scalasql/src/dialects/Dialect.scala @@ -66,7 +66,7 @@ trait Dialect extends DialectTypeMappers { class FloatType extends TypeMapper[Float] { def jdbcType = JDBCType.FLOAT def get(r: ResultSet, idx: Int) = r.getFloat(idx) - def put(r: PreparedStatement, idx: Int, v: Float) = r.setDouble(idx, v) + def put(r: PreparedStatement, idx: Int, v: Float) = r.setFloat(idx, v) } implicit def DoubleType: TypeMapper[Double] = new DoubleType @@ -204,12 +204,18 @@ trait Dialect extends DialectTypeMappers { def put(r: PreparedStatement, idx: Int, v: T) = r.setObject(idx, v, java.sql.Types.OTHER) } + implicit def from(x: Byte): Expr[Byte] = Expr(x) + + implicit def from(x: Short): Expr[Short] = Expr(x) + implicit def from(x: Int): Expr[Int] = Expr(x) implicit def from(x: Long): Expr[Long] = Expr(x) implicit def from(x: Boolean): Expr[Boolean] = Expr.apply0(x, x) + implicit def from(x: Float): Expr[Float] = Expr(x) + implicit def from(x: Double): Expr[Double] = Expr(x) implicit def from(x: scala.math.BigDecimal): Expr[scala.math.BigDecimal] = Expr(x)