Richard Huxton <dev@xxxxxxxxxxxx> 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