in reply to Re^8: How to interpolate sql-output
in thread How to interpolate sql-output

If the query is faster. so be it. IMO, the join is clearer even at the cost of .3 milliseconds. :)

Usually there should be vacuuming of some kind. Just transfer old to history.

Vacuuming is an admission of defeat. I cringe when i see "history" tables. The best way is to have a column mentioning status. "Active" flags are a step in the right direction, but would be better as a date recording the removal, a name of who removed it, a reason of why, the id of what superseded it, etc. That acts as both a flag and gives some useful information. Even better would be to include a status fked to a status table, which can included more statuses as time goes on. After that, a good index helps with speed.

Do you have any projects in mind, where Perl-code is stored in db?

No. Just seen it before. Last case i saw was tcl. Made distribution and setup easy, however.

There is ofc limit how much views etc one should put to db.

Why? Postgresql does not list any such limit. And, as views are pseudo objects used to store queries, define business objects, and help with columnar-rights, there actually should be--when the project calls for it--a plethora a views. A good naming scheme could easily keep everything in order.

Sometimes it's better to do with code than in db.

Formatting and processing, yes. Querying and permissions, no. The database handles accessing and retrieving the data, the ui displays it to the user.

Views are nice, when you want to limit permission of some user.

To be clear, they are nice when you want to limit the data the user sees. Permissions are already handled natively.