This bug is actually a showstopper for me. Until it is fixed, I cannot
migrate our project to DM 0.10. Does anyone on this list have some
suggestions on how this should be fixed? I am willing to dive in cold, but
having a few pointers up front would be great.
Thanks.

..tony..

On Fri, Sep 25, 2009 at 2:16 PM, Tony Mann <[email protected]> wrote:

> First, the quick synopsis. Datamapper is generating this query:
> SELECT COUNT(*) FROM `crawled_pages`
> INNER JOIN `recruiters` ON `board_accounts`.`recruiter_id` =
> `recruiters`.`id`
> INNER JOIN `crawling_runs` ON `crawled_pages`.`crawling_run_id` =
> `crawling_runs`.`id`
> INNER JOIN `board_accounts` ON `crawling_runs`.`board_account_id` =
> `board_accounts`.`id`
> WHERE  `board_accounts`.`board_id` = 'board1'
>
> MySQL is not happy with this, since the INNER JOINs are in the wrong order.
> If I change the order of the JOINs around, the query works:
>
> SELECT COUNT(*) FROM `crawled_pages`
> INNER JOIN `crawling_runs` ON `crawled_pages`.`crawling_run_id` =
> `crawling_runs`.`id`
> INNER JOIN `board_accounts` ON `crawling_runs`.`board_account_id` =
> `board_accounts`.`id`
> INNER JOIN `recruiters` ON `board_accounts`.`recruiter_id` =
> `recruiters`.`id`
> WHERE  `board_accounts`.`board_id` = 'board1'
>
> This has nothing to do with dm-aggregate, as I can repro the problem using
> Model.all.
>
> Here is the code that generates the errant query:
>
> CrawledPage.count('crawling_run.board_account.board_id' => 'board1')
>
> And here are the models (extraneous code removed):
>
> class CrawledPage
>   property :id, Serial
>   belongs_to :crawling_run
> end
>
> class CrawlingRun
>   property :id, Serial
>   belongs_to :board_account
>   has n, :crawled_pages
> end
>
> class BoardAccount
>   property :id, Serial
>   belongs_to :board
>   belongs_to :recruiter, :nullable => true
>   has n, :crawling_runs
> end
>
> class Recruiter
>   property :id, Serial
>   has n, :board_accounts
> end
>
> Anyone know if this has been fixed in 0.10.1 or filed as a ticket? If I
> want to fix this, any suggestions where to dive in?
>
> Thanks.
>
> ..tony..
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"DataMapper" 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/datamapper?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to