Осталось присоединиться к скалакеру на sqlite - PullRequest
1 голос
/ 27 ноября 2010

Я использую scalaquery для базы данных sqlite (с драйвером zentus jdbc ), но когда я выбираю с левым соединением, я получаю следующее исключение:

Caused by: java.sql.SQLException: unrecognized token: "{"
    at org.sqlite.DB.throwex(DB.java:288)
    at org.sqlite.NativeDB.prepare(Native Method)
    at org.sqlite.DB.prepare(DB.java:114)
    at org.sqlite.PrepStmt.<init>(PrepStmt.java:37)
    at org.sqlite.Conn.prepareStatement(Conn.java:231)
    at org.sqlite.Conn.prepareStatement(Conn.java:224)
    at org.scalaquery.session.Session$class.prepareStatement(Session.scala:25)
    at org.scalaquery.session.BaseSession.prepareStatement(Session.scala:92)
    at org.scalaquery.StatementInvoker.results(StatementInvoker.scala:59)
    ...

Мой запрос:

val qSong = for{
  Join(song,score) <- Songs leftJoin Scores on (_.hash is _.hash)
  __ <- Query orderBy song.title
} yield song.title ~ song.difficulty ~ song.level ~ song.mode ~ score.perfect ~ score.great

И когда я распечатываю сгенерированный запрос, он дает мне следующее:

SELECT "t2"."title","t2"."difficulty","t2"."level","t2"."mode","t3"."perfect","t3"."great" FROM {oj "song" "t2" left outer join "score" "t3" on ("t2"."hash"="t3"."hash")} ORDER BY "t2"."title"

Кажется, это происходит из части {oj, которую драйвер не делаетт ручкой.Так есть ли способ сделать левое соединение без ключевого слова oj?Или есть другой драйвер, который его обрабатывает?

Спасибо.

...