Final refactoring on Query#sql_for_field to rename v to value

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2092 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Eric Davis 2008-12-05 22:56:13 +00:00
parent a464d26e73
commit 956437b7fe
1 changed files with 14 additions and 14 deletions

View File

@ -320,14 +320,14 @@ class Query < ActiveRecord::Base
private private
# Helper method to generate the WHERE sql for a +field+ with a value (+v+) # Helper method to generate the WHERE sql for a +field+ with a +value+
def sql_for_field(field, v, db_table, db_field, is_custom_filter) def sql_for_field(field, value, db_table, db_field, is_custom_filter)
sql = '' sql = ''
case operator_for field case operator_for field
when "=" when "="
sql = "#{db_table}.#{db_field} IN (" + v.collect{|val| "'#{connection.quote_string(val)}'"}.join(",") + ")" sql = "#{db_table}.#{db_field} IN (" + value.collect{|val| "'#{connection.quote_string(val)}'"}.join(",") + ")"
when "!" when "!"
sql = "(#{db_table}.#{db_field} IS NULL OR #{db_table}.#{db_field} NOT IN (" + v.collect{|val| "'#{connection.quote_string(val)}'"}.join(",") + "))" sql = "(#{db_table}.#{db_field} IS NULL OR #{db_table}.#{db_field} NOT IN (" + value.collect{|val| "'#{connection.quote_string(val)}'"}.join(",") + "))"
when "!*" when "!*"
sql = "#{db_table}.#{db_field} IS NULL" sql = "#{db_table}.#{db_field} IS NULL"
sql << " OR #{db_table}.#{db_field} = ''" if is_custom_filter sql << " OR #{db_table}.#{db_field} = ''" if is_custom_filter
@ -335,25 +335,25 @@ class Query < ActiveRecord::Base
sql = "#{db_table}.#{db_field} IS NOT NULL" sql = "#{db_table}.#{db_field} IS NOT NULL"
sql << " AND #{db_table}.#{db_field} <> ''" if is_custom_filter sql << " AND #{db_table}.#{db_field} <> ''" if is_custom_filter
when ">=" when ">="
sql = "#{db_table}.#{db_field} >= #{v.first.to_i}" sql = "#{db_table}.#{db_field} >= #{value.first.to_i}"
when "<=" when "<="
sql = "#{db_table}.#{db_field} <= #{v.first.to_i}" sql = "#{db_table}.#{db_field} <= #{value.first.to_i}"
when "o" when "o"
sql = "#{IssueStatus.table_name}.is_closed=#{connection.quoted_false}" if field == "status_id" sql = "#{IssueStatus.table_name}.is_closed=#{connection.quoted_false}" if field == "status_id"
when "c" when "c"
sql = "#{IssueStatus.table_name}.is_closed=#{connection.quoted_true}" if field == "status_id" sql = "#{IssueStatus.table_name}.is_closed=#{connection.quoted_true}" if field == "status_id"
when ">t-" when ">t-"
sql = date_range_clause(db_table, db_field, - v.first.to_i, 0) sql = date_range_clause(db_table, db_field, - value.first.to_i, 0)
when "<t-" when "<t-"
sql = date_range_clause(db_table, db_field, nil, - v.first.to_i) sql = date_range_clause(db_table, db_field, nil, - value.first.to_i)
when "t-" when "t-"
sql = date_range_clause(db_table, db_field, - v.first.to_i, - v.first.to_i) sql = date_range_clause(db_table, db_field, - value.first.to_i, - value.first.to_i)
when ">t+" when ">t+"
sql = date_range_clause(db_table, db_field, v.first.to_i, nil) sql = date_range_clause(db_table, db_field, value.first.to_i, nil)
when "<t+" when "<t+"
sql = date_range_clause(db_table, db_field, 0, v.first.to_i) sql = date_range_clause(db_table, db_field, 0, value.first.to_i)
when "t+" when "t+"
sql = date_range_clause(db_table, db_field, v.first.to_i, v.first.to_i) sql = date_range_clause(db_table, db_field, value.first.to_i, value.first.to_i)
when "t" when "t"
sql = date_range_clause(db_table, db_field, 0, 0) sql = date_range_clause(db_table, db_field, 0, 0)
when "w" when "w"
@ -364,9 +364,9 @@ class Query < ActiveRecord::Base
Time.now.at_beginning_of_week Time.now.at_beginning_of_week
sql = "#{db_table}.#{db_field} BETWEEN '%s' AND '%s'" % [connection.quoted_date(from), connection.quoted_date(from + 7.days)] sql = "#{db_table}.#{db_field} BETWEEN '%s' AND '%s'" % [connection.quoted_date(from), connection.quoted_date(from + 7.days)]
when "~" when "~"
sql = "#{db_table}.#{db_field} LIKE '%#{connection.quote_string(v.first)}%'" sql = "#{db_table}.#{db_field} LIKE '%#{connection.quote_string(value.first)}%'"
when "!~" when "!~"
sql = "#{db_table}.#{db_field} NOT LIKE '%#{connection.quote_string(v.first)}%'" sql = "#{db_table}.#{db_field} NOT LIKE '%#{connection.quote_string(value.first)}%'"
end end
return sql return sql