take(n)で更新件数を絞ることはできないらしい

久々にPlay FrameworkいじっているついでにPlay-Slick導入して、ただJSONをPOSTしてJSONを返すだけの簡単なサービスを書いてみたら、変なところではまった。

// ユニークになるとは限らないクエリ
val q1 = tbl.filter(_.name === name).map(_.color)
val q2 = tbl.filter(_.name === name).map(_.color).take(1)
// これは通る
q1.update("#cccccc")
// これは通らない
q2.update("#cccccc")

更新したい行は一行なのでtakeしたのがまずかった様子。全部書き換えるのが普通だろうし、検索条件の時点で更新したい行しか取れないよう設定しておけということか。
ちなみに、後者を実行するとこんなスタックトレースを吐かれた。
私の英語力では意図するところをつかめなかった。

play.api.Application$$anon$1: Execution exception[[SlickException: A query for an UPDATE statement must resolve to a comprehension with a single table -- Unsupported shape: Comprehension(fetch = None, offset = None)]]
        at play.api.Application$class.handleError(Application.scala:296) ~[play_2.10-2.3.0.jar:2.3.0]
        at play.api.DefaultApplication.handleError(Application.scala:402) [play_2.10-2.3.0.jar:2.3.0]
        at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) [play_2.10-2.3.0.jar:2.3.0]
        at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) [play_2.10-2.3.0.jar:2.3.0]
        at scala.Option.map(Option.scala:145) [scala-library.jar:na]
Caused by: scala.slick.SlickException: A query for an UPDATE statement must resolve to a comprehension with a single table -- Unsupported shape: Comprehension(fetch = None, offset = None)
        at scala.slick.driver.JdbcStatementBuilderComponent$QueryBuilder.buildUpdate(JdbcStatementBuilderComponent.scala:313) ~[slick_2.10-2.0.2.jar:2.0.2]
        at scala.slick.driver.JdbcProfile$$anonfun$updateCompiler$1.apply(JdbcProfile.scala:34) ~[slick_2.10-2.0.2.jar:2.0.2]
        at scala.slick.driver.JdbcProfile$$anonfun$updateCompiler$1.apply(JdbcProfile.scala:34) ~[slick_2.10-2.0.2.jar:2.0.2]
        at scala.slick.jdbc.JdbcMappingCompilerComponent$JdbcCodeGen$$anonfun$apply$2.apply(JdbcMappingCompilerComponent.scala:42) ~[slick_2.10-2.0.2.jar:2.0.2]
        at scala.slick.jdbc.JdbcMappingCompilerComponent$JdbcCodeGen$$anonfun$apply$2.apply(JdbcMappingCompilerComponent.scala:41) ~[slick_2.10-2.0.2.jar:2.0.2]