Firstly: the reason the multiplication exists is to ensure Sphinx has  
completely unique ids across all documents.

That said, the problem's still annoying - but 987074798 * 3 is larger  
than the maximum for a *signed* integer, so I'm wondering if that's  
the problem. Can you provide the error output, just so it's clear  
whether it's Sphinx or PostgreSQL that's causing the problem?

-- 
Pat

On 05/08/2009, at 11:23 AM, uros wrote:

>
> I'm having the same problem and don't know how to get over it. I'm
> using sphinx with postgres on windows.
>
> My problem is a model, that has id '987074798' and higher. Currently
> I'm not using any fixtures, but I did in the past, so that probably
> the cause for high values in ps sequences for primary keys in most
> tables.
>
> Anyway, the funny thing is if I index only this model, then index is
> built correctly. But if I index several models, it fails building
> index for this model with the following message:
> ERROR: index 'section_core': sql_range_query: ERROR:  integer out of
> range
>
> After looking at the generated *.sphinx.conf, I think that problem
> might be in recalculations of the ID field in the sql_query setting:
> 'SELECT "sections"."id" * 3 + 1 AS "id"
> It seems as this multiplication by 3 is causing the problem, because
> when I index only problematic model, I get no errors and index is
> built. Altough it is strange because calculated value (987074798 *3)
> doesn't exceed 4 bytes for uint.
>
> I must say I'm new to TS in sphinx itself, so any help would be
> appreciated!
>
>
> On Jul 30, 7:56 pm, David <[email protected]> wrote:
>> Thanks for the reply Pat.
>>
>> I finally figured out what's going on. And I think I have a few extra
>> gray hairs now too!
>>
>> Apparently, rails migrations use a column type of "serial" in  
>> postgres
>> for table ids. These serial fields are 4 bytes (ergo they go from 1  
>> to
>> 2147483647). However, loading fixtures picks random numbers like
>> 541702176 which is much bigger than 4 bytes and which is why sphinx's
>> indexer was flipping out.
>>
>> I guess the solution would be to either A) use a bigger column type  
>> or
>> B) don't use fixtures in production (or if you must, give your
>> fixtures an id).
>>
>> I hope that helps anyone else with the same problem that searches
>> google.
>>
>> On Jul 29, 4:57 am, Pat Allan <[email protected]> wrote:
>>
>>> Yeah, it was the first problem that out-of-the-ordinary... although
>>> I'm surprised the id causing the problem was so small (it's not
>>> anywhere close to hitting the maximum value of a 32-bit integer).
>>> Still, using normal ids is definitely the best way to go.
>>
>>> Good to know you've got it all sorted.
>>
>>> --
>>> Pat
>>
>>> On 28/07/2009, at 6:44 PM, David wrote:
>>
>>>> I actually solved the hanging problem. I properly indexed my  
>>>> tables.
>>
>>>> I also can solve the first problem by changing the ids to  
>>>> reasonable
>>>> numbers. Setting "sql_range_step: 10000000" does not seem to  
>>>> solve the
>>>> problem.
>>
>>>> The id in question is 541702176.
>>
>>>> Thanks.
>>
>>>> On Jul 28, 9:46 am, David <[email protected]> wrote:
>>>>> Hi guys,
>>
>>>>> I guess this is not really a thinking sphinx problem but I am  
>>>>> having
>>>>> sometroubleindexing my tables (when I run "rake ts:index").
>>
>>>>> The first error I get is:
>>
>>>>> ERROR: index 'user_core': sql_range_query: ERROR:  integer out of
>>>>> range
>>>>>  (DSN=pgsql://root:*...@localhost:5432/
>>>>> robertson_scholars_development).
>>
>>>>> The second error I get is that it hangs whenindexinga model:
>>
>>>>> distributed index 'assignment' can not be directly indexed;  
>>>>> skipping.
>>>>> indexingindex 'custom_field_type_core'...
>>
>>>>> It just freezes. There's only 20 records in the table.
>>
>>>>> I know when I run "index .... --all" I get the same problems so  
>>>>> that
>>>>> leads me to believe something's up with sphinx and not TS.  
>>>>> However,
>>>>> any help on how I can debug these errors would be highly  
>>>>> appreciated.
>>
>>>>> Thanks.
>>
>>>>> David
>
> >


--~--~---------~--~----~------------~-------~--~----~
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