Re: pg_depend explained

Joel Jacobson <joel@gluefinance.com>

From: Joel Jacobson <joel@gluefinance.com>
To: Florian Pflug <fgp@phlo.org>
Cc: pgsql-hackers@postgresql.org
Date: 2011-01-11T22:55:07Z
Lists: pgsql-hackers
2011/1/11 Florian Pflug <fgp@phlo.org>:
> Could you give an example of the kind of trouble you're experiencing trying
> to use a topological sort?

Let's say you have a table t and a view v.
The view v is defined as select * from t;
If we put all objects in a tree, with the public schema as the root,
both v and t will directly under the root, but in reality, v cannot be
created before t.
This is the reason why a normal topological sort doesn't work.
You have to look at the deptype and sort nodes having "internal" edges
between them differently.
The pg_dump source code of course contains all the logic necessary to
do the trick, but it's not that easy to follow.

I guess it's time for plan B, sorting based on oid, no biggie, it will
work for my purpose, but it's damn ugly.

-- 
Best regards,

Joel Jacobson
Glue Finance