Когда я пытаюсь вызвать хранимую процедуру из Rails, я получаю следующее исключение:
ActiveRecord::StatementInvalid: Mysql::Error: PROCEDURE pipeline-ws_development.match_save_all can't return a result set in the given context: call match_save_all()
from /Users/otto/Projects/Futures/src/pipeline-ws/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:150:in `log'
from /Users/otto/Projects/Futures/src/pipeline-ws/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:281:in `execute'
from (irb):3
В Rails Wiki есть страница, где обсуждается патч для адаптера MySQL, который решает эту проблему, но он устарел и, похоже, больше не работает.
Код конфигурации правильно разрешает хранимые процедуры, но он все еще имеет проблему с синхронизацией соединения после вызова хранимой процедуры, и новый метод call_sp
больше не работает.
Любые предложения о том, как заставить это работать?
Это код, который я использую:
ActiveRecord::Base.connection("call storedproc()")
Выдает одно и то же исключение независимо от того, возвращает ли * 1016 какие-либо результаты или нет.