ActiveRecord SystemStackError:堆栈级别太深

时间:2012-11-15 18:40:40

标签: ruby-on-rails ruby-on-rails-3

使用ruby ruby​​ 1.9.3p194,rails 3.2.8,postgresql 9.2

控制器以此查询终止

@jobs = Job.select([:user_id, :job_actual_wall_time, :job_processor_count, :job_requested_memory, :job_started_at, :job_ended_at]).joins(:account).where("(job_started_at between :start_date and :end_date) or 
   (job_ended_at between :start_date and :end_date  ) or 
   (job_started_at < :start_date and job_ended_at > :end_date)", 
   {start_date: @start_date, end_date: @end_date}).where(:account_id => account_id).order(:user_id).order(:job_started_at)

其中@start_date是2012年7月1日,@ end_date是2012年7月4日,account_id = 8

我可以在控制台上手动设置变量,并且查询执行时没有错误(该间隔中有大约95,000个作业)。如果我将结束日期设置为一天,那么大约有50,000个此类作业,并且在查询中执行。这似乎是所要求的记录数量。

不知道在哪里调试这个。在SO上似乎没有这样的问题;但如果有,请指出我。

0 个答案:

没有答案