Я работаю над переносом приложения Rails в JRuby и HSQLDB. Моя цель - внедрить базу данных и сайт в один JAR-файл для развертывания на клиентских сайтах. У меня есть сайт, хорошо работающий от JAR, с несколькими заметными проблемами.Недопустимый SQL при встраивании HSQLDB в приложение Rails
Когда я следующий с довольно мирской моделью 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)
Кажется, мне ясно, что утверждение COUNT вызывают проблемы в HSQLDB, но я не уверен, какое решение это исправить. SQLite3 и MySQL обрабатывают этот SQL-запрос без проблем.
Я открыт для использования другой базы данных, отличной от HSQLDB, но ее необходимо встраивать в наше приложение на JVM. Это призыв HSQLDB.