lib/thinking_sphinx/deltas/default_delta.rb in pixeltrix-thinking-sphinx-1.1.5 vs lib/thinking_sphinx/deltas/default_delta.rb in pixeltrix-thinking-sphinx-1.2.1
- old
+ new
@@ -9,23 +9,25 @@
end
def index(model, instance = nil)
return true unless ThinkingSphinx.updates_enabled? &&
ThinkingSphinx.deltas_enabled?
+ return true if instance && !toggled(instance)
config = ThinkingSphinx::Configuration.instance
client = Riddle::Client.new config.address, config.port
+ rotate = ThinkingSphinx.sphinx_running? ? "--rotate" : ""
+ output = `#{config.bin_path}#{config.indexer_binary_name} --config #{config.config_file} #{rotate} #{delta_index_name model}`
+ puts(output) unless ThinkingSphinx.suppress_delta_output?
+
client.update(
core_index_name(model),
['sphinx_deleted'],
{instance.sphinx_document_id => [1]}
- ) if instance && ThinkingSphinx.sphinx_running? && instance.in_core_index?
+ ) if instance && ThinkingSphinx.sphinx_running? && instance.in_both_indexes?
- output = `#{config.bin_path}indexer --config #{config.config_file} --rotate #{delta_index_name model}`
- puts output unless ThinkingSphinx.suppress_delta_output?
-
true
end
def toggle(instance)
instance.delta = true
@@ -35,14 +37,15 @@
instance.delta
end
def reset_query(model)
"UPDATE #{model.quoted_table_name} SET " +
- "#{@index.quote_column(@column.to_s)} = #{adapter.boolean(false)}"
+ "#{model.connection.quote_column_name(@column.to_s)} = #{adapter.boolean(false)} " +
+ "WHERE #{model.connection.quote_column_name(@column.to_s)} = #{adapter.boolean(true)}"
end
def clause(model, toggled)
- "#{model.quoted_table_name}.#{@index.quote_column(@column.to_s)}" +
+ "#{model.quoted_table_name}.#{model.connection.quote_column_name(@column.to_s)}" +
" = #{adapter.boolean(toggled)}"
end
protected