Tim,

Great article. I have also come to the point where I try to put as much logic in my database as possible. The benefits become very obvious once you start the process, one obvious example is restricting input from multiple clients (e.g. web and psql) with no extra coding.

What I was writing to say was that I think it is possible to create recursive PL/PGSQL functions starting with PostgreSQL 7.3.x. I'm not sure if you have looked into that version yet, but if you haven't, I strongly suggest it.

The one flaw with leaving the depedency test in PHP is the same as what you stated previously, somebody with DB access from another client could still "accidentally" create the recursion.

Not to plug PostgreSQL too much , but the new version is great. Another feature that I bet you could really start making use of is table functions. Yes, functions can now actually return result sets with little to no fuss!

I hope to take a look at your project manager software in the near future. Keep up the great work.

Tim Frank