Fwd: Patch for DBD::mysql
Rob Hoelz <[email protected]> Fri, 29 Apr 2011 10:46:02 -0500
| Newsgroups | gmane.comp.db.mysql.perl |
|---|---|
| Message-ID | <[email protected]> |
--Apple-Mail-12--632751515 Content-Type: multipart/alternative; boundary=Apple-Mail-10--632751559 --Apple-Mail-10--632751559 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii Bumping and forwarding to mailing list. Begin forwarded message: > From: Rob Hoelz <[email protected]> > Date: April 21, 2011 3:26:17 PM CDT > To: [email protected] > Subject: Patch for DBD::mysql > > Hello Patrick, > > Attached is a patch for DBD::mysql that adds asynchronous query support > on top to DBD-mysql-4.018. It's pretty hefty (about 1500 lines), so > please feel free to contact me if you have any questions or comments > about the code, its formatting, or its acceptability into the DBD-mysql > distribution. Before you get started, I'd like to point out a few > things about the asynchronous interface: > > - It relies on mysql_send_query and mysql_read_query_result, which are > both undocumented, so the code could break with a future MySQL client > library. However, all of the new code is conditionally compiled when > MYSQL_ASYNC is set to 1, so if Makefile.PL detects this and sets > MYSQL_ASYNC appropriately, it shouldn't be an issue. > > - Asynchronous queries conflict with server-side prepared statements. > I don't know of a way around this, but I figured that it's an > acceptable comprimise for the time being. > > - A bit of the code currently relies on poll.h, which may make it more > difficult to build this module on Win32. > > - Calling swap_inner_handle during an async query could break some > things; but I feel like if a user does that knowingly, they're asking > for trouble. > > Other than that, the changes remain backwards compatible with > DBD::mysql. Please let me know what you think! > > -Rob --Apple-Mail-10--632751559 Content-Type: multipart/mixed; boundary=Apple-Mail-11--632751559 --Apple-Mail-11--632751559 Content-Transfer-Encoding: 7bit Content-Type: text/html; charset=us-ascii <html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Bumping and forwarding to mailing list.</body></html> --Apple-Mail-11--632751559 Content-Disposition: attachment; filename=mysql-async.patch.gz Content-Type: application/x-gzip; name="mysql-async.patch.gz" Content-Transfer-Encoding: base64 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 --Apple-Mail-11--632751559 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii <html><head></head><body style=3D"word-wrap: break-word; = -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; = "><br><div><br><div>Begin forwarded message:</div><br = class=3D"Apple-interchange-newline"><blockquote type=3D"cite"><div = style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; = margin-left: 0px;"><span style=3D"font-family:'Helvetica'; = font-size:medium; color:rgba(0, 0, 0, 1);"><b>From: </b></span><span = style=3D"font-family:'Helvetica'; font-size:medium;">Rob Hoelz <<a = href=3D"mailto:[email protected]">[email protected]</a>><br></span></div><d= iv style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; = margin-left: 0px;"><span style=3D"font-family:'Helvetica'; = font-size:medium; color:rgba(0, 0, 0, 1);"><b>Date: </b></span><span = style=3D"font-family:'Helvetica'; font-size:medium;">April 21, 2011 = 3:26:17 PM CDT<br></span></div><div style=3D"margin-top: 0px; = margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span = style=3D"font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, = 1);"><b>To: </b></span><span style=3D"font-family:'Helvetica'; = font-size:medium;"><a = href=3D"mailto:[email protected]">[email protected]</a><br></span></div><div = style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; = margin-left: 0px;"><span style=3D"font-family:'Helvetica'; = font-size:medium; color:rgba(0, 0, 0, 1);"><b>Subject: </b></span><span = style=3D"font-family:'Helvetica'; font-size:medium;"><b>Patch for = DBD::mysql</b><br></span></div><br><div>Hello Patrick,<br><br>Attached = is a patch for DBD::mysql that adds asynchronous query support<br>on top = to DBD-mysql-4.018. It's pretty hefty (about 1500 lines), = so<br>please feel free to contact me if you have any questions or = comments<br>about the code, its formatting, or its acceptability into = the DBD-mysql<br>distribution. Before you get started, I'd like to = point out a few<br>things about the asynchronous interface:<br><br>- It = relies on mysql_send_query and mysql_read_query_result, which are<br> = both undocumented, so the code could break with a future MySQL = client<br> library. However, all of the new code is = conditionally compiled when<br> MYSQL_ASYNC is set to 1, so if <a = href=3D"http://Makefile.PL">Makefile.PL</a> detects this and sets<br> = MYSQL_ASYNC appropriately, it shouldn't be an issue.<br><br>- = Asynchronous queries conflict with server-side prepared statements.<br> = I don't know of a way around this, but I figured that it's an<br> = acceptable comprimise for the time being.<br><br>- A bit of the = code currently relies on poll.h, which may make it more<br> = difficult to build this module on Win32.<br><br>- Calling = swap_inner_handle during an async query could break some<br> = things; but I feel like if a user does that knowingly, they're = asking<br> for trouble.<br><br>Other than that, the changes remain = backwards compatible with<br>DBD::mysql. Please let me know what = you think!<br><br>-Rob<br></div></blockquote></div><br></body></html>= --Apple-Mail-11--632751559-- --Apple-Mail-10--632751559-- --Apple-Mail-12--632751515 content-type: application/pgp-signature; x-mac-type=70674453; name=PGP.sig content-description: This is a digitally signed message part content-disposition: inline; filename=PGP.sig content-transfer-encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (Darwin) iEYEARECAAYFAk263ToACgkQUoGaR6SGEarDxwCfZbLDKEeSdCyyZS4dasCCB7Mr RLYAn2r+1aldyATEqZK9WtVhYRTWV/IO =ynBo -----END PGP SIGNATURE----- --Apple-Mail-12--632751515--