From 794a013fa88caebd6eb88faf17285ef18209e68b Mon Sep 17 00:00:00 2001 From: Kseniya Tomskikh Date: Fri, 6 Oct 2017 03:18:51 +0700 Subject: Fixed set list parameters in sql --- .../driver/pdsuicommon/db/SlickQueryBuilder.scala | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/main/scala/xyz/driver/pdsuicommon/db/SlickQueryBuilder.scala b/src/main/scala/xyz/driver/pdsuicommon/db/SlickQueryBuilder.scala index 8f42949..dc03a52 100644 --- a/src/main/scala/xyz/driver/pdsuicommon/db/SlickQueryBuilder.scala +++ b/src/main/scala/xyz/driver/pdsuicommon/db/SlickQueryBuilder.scala @@ -44,14 +44,6 @@ object SlickQueryBuilder { pp.setObject(v, JDBCType.BINARY.getVendorTypeNumber) } } - - implicit object SetListQueryParameter extends SetParameter[Seq[AnyRef]] { - def apply(vList: Seq[AnyRef], pp: PositionedParameters) = { - vList.foreach { v => - pp.setObject(v, JDBCType.BINARY.getVendorTypeNumber) - } - } - } } final case class SlickTableLink(keyColumnName: String, foreignTableName: String, foreignKeyColumnName: String) @@ -189,6 +181,16 @@ sealed trait SlickQueryBuilderParameters { } else sql } + def concatenateParameters(sql: SQLActionBuilder, first: Boolean, tail: Seq[AnyRef]): SQLActionBuilder = { + if (tail.nonEmpty) { + if (!first) { + concatenateParameters(sql concat sql""",${tail.head}""", false, tail.tail) + } else { + concatenateParameters(sql"""(${tail.head}""", false, tail.tail) + } + } else sql concat sql")" + } + filter match { case x if isEmpty(x) => sql"" @@ -231,8 +233,7 @@ sealed trait SlickQueryBuilderParameters { } val formattedValues = if (values.nonEmpty) { - val condition = s"(${values})" - sql"#${condition}" + concatenateParameters(sql"", true, values) } else sql"NULL" sql"#${escapeDimension(dimension)}" concat sqlOp concat formattedValues -- cgit v1.2.3