http://qs321.pair.com?node_id=390965


in reply to New twist for DBD::mysql

Patricks modifications will not go to CPAN right now; I want to have an alpha/beta period first, and then I will put it up on CPAN -- There has jsut been too much code churn and not enough testing to put it directly on CPAN.

And I am still not all too happy with the way the embedded driver is being handled. The embedded driver compiles into the DBD::mysql namespace which means that you can only have one of the regular or embedded driver installed -- talk about suck. So I am trying to decide on how to handle this: maybe DBD::mysql::embeded, DBD::mysqlembed (and then how to acutually do it cleanly)? Of course you still will probably not be able to use both in the same application. The embedded stuff is probably not big enough of issue to hold up the alpha, though.

That being said, there will be a bugfix version going up to CPAN shortly which should fix a few makefile issues with Mac OSX, Red Hat 9 with default perl, and a fix to column info when using later version of mysql.

And there is also 3.0 version of DBD::mysql is in the works, and it is very close to going up for an Alpha/Beta cycle. These are the changes that I was working on while Patrick was adding prepared statement support (So this version still needs to have his latest prepare() patch merged in)

As for LIMIT ?,?. The reason why it was not supported since 2.9002 is that it allowed for sql injection attacks, and it is not trivial to fix, in fact, I *just* scanned over Patrick's code and found a bug in the LIMIT handling code (grrr, I really hate this LIMIT stuff). I am of 1/2 a mind to make it optional because all of the complaints (and vitriol, and invective) that I have recieved about this one change -- What do you think of $dbh->{allow_sql_injection_attacks} ;) Of course, this whole issue should go away when you are using prepared_statements, and I'd rather just say that you have to use prepared statements before you get the LIMIT ?,? stuff (Assuming that the sever gets support for LIMIT ?,? with prepared statements). And the truth is, you could always use LIMIT ?; you just had to call bind_param() once to set the types before you started executing.

Replies are listed 'Best First'.
Re^2: New twist for DBD::mysql
by Anonymous Monk on Sep 15, 2004 at 04:21 UTC
    Its more than ok to put up alphas/betas on cpan for testing, so as long you name them properly (underscore or letter in name, as in 1.01_2, or 1.01a).