我正在將Rails應用程序移植到JRuby和HSQLDB。我的目標是將數據庫和站點嵌入到單個JAR文件中,以便在客戶站點進行部署。我的網站在JAR上運行得非常好,有一些值得注意的問題。在將HSQLDB嵌入到Rails應用程序時無效的SQL
當我做了一個漂亮的世俗ActiveRecord的模型如下:
@total = SessionLog.count(:id)
我得到以下異常:
ActiveRecord::StatementInvalid (ActiveRecord::ActiveRecordError: Not in aggregate function or group by clause: [email protected] in statement [SELECT count(session_logs.id) AS count_id FROM session_logs WHERE (created_at >= '2010-02-06' AND created_at <= '2010-03-09' AND session_type = 'tunnel_client') ORDER BY id DESC ]:
SELECT count(session_logs.id) AS count_id FROM session_logs WHERE (created_at >= '2010-02-06' AND created_at <= '2010-03-09' AND session_type = 'tunnel_client') ORDER BY id DESC)
似乎很清楚,我認爲計數語句引起的麻煩HSQLDB,但我不確定解決方案是如何解決這個問題的。 SQLite3和MySQL都處理這個SQL語句沒有問題。
我打算使用HSQLDB以外的其他數據庫,但它需要嵌入到JVM上的應用程序中。這是HSQLDB的吸引力。