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.
