thats really weird. I dont have time to check this now but i added ticket 1027 to confirm.
On May 6, 2008, at 5:22 PM, Moshe C. wrote: > I couldn't create a simple test case, but I have analyzed the cause of > the problem. > > The order_by() method is sent a list as an argument, but the argument > 'criterion' becomes a tuple > because of the "def order_by(self, *criterion)" syntax. > > in the case of "if self._aliases_tail:" , 'criterion' becomes a list > again, but if _aliases_tail is None it remains a tuple. > > Now the cause of the problem is that on the first call to order_by(), > self._aliases_tail exists, and on the 2nd call, following the > reset_joinpoint() call, it is None. Therefore the '_order_by member' > is initialized as a list, and later a tuple is attempted to be > concatenated and hence the failure. > > The calling code from my source looks like this: > > myquery = Node.query() > myquery = myquery.join('parent', aliased=True) > > myquery = myquery.order_by(Node.c.name) # > _aliases_tail exists for this call > myquery = myquery.reset_joinpoint().order_by(Node.c.popularity) # > _aliases_tail is None for this call --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---