Roy Lyseng wrote: > > > Mats Kindahl wrote: >> >> Padraig O'Sullivan wrote: >>> On Mon, May 4, 2009 at 1:15 AM, Brian Aker <[email protected]> wrote: >>>> Hi! >>>> >>>> On May 3, 2009, at 10:12 PM, Alex Esterkin wrote: >>>> >>>>> The query optimizer and the transaction/lock manager need to process >>>>> views. I don't see how you could implement something like view >>>>> support as a >>>>> plugin... >>>> Views are just a rewrite, and typically are designed as some piece of a >>>> rewrite engine. >>> Like Brian said, view's are normally handled by a query rewriter >>> module. Lots more information on this can be found in section 4.2 of a >>> paper by Stonebraker >>> (http://db.cs.berkeley.edu/papers/fntdb07-architecture.pdf) where he >>> goes in to some detail on query rewriting along with providing ample >>> references to more papers for further information. >>> >>> I'm curious, are there plans for query rewriting to be supported as a >>> plugin? I think it would be kind of cool to implement your own query >>> rewriter which is as complex or simple as you want it to be. I'm >>> guessing a lot of refactoring still needs to be done around the query >>> parser and the optimizer before this is possible though. >> >> I don't know about plans, but once there is a good query tree format >> (and an >> interface to the symbol table for some really useful rewrites), query >> rewrite is >> just a hook away. >> >> I didn't say that is was easy or simple... > > ...and don't expect the query tree format to be const after it has been > defined. It will be changed for each new server version, meaning there > is a high probability that the plugin needs to be changed as well. > Building in version-consistency at this level is probably not worth the > effort.
It depends on the changes, but since SQL is pretty... well standard, I wouldn't assume that JOIN trees suddenly should change structure in a significant way. Apart from that, I don't think that spending any significant effort on making it version-consistent would be worth the effort, but at least major changes should be flagged and means for providing sensible error messages should be available, in the case that the rewrite cannot operate correctly. /Matz > > Thanks, > Roy >> >> /Matz >> >>> -Padraig >>> >>>> Cheers, >>>> -Brian >>>> >>>> >>>> _______________________________________________ >>>> Mailing list: https://launchpad.net/~drizzle-discuss >>>> Post to : [email protected] >>>> Unsubscribe : https://launchpad.net/~drizzle-discuss >>>> More help : https://help.launchpad.net/ListHelp >>>> >>> _______________________________________________ >>> Mailing list: https://launchpad.net/~drizzle-discuss >>> Post to : [email protected] >>> Unsubscribe : https://launchpad.net/~drizzle-discuss >>> More help : https://help.launchpad.net/ListHelp >> -- Mats Kindahl Senior Software Engineer Database Technology Group Sun Microsystems _______________________________________________ Mailing list: https://launchpad.net/~drizzle-discuss Post to : [email protected] Unsubscribe : https://launchpad.net/~drizzle-discuss More help : https://help.launchpad.net/ListHelp

