Yay! It works now without any monkey-patching.

Many thanks for your support, Pat!

-Timo

On Fri, Sep 2, 2011 at 03:02, Pat Allan <[email protected]> wrote:
> Okay, this is now fixed in the latest commits to both branches, if anyone 
> wants to give it a spin.
>
> --
> Pat
>
> On 31/08/2011, at 5:16 PM, Pat Allan wrote:
>
>> Ah, I think you've got it - the bin_path setting hasn't come into play when 
>> ThinkingSphinx::Attribute is defined, and I'm pretty sure that's the problem.
>>
>> I'll try to get a fix out in the next 24 hours - but your workaround looks 
>> pretty good in the meantime.
>>
>> Thanks for the help Timo :)
>>
>> --
>> Pat
>>
>> On 31/08/2011, at 4:22 PM, Timo Virkkala wrote:
>>
>>> Loading development environment (Rails 3.0.9)
>>> irb(main):001:0> Riddle.loaded_version
>>> => "2.0.1"
>>> irb(main):002:0> Riddle.loaded_version.to_i
>>> => 2
>>>
>>> No problems there. I'm just wondering - Riddle seems to check the
>>> loaded version by running the indexer binary. But at what time does it
>>> load the bin_path from the configuration? Could it be that at the time
>>> the SphinxTypeMappings map is built, the bin_path is not yet known? Or
>>> does it maybe run the indexer at that point with a wrong path?
>>>
>>> -Timo
>>>
>>> On Wed, Aug 31, 2011 at 02:20, Pat Allan <[email protected]> wrote:
>>>> Looks like it - can you check the value of Riddle.loaded_version in 
>>>> script/console?
>>>>
>>>> --
>>>> Pat
>>>>
>>>> On 30/08/2011, at 10:39 PM, Timo Virkkala wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> The problem persists with 2.0.7.
>>>>>
>>>>> I investigated further. The current monkey-patch I need to get things
>>>>> working is:
>>>>>
>>>>> class ThinkingSphinx::Attribute
>>>>> SphinxTypeMappings[:string] = :sql_attr_string
>>>>> end
>>>>>
>>>>> So, it seems that setting that in ThinkingSphinx::Attribute somehow
>>>>> fails. Normally the code in ThinkingSphinx::Attribute checks
>>>>> Riddle.loaded_version.to_i > 1 and sets that if the result is true.
>>>>>
>>>>> Could it be that Riddle.loaded_version fails at that point?
>>>>>
>>>>>
>>>>> -Timo
>>>>>
>>>>>
>>>>> On Tue, Aug 30, 2011 at 13:44, Pat Allan <[email protected]> 
>>>>> wrote:
>>>>>> Right - the sphinx_internal_class shouldn't be sql_attr_str2ordinal, but 
>>>>>> sql_attr_string. That's the problem, but as for the cause... can you try 
>>>>>> the latest TS gem release instead of Github? v2.0.7
>>>>>>
>>>>>> --
>>>>>> Pat
>>>>>>
>>>>>> On 30/08/2011, at 7:23 PM, Timo Virkkala wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I'll try to create a minimal example and post that somewhere.
>>>>>>> Meanwhile, some snippets from the current conf file:
>>>>>>>
>>>>>>> source brand_core_0
>>>>>>> {
>>>>>>> [...]
>>>>>>> sql_query = SELECT [...] 3717453404 AS `class_crc`, IFNULL('Brand',
>>>>>>> '') AS `sphinx_internal_class` [...]
>>>>>>> [...]
>>>>>>> sql_attr_uint = class_crc
>>>>>>> sql_attr_str2ordinal = sphinx_internal_class
>>>>>>> [...]
>>>>>>> }
>>>>>>>
>>>>>>> Is that what you were looking for? That's from a table which does not
>>>>>>> have STI. One STI table has the following:
>>>>>>>
>>>>>>> source party_core_0
>>>>>>> {
>>>>>>> [...]
>>>>>>> sql_query = SELECT [...]  CASE IFNULL(`parties`.`type`, '') WHEN
>>>>>>> 'Person' THEN 863032384 WHEN 'Organization' THEN 3655317636 ELSE
>>>>>>> 1213489636 END AS `class_crc`, IFNULL(`parties`.`type`, '') AS
>>>>>>> `sphinx_internal_class` [...]
>>>>>>> [...]
>>>>>>> sql_attr_uint = class_crc
>>>>>>> sql_attr_str2ordinal = sphinx_internal_class
>>>>>>> [...]
>>>>>>> }
>>>>>>>
>>>>>>> -Timo
>>>>>>>
>>>>>>> On Tue, Aug 30, 2011 at 11:58, Pat Allan <[email protected]> 
>>>>>>> wrote:
>>>>>>>> Hi Timo
>>>>>>>>
>>>>>>>> Thanks for getting back to me. Can you share your 
>>>>>>>> development.sphinx.conf file in a gist or similar? Make sure you 
>>>>>>>> remove the database password from each source.
>>>>>>>>
>>>>>>>> --
>>>>>>>> Pat
>>>>>>>>
>>>>>>>> On 29/08/2011, at 7:50 PM, Timo Virkkala wrote:
>>>>>>>>
>>>>>>>>> Hi Pat,
>>>>>>>>>
>>>>>>>>> And thanks for the quick reply. Yeah, it happens in all environments. 
>>>>>>>>> We do have some STI with a column called 'type' in one table. But the 
>>>>>>>>> problem exists even when I limit indexing to only one of our models 
>>>>>>>>> (and remove the older index files), and that one doesn't have a 
>>>>>>>>> column called 'type'.
>>>>>>>>>
>>>>>>>>> -Timo
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>>>> Groups "Thinking Sphinx" group.
>>>>>>>>> To view this discussion on the web visit 
>>>>>>>>> https://groups.google.com/d/msg/thinking-sphinx/-/2ebUP3XjggEJ.
>>>>>>>>> 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.
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> 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.
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> 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.
>>>>
>>>>
>>>
>>> --
>>> 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.
>>
>
> --
> 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