28
votes

I am trying out Slick 3.0.0-RC1 and I'm running in to an odd problem.

Such is my code:

import slick.driver.SQLiteDriver.api._
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.Await
import scala.concurrent.duration.Duration

lazy val db = Database.forURL(
  url = "jdbc:sqlite:thebase.db",
  driver = "org.sqlite.JDBC"
)

case class Issue(id: Option[Int], name: String)     

class IssueTable(tag: Tag) extends Table[Issue](tag, "issue"){
  def id = column[Int]("issue_id", O.PrimaryKey)
  def name = column[String]("name")
  def * = (id.?, name) <> (Issue.tupled, Issue.unapply _)
}

val issueQuery = TableQuery[IssueTable]

Await.result(db.run(issueQuery.result), Duration.Inf) // This does not compile

The error is:

"Cannot resolve symbol result"

Reading the docs I can't really see why this should fail. Am I missing something here?

Resolution

szeiger pointed out that this could be a bug in 'IntelliJ's presentation compiler', and that was spot on.

4
What does "compile" mean here? There is a known bug in IntelliJ's presentation compiler which prevents it from finding the method. The actual Scala compiler should be able to compile it.szeiger
You are right on the money. I never bothered to compile with sbt as IDEA gave me an error. Thanks!brujoand
Too bad IntelliJ doesn't get it. Ruins everything when using it for a large project where IDE is a must. Which is kinda the whole point - to get compile time checking and autocompletionskornfridge
Note for people encountering the same unresolved symptom "result": you may (as i did) have forgotten to import apianmorand
For me importing slick.driver.MySQLDriver.api._ solved the problem.Everton Mendonça

4 Answers

11
votes

I did hit the same problem and here is what I did to get rid of it:

  1. Updated IntelliJ to version 14.1.3
  2. Used Scala Plugin version 1.5

My scala version is 2.11.6

I hope this helps somebody who might run into the same problem!

3
votes

If someone is facing a similar issue:

no result method on TableQuery

DOUBLE check whether you have import slick.jdbc.PostgresProfile.api._

0
votes

This is a regular problem I faced quite often with IntelliJ IDEA .

If using activator, the command - "activator idea" helped me resolve the issue.

It re-created the .idea and IdeaProject.iml files and then re-loaded the project. I currently use activator-1.3.4

-4
votes

You may try

val result = db.withSession(implicit session => issueQuery.list)