module ActiveRecord::IndexHint::Model::ClassMethods
Public Instance Methods
force_index(*index_names)
click to toggle source
# File lib/active_record/index_hint/model.rb, line 19 def force_index(*index_names) force_indexes = validate_index_lists(*index_names) from_index :force, *force_indexes end
ignore_index(*index_names)
click to toggle source
# File lib/active_record/index_hint/model.rb, line 14 def ignore_index(*index_names) ignore_indexes = validate_index_lists(*index_names) from_index :ignore, *ignore_indexes end
use_index(*index_names)
click to toggle source
# File lib/active_record/index_hint/model.rb, line 10 def use_index(*index_names) from_index :use, *index_names end
Private Instance Methods
from_index(index_hint, *index_lists)
click to toggle source
# File lib/active_record/index_hint/model.rb, line 32 def from_index(index_hint, *index_lists) from "#{quoted_table_name} #{index_hint.upcase} INDEX (#{index_lists.join ', '})" end
validate_index_lists(*index_names)
click to toggle source
# File lib/active_record/index_hint/model.rb, line 26 def validate_index_lists(*index_names) index_lists = index_names.compact raise ActiveRecord::IndexHint::StatementInvalid, "You have an error in your SQL syntax; Please, set index_names" if index_lists.blank? index_lists end