Jay Pipes wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Alex Esterkin wrote:
Jim,

+1 and two enthusiastic thumbs up.

However, quoted identifiers is a minor issue compared to prior SQL standard
feature amputations.  The Drizzle wiki page list the following SQL features
as already removed:

   - Views
   - Triggers
   - Prepared Statements
   - Stored Procedures

What is the benefit of removing these features?

Hi!

Did Monty and Brian provide a satisfactory answer to your question,
Alex?  Basically, it boils down to pushing features out into the plugin
ecosystem instead of having everything in the kernel..

Let's talk a bit about prepared statements. Prepared statements are OK by themselves, but the primary benefit comes from caching, reusing, and sharing compiled statements. This requires some substantial structural changes far beyond the scope of a plugin. But once those structural changes have been made, the amount of code to implemented prepared / cached statements is quite small, consisting of:

   * Locating a compiled statement in the cache (including validating
     name resolution)
   * Validating security for a statement instance
   * Invalidating cached statements during metadata operations.

Personally, I think caching compiled prepared statements is a huge win, vastly reducing the cost of bulk loads (enough to get rid of the existing horrible mechanism) and giving a performance boost for code that uses parameters, reducing the threat of SQL insertion. I don't think, however, that it is feasible as a plugin.

Views are trivial and should disappear during semantic analysis. I believe view retrieval in the Netfrastructure engine is under a couple of dozen lines. Hardly worth the overhead of a plugin interface. Updateable views are something else again, and something I wouldn't bother with.

Triggers and stored procedures? Plugins, definitely. Even better, multiple plugins to foster competition among trigger/procedure languages.

--
Jim Starkey
President, NimbusDB, Inc.
978 526-1376


_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to