Well that wasn't too bad. I wrote a patch and sent you a pull request. I don't have mysql installed here so I can't run those specs until monday, but I'll double check that I didn't break anything then. Doug
On Jan 24, 8:28 pm, Doug <[email protected]> wrote: > I'll take a stab at it, on first look though it looks like it'll take > some serious refactoringf. Wish me luck! :) > Doug > > On Jan 24, 7:35 pm, Pat Allan <[email protected]> wrote: > > > Hi Doug > > > I don't think anyone's really paid attention to this before... so it's > > not a known bug, but you're right, it should be fixed. MySQL will very > > likely do the same thing, but everything's abstracted enough that you > > won't be restructuring the raw SQL, but re-ordering method calls > > instead. If you want to have a go at making a patch, would love to see > > it :) > > > Cheers > > > -- > > Pat > > > On 25/01/2009, at 3:37 AM, Doug wrote: > > > > That's a mouthful, so I'll just show an example of what I mean: > > > > define_index do > > > indexes [:address, amenities.name], :as => :full_text > > > end > > > > where amenities is some variety of has_many association. In > > > postgresql this produces the following sql in the config file: > > > > array_to_string(array_accum(COALESCE("properties"."address", '') || ' > > > ' || COALESCE("amenities"."name", '')), ' ') > > > > Which when run returns a string of the form: "address first_amenity > > > address second_amenity address third_amenity" which while function > > > ends up making a much larger index than is needed. The correct SQL > > > would be: > > > > COALESCE("properties"."address", '') || ' ' || array_to_string > > > (array_accum(COALESCE("amenities"."name", '')), ' ') > > > > which returns: "address first_amenity second_amenity third_amenity", > > > what you'd expect. I haven't tried this on Mysql, but it looks like > > > it might be doing the same thing. > > > > Has anyone else run into this? Is it a known bug? Can someone verify > > > that this does the same thing in mysql? I'm happy to write up a > > > patch, but I wanted to make sure I was on the right track and no one > > > else is working on it right now. > > > > Thanks, > > > Doug --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
