in reply to Architecture of a Database system

First about the advantages :

The only advantages of this approach (IMHO) are:
Security - malicious code has to navigate an extra layer of obscurity


Ahem... Security through obscurity isn't security...


Safe development - Once the abstraction layer is written,
developers working on higher levels are limited in the damage they can do
(can't "DROP TABLE")


You can achieve the same result without the SQL abstraction layer...
All you need is to provide a restricted API ( in your case the DB function layer)


Now about the disadvantages :

I'd just like to point out that the the Database locked to code problem
isn't bound to the architecture IMHO.
I suppose that even with this architecture
a clean coding could produce a relative database independance
(using list/hash to manage columns...)

Now to answer why, I have several guesses :


"Only Bad Coders Badly Code In Perl" (OBC2IP)