Ah, this is a bug...

Thinking Sphinx is smart enough to set all sphinx_internal_id attributes to be 
the same data type (to allow searching across multiple models) - so if one is a 
bigint, the others are too. This only happens when the configuration file is 
generated, though...

Ideally though, Sphinx shouldn't try to update that attribute - it's not like 
it ever changes value. I'll try to get it fixed now...

-- 
Pat

On 03/08/2011, at 10:12 PM, rene wrote:

> We currently try to index multiple models in our rails-project with
> Sphinx and run into a problem with ThinkingSphinx.
> 
> Our indexed models all have Integer as datatype for the primarykey in
> the database (which is then mapped by ThinkingSphinx to the
> sphinx_internal_id) - except one model - this has BIGint as its
> datatype.
> 
> Exactly this model is causing us big problems with ThinkingSphinx -
> because the sphinx_internal_id -datatype in the sphinx-config is
> automatically set to "sql_attr_bigint" - and not only for this single
> model - it's set for all models.
> If we don't index the "bigint"-model - the sphinx_internal_id-datatype
> of all other models in the sphinx-config is "sql_attr_uint" - if we
> index it - the sphinx_internal_id-datatype of all models is
> "sql_attr_bigint".
> 
> So far so good :-) - the problem occurs when we want to save one of
> these models (doesn't matter which model it is). ThinkingSphinx is
> trying to do some after-save-hooks and do some update-stuff and
> crashes with this error-message:
> 
> searchd error (status: 1): index track_core: attribute
> 'sphinx_internal_id' can not be updated (must be boolean, integer,
> timestamp, or MVA)
> 
> StackTrace for it looks like this:
> riddle (1.4.0) lib/riddle/client.rb:668:in `request'
> riddle (1.4.0) lib/riddle/client.rb:422:in `update'
> thinking-sphinx (2.0.3) lib/thinking_sphinx/active_record/
> attribute_updates.rb:44:in `update_index'
> thinking-sphinx (2.0.3) lib/thinking_sphinx/active_record/
> attribute_updates.rb:23:in `block in update_attribute_values'
> thinking-sphinx (2.0.3) lib/thinking_sphinx/active_record/
> attribute_updates.rb:16:in `each'
> thinking-sphinx (2.0.3) lib/thinking_sphinx/active_record/
> attribute_updates.rb:16:in `update_attribute_values'
> activesupport (3.0.7) lib/active_support/callbacks.rb:456:in
> `_run_save_callbacks'
> activerecord (3.0.7) lib/active_record/callbacks.rb:273:in
> `create_or_update'
> 
> 
> If we don't index the Bigint-Model -> everything goes fine.
> 
> Do you have any idea how we can solve this problem? Is there any
> specific config we have to do?
> 
> thanks for your help!
>  rené
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Thinking Sphinx" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/thinking-sphinx?hl=en.
> 

-- 
You received this message because you are subscribed to the Google Groups 
"Thinking Sphinx" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/thinking-sphinx?hl=en.

Reply via email to