fix some queries for mysql4 where NOT is interpreted more strict than in mysql5. Thanks Steven for finding this one out!

This commit is contained in:
Reinier Balt 2009-02-08 20:38:27 +01:00
parent 949c746215
commit 324838c1c4
2 changed files with 4 additions and 4 deletions

View file

@ -6,8 +6,8 @@ class Todo < ActiveRecord::Base
belongs_to :recurring_todo
named_scope :active, :conditions => { :state => 'active' }
named_scope :not_completed, :conditions => ['NOT state = ? ', 'completed']
named_scope :are_due, :conditions => ['NOT todos.due IS NULL']
named_scope :not_completed, :conditions => ['NOT (state = ? )', 'completed']
named_scope :are_due, :conditions => ['NOT (todos.due IS NULL)']
STARRED_TAG_NAME = "starred"

View file

@ -59,7 +59,7 @@ class User < ActiveRecord::Base
"SELECT project.id, count(todo.id) as p_count " +
"FROM projects as project " +
"LEFT OUTER JOIN todos as todo ON todo.project_id = project.id "+
"WHERE project.user_id = ? AND NOT todo.state='completed' " +
"WHERE project.user_id = ? AND NOT (todo.state='completed') " +
query_state +
" GROUP BY project.id ORDER by p_count DESC",user_id])
self.update_positions(projects.map{ |p| p.id })
@ -91,7 +91,7 @@ class User < ActiveRecord::Base
end
has_many :completed_todos,
:class_name => 'Todo',
:conditions => ['todos.state = ? and todos.completed_at is not null', 'completed'],
:conditions => ['todos.state = ? AND NOT(todos.completed_at IS NULL)', 'completed'],
:order => 'todos.completed_at DESC',
:include => [ :project, :context ] do
def completed_within( date )