Hi Sergey
Looks like a bug to me. I'll try to look into it this week.
--
Pat
On 02/11/2009, at 5:45 PM, Sergey Avseyev wrote:
>
> Yes in the example app I have no data, but what about irregular lines
> from real app?
> How can I avoid TS generate this line?
>
> CONCAT_WS(',', IFNULL(`events`.`space_id`, `iterations`.`space_id`,
> `task_entities`.`space_id`, `wiki_pages`.`space_id`, 0))
> --
>
> Best regards,
> Sergey Avseyev
>
>
>
> On Sat, Oct 31, 2009 at 05:50, Pat Allan <[email protected]>
> wrote:
>>
>> Hi Sergey
>>
>> Do you have any data for the polymorphic association? Thinking Sphinx
>> doesn't know which tables to join to, otherwise.
>>
>> --
>> Pat
>>
>> On 31/10/2009, at 12:50 AM, Sergey Avseyev wrote:
>>
>>>
>>> Hi all,
>>>
>>> I have several model in my application and each model can be
>>> commentable. I need to define index in Comment entity, which will
>>> contain field from associated model (polymorphic association).
>>>
>>> I my working project TS generate wrong SQL expression for comment
>>> index:
>>> http://pastie.org/private/jkmlltoaoxioizpeecxnw
>>> source comment_core_0
>>> {
>>> type = mysql
>>> sql_host = localhost
>>> sql_user = root
>>> sql_pass =
>>> sql_db = demo_development
>>> sql_sock = /var/run/mysqld/mysqld.sock
>>> sql_query_pre = UPDATE `comments` SET `delta` = 0 WHERE `delta` = 1
>>> sql_query_pre = SET NAMES utf8
>>> sql_query = SELECT `comments`.`id` * 25 + 16 AS `id` ,
>>> CAST(`comments`.`contents` AS CHAR) AS `contents`, `comments`.`id`
>>> AS
>>> `sphinx_internal_id`, 1539927024 AS `class_crc`, IFNULL
>>> ('1539927024',
>>> 0) AS `subclass_crcs`, 0 AS `sphinx_deleted`, CONCAT_WS(',',
>>> IFNULL(`events`.`space_id`, `iterations`.`space_id`,
>>> `task_entities`.`space_id`, `wiki_pages`.`space_id`, 0)) AS
>>> `space_id`
>>> FROM `comments` LEFT OUTER JOIN `events` ON `events`.id =
>>> `comments`.commentable_id AND `comments`.`commentable_type` =
>>> 'Event'
>>> LEFT OUTER JOIN `iterations` ON `iterations`.id =
>>> `comments`.commentable_id AND `comments`.`commentable_type` =
>>> 'Iteration' LEFT OUTER JOIN `task_entities` ON
>>> `task_entities`.id =
>>> `comments`.commentable_id AND `comments`.`commentable_type` =
>>> 'TaskEntity' LEFT OUTER JOIN `wiki_pages` ON `wiki_pages`.id =
>>> `comments`.commentable_id AND `comments`.`commentable_type` =
>>> 'WikiPage' WHERE `comments`.`id` >= $start AND `comments`.`id` <=
>>> $end AND `comments`.`delta` = 0 GROUP BY `comments`.`id` ORDER BY
>>> NULL
>>> sql_query_range = SELECT IFNULL(MIN(`id`), 1), IFNULL(MAX(`id`), 1)
>>> FROM `comments` WHERE `comments`.`delta` = 0
>>> sql_range_step = 10000000
>>> sql_attr_uint = sphinx_internal_id
>>> sql_attr_uint = class_crc
>>> sql_attr_uint = sphinx_deleted
>>> sql_attr_multi = uint subclass_crcs from field
>>> sql_attr_multi = uint space_id from field
>>> sql_query_info = SELECT * FROM `comments` WHERE `id` = (($id -
>>> 16) / 25)
>>> }
>>>
>>> Wrong part is:
>>> CONCAT_WS(',', IFNULL(`events`.`space_id`, `iterations`.`space_id`,
>>> `task_entities`.`space_id`, `wiki_pages`.`space_id`, 0))
>>>
>>> Then I tried reproduce the problem on clean environment
>>> (http://github.com/avsej/sphinx_test)
>>> In this case TS doesn't generate any index for comment entity you
>>> can
>>> see it there
>>> http://github.com/avsej/sphinx_test/blob/master/config/development.sphinx.conf
>>>
>>> Where am I wrong?
>>>
>>> --
>>>
>>> Best regards,
>>> Sergey Avseyev
>>>
>>>>
>>
>>
>>>
>>
>
> >
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---