2013-04-22 80 views
0

我有一個表有幾列,其中兩個是:vendingMachineId(重複),每個有一個時間戳。使用groupBy在浮油時出現奇怪的例外

我想獲得最新的時間戳每個vendingMachineId所以我這樣做:

def getLastReading(assetIds: List[Int])(implicit db: Session): Map[Int, String] = { 
    val vmrps = (((for { 
     vmrp <- VendingMachineReadingProducts if (vmrp.vendingMachineId inSet assetIds) 
    } yield (vmrp.vendingMachineId, vmrp.timestamp)).sortBy(_._2.desc)).groupBy(x => (x._1, x._2))).map { 
     case (all, q) => all._1 -> all._2 
    }.list 

    vmrps map { 
     case (assetId, timestamp) => { 
     assetId -> (new SimpleDateFormat(DateTimeUtils.defaultDateTimeFormat)).format(timestamp) 
     } 
    } toMap 
    } 

的問題是,我收到一個奇怪的例外:

scala.slick.SlickException: Unexpected node Ref @20339870 -- SQL prefix: select 
    at scala.slick.driver.BasicStatementBuilderComponent$QueryBuilder.toComprehension(BasicStatementBuilderComponent.scala:75) ~[slick_2.10-1.0.0.jar:1.0.0] 
    at scala.slick.driver.BasicStatementBuilderComponent$QueryBuilder.expr(BasicStatementBuilderComponent.scala:285) ~[slick_2.10-1.0.0.jar:1.0.0] 
    at scala.slick.driver.PostgresDriver$QueryBuilder.expr(PostgresDriver.scala:55) ~[slick_2.10-1.0.0.jar:1.0.0] 
    at scala.slick.driver.BasicStatementBuilderComponent$QueryBuilder.buildSelectPart(BasicStatementBuilderComponent.scala:155) ~[slick_2.10-1.0.0.jar:1.0.0] 

有誰知道我做錯了?

回答

0

不確定這是否是同樣的事情,但請參閱this浮油問題。它已經固定在上游,但1.0.0版本仍然存在問題。