Hi,

>> Ah, I see.  I wasn't aware that the logging_pre_do() hook was intended as
>> a transformation hook -- in other words, I thought it was a filtering hook,
>> and could not affect the original query itself.
>> This changes things for me.  I'm frankly not sure about this one...

It felt a bit strange to use a logging_* to rewrite queries. I guess
it would be cleaner to use a different API.

>
> What is the application that needs to be written? We can assign something to
> the location if we know what the need is.

At the very end, the goal is to do all/most of the things I can do
with the MySQL Proxy, but using different drizzle plugins:

* Query rewrite: User sends INSERT INTO TABLE b VALUES ... and the
plugin rewrites that as INSERT INTO TABLE a VALUES
* Query Injection: a user send "Create dataset" and the plugin
replaces that query for several queries:

DROP DATABASE IF EXISTS test;
CREATE DATABASE test;
use test;

create table t1 (
dt datetime not null,
primary key (dt)
);

create table v3 as select null union all select null union all select null;
create table v10 as select null from v3 a, v3 b union all select null;
create table v1000 as select null from v10 a, v10 b, v10 c;
set @n = 0;
insert into t1 select now()-interval @n:=...@n+1 second from v1000 a,v1000 b;


* Resultset manipulation: user sends "select * from
non_existing_table" and instead of returning an error, the plugin
generates a large resultset (wither many rows or large columns.

... And I could keep going, but these should keep me busy for some time :)

Thanks

  -Diego

>
> Cheers,
>        -Brian
>
>



-- 
Diego Medina
Web Developer
http://www.fmpwizard.com

_______________________________________________
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