HSQLDBをRailsアプリに埋め込んでいる間、SQLを無効にしました
-
18-09-2019 - |
質問
RailsアプリのJrubyとHSQLDBへの移植に取り組んでいます。私の目標は、顧客サイトで展開するために、単一のJARファイル内にデータベースとサイトを埋め込むことです。私は瓶から非常にうまく機能しているサイトがあり、いくつかの顕著な問題があります。
かなりありふれたActiverCordモデルで以下を行うとき:
@total = SessionLog.count(:id)
次の例外が得られます。
ActivereCord :: StatementInValid(ActivereCord :: ActivereCORDERROR:集約関数またはグループではありません節:org.hsqldb.expression@7be117eb inステートメント[Select count(session_logs.id)as count_id from Session_logs 06 'およびcreated_at <=' 2010-03-09 'およびsession_type =' tunnel_client ')id desc]:
SELECT(session_logs.id)as count_id from session_logs where(created_at> = '2010-02-06'およびcreated_at <= '2010-03-09'およびsession_type = 'tunnel_client')ID descによる注文)
カウントステートメントがHSQLDBのトラブルを引き起こしていることは明らかですが、これを修正するための解決策が何であるかはわかりません。 SQLite3とMySQLはどちらも問題なくこのSQLステートメントを処理します。
HSQLDB以外の別のデータベースを使用することはできますが、JVM上のアプリケーションに埋め込む必要があります。それがHSQLDBの魅力です。
解決
おそらく、ActiverCordアダプターでバグを見つけました - activerecord-jdbchsqldb-adapter
私が想定し。
いくつかの非ルビーSQLセッションでSQLを直接実行してみてください。その後、それがどこで間違っているのかを確認し、バグまたは(より良い)を提出することができるかもしれません。