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