Hi everyone!

On Mon, Apr 06, 2009 at 06:54:54AM -0400, Jay Pipes wrote:
> There are two main things which are important here, both of which I feel
> are critically important and of equal weight:
> 
> 1) Maintaining an easy-to-user interface for the user
> 
> 2) Reducing the complexity of the parser
> 
> For #1, it is important to keep the SHOW commands as *shortcuts* to the
> equivalent but more verbose SELECT ... FROM I_S command.
> 
> For #2, the problem can be solved using a simple aliasing functionality.
>  For example, s/SHOW (DATABASES|SCHEMAS)/SELECT SCHEMA_NAME FROM
> INFORMATION_SCHEMA.SCHEMATA/i

++

> I agree with the previous assessments that relying on existing web
> applications to change from SHOW to the equivalent I_S statement is
> unrealistic and impairs the growth and uptake of Drizzle.  Therefore, it
> seems that a solution which involves libdrizzle (the underlying client
> connection library) is necessary.

Not sure if I agree here. I think a pre-parser plugin/module would
be better than sticking this in the client library. This way we
can still control mappings inside of the server but outside of the
parser. The problem with having it in libdrizzle client is it's easy
to have mix of versions out there in the wild, and harder to add new
mappings. It also means libdrizzle is the only connection method that
would be aware of this... what if a HTTP or Gearman client wanted to
run SHOW commands? Also, what if we have an option in the server-side
libdrizzle to accept MySQL protocol to use old MySQL clients?

This seems like a perfect rewriting module (think Apache mod_rewrite
for databases).

-Eric

_______________________________________________
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