On Wed, 30 Apr 2008 19:06:24 +0200 Ivan Sergio Borgonovo <mail@webthatworks.it> wrote:
Interesting. I'm doing the same but I haven't touched core to avoid a further burden in maintenance if I've to keep up with security updates.
Well we try to stay out of that as well if we can but sometimes you just can't (like using Tsearch2).
I think it would be enlightening to see where you exploited more advanced DB functions. Even if I suppose you did with one DB in mind it would still be interesting to know which were the features and where you thought they really fit because D7 should support much more DB features.
Actually it should be fairly easy to do if the API is abstracted out correctly. The things I see needing to be done (and I admit that I haven't even looked at 7): * Abstract out page renders into custom calls. * So the node call checks to see if its predetermined (and thus draws whatever is in the db to draw), like the front page. * Or, if a node load exists (terminology as you like) it would call whatever you want. Case in point, Drupal can easily execute 200 queries to draw a page. Why do we do that? It's dumb and inefficient. You lose 30ms for every single query just in TCP negotiation. You push that to 5 stored procedures that draw blocks, and you have shaved ~ 5 seconds off your load in just negotiation. Add a cached procedure and you could shave another ~ 5 seconds off.
Even if I doubt support for stored procedures is going to find its way into Drupal since the core has to remain DB agnostic
I doubt that is actually an issue. I understand that we have to dumb things down for the dolphin but that doesn't mean the api can't be smart about it. If Catalyst can do it...
and I think providing an abstraction layer to sp is hard some oversight may help to see which are the features that could be more relevant to support... I'm at least thinking to transactions.
Ahh but it can. Remember that even the dolphin has stored procedures. Joshua D. Drake -- The PostgreSQL Company since 1997: http://www.commandprompt.com/ PostgreSQL Community Conference: http://www.postgresqlconference.org/ United States PostgreSQL Association: http://www.postgresql.us/ Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate