Richard Huxton <dev@archonet.com> writes:
> jef peeraer wrote:
>> registratie=# select * from module_info where type_module_id in
>> (select * from get_parent_type_modules(1));
>> The order is completely ignored, although there is an order by in the view
>> 'module_info'
> You're applying a where clause to the output of your view - filtering it
> after the sort is done. If that filter is e.g. by a hash then the result
> will be in a different order (or at least might be).
Yeah, that IN-clause will in fact be turned into a join. EXPLAIN would
give more info about what's happening, but I suspect the planner chose
to do the join via mergejoin, which would sort the inputs by the join
columns ...
regards, tom lane