Hi hackers, The project I'm currently working with fsnapshot[1], is written in plain plpgsql and I need to sort all the oids in their creatable/droppable order. This has already been properly implemented in pg_dump_sort.c using Knuth's algorithm for topological sorting, with some special magic to find and break dependency loops.
It's not possible to use a plain recursive query to do the trick (due to 'i' bidirectional dependencies and dependency loops). I need a general approach, only making use of pg_depend. The function should take no input arguments and the output argument should be oid[], containing a list of the oids in a creatable/droppable or order. It doesn't matter if it is left-to-right, least number of edges first. Any valid topological sort will do. I'm sure it's possible to implement it in plpgsql or plperl, but I wanted to check first if anyone has already made such a function to hopefully save some time? Thanks a lot! [1] https://github.com/gluefinance/fsnapshot -- Best regards, Joel Jacobson Glue Finance -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers