scalikejdbc/scalikejdbc — pull request #266 by cb372 (2014-07-30 10:15:54+00:00)
Title: Add support for Set in SQL interpolation

String interpolation gives surprising results for `Set`s.

```
scala> sqls"x in (${Set(1,2,3)})"
res5: scalikejdbc.interpolation.SQLSyntax = SQLSyntax(value: x in (?), parameters: List(1, 2, 3))

scala> sqls"x in (${Seq(1,2,3)})"
res6: scalikejdbc.interpolation.SQLSyntax = SQLSyntax(value: x in (?, ?, ?), parameters: List(1, 2, 3))
```

This is because of the following code in `SQLInterpolationString`:

```
case t: Traversable[_] => t.map {
case SQLSyntax(s, _) => s
case _ => "?"
}.addString(sb, ", ") // e.g. in clause
```

(`Set(1, 2, 3).map(case _ => "?")` results in the 1-element `Set("?")`)

Fixed by adding a special case for `Set[_]`.