Fwd: Patch for DBD::mysql

Fwd: Patch for DBD::mysql

am 29.04.2011 17:46:02 von Rob Hoelz

--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
> Date: April 21, 2011 3:26:17 PM CDT
> To: patg@patg.net
> 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

Bumping and forwarding to mailing list.
--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

H4sICFDcuk0AA215c3FsLWFzeW5jLnBhdGNoANQ8a3PayLKfl18x8WYDmIcR 5mFM7A2xieNajL2A
s5uqU6USaGR0LSQiCTu+G//3290zIyQQNvaee2oPldhY0vT09Lt7emTalsVK pRs7ZMaeOTbt2bw8
YePoa8Z2Tf6dVWu1+kGjUS43DV6r79eYVqk06/VMqVSKjcsUCoX42A8fWKla KzZYAX5qTfbhQ4aF
D3NucosFU88P2R+Xg9N2hv3MXdO2MixT+Nm22MXX4e89vTP82j+BC4zZ7sRZ mJy9n3uOU54e00WA
Ybuc0VP6yefuyW/6oDu6HvRz0yK7M5wFz/8rU2Dwsa0coKOb42np2Age3In+ bcH9B912dcuxb6Zh
nv0lH8WP6enc9z0f4VQrlUqR7ZwYjmO7N8xgOHzqe663CJi1cCeh7bkM/hnw L35varimw3dg7Oev
AGMn347N4PNw4bssJ7BUdx5hWdwJ+Larw8eJaoUMC0IjtCdAqJDNDT/guruY jbmfm0wNn+0GoQ/Y
F9lwNOh1+8zhbpGJO7sAIQ/0z7DTj+fDUWfU1U+7J73OoNsm5mkHB01kn3bQ OihqVWCgYA7bnT0E
3xzd9PWJ57p8EuYyanUsIvYCEAm4f8d9PbBNrs99DthxdsQ+dXrD7tN8l7Ai 3gGTlhSMTZLKUZii
f93rtdWIxzixxGdvd4nxPWfEEQ904QIXlg2YsQg94JRcHjDYlEyFiyV5FWXC WwC9nTseLMEFHgun
RohgJyAYt5zPWegbk1uYgN1PuQu3bZSR+Zy7QVmoSaVxQIpSOagXD5DQoEWw QqDvbGaHueGXXbgC
zJcL18Nd9TWfIUKxHPBwok+NQJGsiFydWHoHlnJCYPL5TFwCFRuQTCmiRiDo GZCRgpolojzMpMOy
3MAgNQgI9l/A1IiVX7qD4fllXz8/Ze/ZsDuAv/WrQfcK5Evdk4tvNWjxmpZc vA8KPwbCPbl8nPO/
nQANrUIEaOxrRa2lKBCESmekegV38yNY06neGY0G5x/1s+5IH365yhkhqPg4 AHMj9FJqnRy8g4YM
1VwpThA+qZ05mCbPflUCPbwbDa67uV26eviseiOlChJZ9gy2pLyAXj0fjQKN x4Hv3iXmJe3fYCNi
a7IDnUDCvDi2nfLIs0ZJWeE1fwDDpUeIGyL52enQvMFiPke/dm8EzPVCNl7Y Toh22RM6D9MG5DIs
JMzhIbEr7ibWvESlvbRdwpSJH5n4oiweTqa66bn8CAegSO1XmlUUqX2t0iiS RM0e9IXjuTf4n0k5
CcFmhtx3DUfn3/lkEQpJk34D3J43IblBzzJF1x39BTRxvXYqU8ae5zDFhyVV halnSTx87z4gnMkk
o910b9mDt0DNhUDE8nxBONu1vDdsdw+fO9Vx4d+/T3PTvFpsqy4Wu1998WLx M4YwR8f16TcLHgRg
2I+Wgr5+s50Yhyaau6CrjjHhU88xgclHm2/JwY8bBFoRLodkzLNnYhf2Rri6 fILEj5KcUwakg6gl
nErSkWgTxbRKU1Cs1ixqtX8GyZLD/wbt1gxCOzIu9GcimHg2lJDQJIxHIuKL AMRikccVNiVc12jQ
Oenqve6Xbi8nRTzPjo9YNS951tSK+1VgWlVrFWsvl/OlSZGTl8TkOTHQ5zCC sAcTHHiT2yILxgsL
fkLICCYYjDKOwE/ujQwAwUerGAm0kbEfP9QjbDuo4JFL6DVp1NCwuOVznhOm J59uX9a4CBdyyvGB
4DyxBFiBYtumJcAKIs5uBxWWQCNiIoFmDRhfqm4UGvlEZSkX8afiFv/FPIp5 p6f4FHdiW/NKDnpi
qWmLRWO0y4ahB442nGIIHSzAL1q+N6O/f8cp0UTFRuyKh44YemyBHn6TQ39N +uDV+xJ9jFeUUsDc
KzejmGNJZfEw+Tb1VD45Uzw9THk6dhFDBnExJV7AT1Gi9s3B/I1HE6bg9UZS YwWU8J4CjGFZwFxu
6ngxtsTl08m4ZnU8pIxiqJoqkT2tayFJbIrCSg0VYoFyIQP015GuyDIs8dlI s4hWz5lSCeiK+875
JcR/YCwtHNS7PPt0BaHY+Vn/cnDeP2PdweByIAId9ov5LxfiNPoDJiNrJc1p JPkxTSCqldLoU8LL
W2pD6XktKP0N6S8p+58q9aVXS3spwbDNUh7Nv5Tu0pZSXZLSvPZ8ihSX4i5X 8IykE2UGnSC51v0a
pd/7NW1fZKAY48ocTDlRTEIpCZABgUpC4StJlTn6PEgUNVKTSoIAWhHLKLeS 2A3yqsR5h5WOVxCm
6PmXyoHznWQ3t9AxSsjjGlTcvN/Sik1cdv2g2Hzlsl/6eRdFZ5hAjzl39bG3 cM1XwMovNU0ZN+l6
2JLlsTwJ2I4ScrRFeLv9B2kjqFmr7AshalaK2v5/hJxR7DmnJRVfByHKjFct yYvBbQjZtqvCLp0T
aUTnZHT+pat7bk7RJz09xj8f4zFTLK5eZX1Bw4wpFw+b8yVNVm6IiY0KlWL2 G82aTIwkAynJBvZh
QXUz+/6uPrOdf4VLTaY5QXupSLshFt6arPBsFA2KZ5VHwPUs1VJaTvYewtME VyTN+wvHMe7i4cFK
hTW1AHZ8tKEAtsqpDRWaOI9aVUpea5VKa13RLNu1g+mTeiYikjV7nUJfUWvA iiO65ygN3J7sL6F4
e1tKbqolbi9/gpC12oFGhKyDxWrF6UgZ+HzKUuSd7cqvRYY3gTfGTHyljQky QQs3sG9cbhI8yCAs
YCaWA0SpJ+4hNxB4k+Ncq8b+O3xn/LMD/3G/h5uHcUIIHSSatcBAaBUgWqtV BenTkGy4+ojTjkGO
BWQYfplEwWTtWlAQryEGoTF2gDD0i/yZZXPHPBK/6AIWTI/op4yvN9Wq3131 9OBOB2fKLeEbpcrC
xerM80PDSZi+ahD60iYs8V1xKfm8DJSe0BPkcrqgoxYCYuLpQXcIgS/cmUMe I/UjWcwrKI8ka/zw
S14kCKDRFAEmaypL4AynVVAAJ1g9yGQszY7VMZf15jcCpaSlC7B4/S4G71GN oPFU2UbJ+3rVjUQu
DlQ+RY+F+unHpHtTQp9L+DS4wKIq2MbKgRgM2pAcvEGRnoCcIMGWjjlld/TM gKTFp/3R+BaoEICA
gtDkxun65uiaiylp8boIofh0DTTS+hfhugYpjjSmYvc+1tVegfA29UC1TYIS fcRiKqfySZJeFaz6
3JBFqPUyRkyQcUiMCpgGzY+2K4I8XwB5XQa/ucyxnJdSwHk+QdfY4p8ubqzV 1hJjEynhPM47LFOQ
oktNX9ljVs4bE3hFtTUYj4kwSEJNKv9wlKL82+nvCq64rA0R7CrqJA67a4Yt uh1VyMnu26ai1tIP
LKm8KQq5uO6Nzq96XbS98FUfdkdRKLI+I3JZTjJbymGwoc4WkSWeCVhWPBVI FkklF1JqjzFA/esL
/dN5t3c6jADFxYRcbpBLjcs20A833XSTB5Olk0l9bmWLLol0ijjFht4bvgsm S59AlozmQ+CbuLrm
tNsrYrlOl1fpcgqPntPujSZSXhZSDbfIH6VGEob5IAKJl4cN6w7/SfeND/yX uvAtHfjTnvQo3ZPi
B0LFxSRk2INlmcwygxUhXsZbK/Vrhg+XYUzCx5WOXR7C1fb6o/yOuyFWUq8u e73z/hq4KKpDXHLv
YEiRaUVWWS2cx4wme7+SykZUjWkByX8RFyouiWJvqteXxF/BKiHO0WOpFumJ LjPp8Zayjw1m2wUj
MTwibYuh+rQRkGh8Fl1OtmhgsFca22aeuX0glEhl/2aXWgbQNlOaFafLhsOp bFZsmLVxrToulxuN
ujHRmqnNitNks+J0pVlRo2ZFTMBV8yHQaRbclKfHuLF+4s14wO7tcMouHsAx lkwQWoc22TMFuP8J
4kfXuy9iDxiswZwA2aiRoQjZMFEVGWotgGQcjequahYzeYjtZhNjboxtxw5t mMaz6GmaiDn22Dd8
uCxHZXETwXBuUXJCj/bQfpbdg7EUjWnIAup522UjaqgICGisIUXAv4f4mPv0 HN4XhRhYqeOwMcdd
CBOnmfvehAcBk7UZ0SxYF72CDdmCIQ2GMmlBqPaBnvjspkSqzw/aE49Q38nm rqTUsuSdZ5u76clA
rKMChwqiYlikL0LrAHw+MhW3lF9W65J4chfzfQK1rIiQDNapJFOtt7DKkKQj 1l+WdERFYqkbQ23q
/qAeKIy71H5AMPUWjokjEnRL/+ztru0rMZ/SJ+rSSaH/M3DiPCU53cASIk+s cUMx4ZEaVeW+xX5x
n7YtxK4F/45VfFUjWOtNhdhBliB2hU15+hdOIyEmwpHlDjoAxKLI8i6WHZdZ Aggg+C8q/LDV2hmL
B7B/v47SfjZkWlIwYT7Bjuydfjzdo5Hl+QxM4eolaU4rtda4edAEczq2WqbV SprTtUHCrK5dJraJ
jrSqbCUOFmNm+jaoKgj0T/AB5mc71By4wIbKLDs6ZtllnxwbP7ArA25PbtmZ 4YAdBPublUMf87KP
k8U66w4PzTGlOGAhIevg4dQzc1mZ1ZlZ5b62GxDnxyuHAldSRwbhqyd9fqia VCjpW9OfxjY+qxoZ
7WpVbnuibYBwl327zx0iEAyBaacUmaV6JaX9mT3k3lLZ8S2F/tisBd9ldyfk VR/0iCUyOFi4DnqN
txQHYv98LivRnEz55DaG5s9sApiDzTJYduwY7m0Wg0c1L844FTH84aHu8nuK pQUyf2WHChsSoCVy
QkTEBkJN7B8oVwWL03t2EI7QKAe4QLHiiecsZq6O3Ydi1TC3WvTEAKJ7N7h8 wH5mwBeq4eItGpZn
ggYUlL6QAuKBv9LaeR9//FAdk0iJtEf0wLiDPPMpIO3nZok6SesH1FtZbzWW xFqhixIPe2aAB73l
Dy+j2D+dUESGxj71qDfqFaEpuGILPJp9466sWHzeWrf6csHwR7Rm+C4EJXpY EeD12nLe/3Q5uOiM
MAAZnnzuXnTKv3W/6ieXveuLvn497Jx1qSnZME3alWH1cqXciPQp93Zm/A+g NrMh6n4798CnIE66
DA+JgarHRmIHvgsHQWZVZz9+CAiYP9YxIhIg4F5D7po0qw08AVRo1sAHRNZf wV/K0A0PE5Rc2hi8
SuYoIS0vIZbE/tvC9nnChp7x8Bygt5fm5Q7meJvyyOEhovEXrC0XQ+hRjhTD 7krHgl5IIp9beJl/
Y9mTy9NuNknDt3fSFBc+ds/O+8s9Q/bB5dwM4isA0N/u90yQKD3wFj6E3yKh CiCnCgTNvi28kOsQ
9bqhbdkQqI35DYSz955/uxfRC2XWmEyFSpDDYLn12RLJsuthEGpDEArZhhVk E3k2WePFHGY7YjvD
66vu4PBQAt6JpYe7ajJ4DBm9Vmllb9GiB1PbCtMzWsXhzcqQMgifFujlPuiJ um08TcW4EnLSya1x
w1e8axuU64g+jA5IXXT7I3khQ95SUKb9LBNl4EtcpGIgdiRMjWCKIkIX0IXL C3vtZyVBbEzi5qtu
+L7xoBqrnegLWOhAxf46sF10E7xAElQjwP+XKGyUBOHd02QBy1ciEaOnSsdr sU5qmWdFhFJGUtq0
TYFHDH5Opv4ZuvYPVDXwWBolcrre7Z/quigdNLUW1Q6aBxXscEf3YFic5T4+ YN5toOJA1mIHbjYs
5zEPmBt0qoBqFN6cjmGWsBxTCqcoBSUcXpo4NpjCDBYsIHOz7JuFz8tsyLks bUTHN8/ff/bu8bGZ
cYshpwBCKAgYx+AyMzRqZrgLwymjuh9N4SFNbMZ/Hlz2L6+H7Pfr7uC8O0Sm ffUWVNKRMBFdhyer
aVRxYMhPUXxR5wo9ty2OvWDX6H2QKeCJGEAPuDnD7I3hrk/JX7i4AyCh0BGj qGAjzivecTyZSvVU
GOLNMVkEmZzRCRs6iWiHWdyqBb0pM9Zx09CzydH4IagcEJ7bWALIFCDFDRUD sjQqywyZu3FEBqjo
L8LpgziuqkpevfcQs++Z3jETIlrMFDw/eVMGXuoJwCsK6AOZFZii9KbmBVxg xkwBJqSJVJ5iOPfG
AyxvQeBtnxaEFbX4Kp0HQQkxuTSXx0ApmIz6QACBESAnMlWAGXh4UBQCFxIT jiGVjSwzHIlxcJgp
nLxfNy/HRbZ6GegOV5FZ6o5lHpfZhvFS0wJA2AiZCXj4UW3nnko7yPK2OH2K tUZYdaYgqqxY4aMG
ZbWVCstKwyaaQxDT2oQKVQTpiJtD5wRwDf/LfcAJ5ePeDrigG/gluCKhIjBq TjnG2IjQnCbKzZOF
7wOfgSdKuFdPVpNMlpdYAb2WKGNN1QZouB/n2/MQq7Bi9WpDf13PQBUyBdRT dObyrFlSa8qozZ+5
z/FYMNz4bszmMAkQdCqshhiZqtvUX2oZE34o7Dg+aoEIgyVi2cB4yJJtFFGr 6eWyw26vezJiw163
e5XTKvksJLTqWNMx06jMgWAgwnNyYthmDwjwWRbJKrYRHnj4JittceDgqWRR qyc/h15BNrCngRXu
Ecy2NHrnfYiGej1KOODy5tLSnoycU0pMsVvqNQN1PuYH1XK5NTG1iXGApaZG rZZWaooPTik5xW+j
hzloYp8z/YQ/IX5mv1DIfMRkx6/WaBGFq83iavAQ+/zMqFp3djbonuFp+U/X /RMkwVACgRQHgFSe
AhEB6Y26A/308qJzLuvC7KCBo/e3Hz3qfOx1sfsZ6FTVtp+a2scuIB9Bzkdj 0VGBu78VV9YArY0V
S65WcGx1m3k/dkYnn/XB5R+Ql173RwqA9kIAEPhcXQ5GimjVrdf98fLyt4vO 4Df9Csvxw1G3f9JV
p+9RPMSvDfJRaazQqJEypZjnovPn+cX1hWDPUD+HlJzUWmK8X0dIjdqTKKdA 0vudC+xy7J+NPiuk
SN60NFQ2gboeguDEIUnx2Z6MAEmKwcll/+R6MICUSI+So6GSqeqaTK3zeDuA Yq3ayzD8eN7vDL7q
vXNQlE4PF6vIX3sJ+fWTDhi6y7OIZIryBy/C5uRzZ5DAJWExRZX8ewBWTH1V FtFqaoallctWo86b
hpEsvkcPCwsY/UkxNZU44Se9TyC2k7mjtjx34hfBJUKUByEWXce9idjGp+uJ 165E18RmLV1Mf2dL
ygtM/hzmpv/Yd7L8ORR9tPp1/7T7adt3stCSkpvc6y9SEeVDrSXe8FDZFyaG DkdTCQkWklOv8djb
ZT89yg01/D4c5SpY74r177r8fvAFRk5ytA3FRIU+304cjse+FFGyK7BVjKNS 3kbgrrcEL9/EsYbu
K06axD/q5R3y5J4if06T9cJqReyCanVRdKbq/OnHIKIUIPeT3BG4usLS2mHq 6jeunyqnsc5hCHGi
1ioH5gIgwWpXVVEdtV8OvfwDY9a26kZ/g2DwDC6tYV+0E9Q1wXKI76iUGdst oc5uPE8R3BVZuVzO
q9crqDYSxlb3f+e4BbzLqPITqF7StbXQmcGoRxp3AtXZeDngNT19EjeXfw/V Tqc/Sd+9brRetmaB
CtjsUyEfu1jEiq1uuXqQRbxvJR6ItwKmi/sr18sg18KMQjbGxpa+1nJ3dFSR xw3E4Ypqs1qE4KhQ
bWnF/dpLiLH5HSXPv3xFCiLClQc9xMn6L2wX36Qiw38QCOyln8ty9PIlLUNB uNyO6YGlJGwJVDt6
Ac3md7o89/oZAeI/8t4Z9iSWidfO4JDonRsCA4ZzwpTyOIXrqRcmCNqaYzuA bI2PFzfbHDJJHoel
z07k8EEk8htJIg4dpwHYdEYqpQP1BbMVJSHkvCmgNoyVAxWTp3ei2SOX+wwu ZHg3+EJaCJSPKjlA
/VYRWDzofjqBYA/9TaQVedHLR5thEChIORAzbH4R0HMv9kF/aom2rOhNA1u9 +kO0W8beChRFI6Qe
aW8E+ve+DWglNkmedIwOQj19bE5obwhKiUeJhndXX3IxK0Svd5C7vRU8CVyo 117otFjkdaLXi7zG
5MoT4bJr8414fwBwrlRlM27gfgZSXjJw9UnceXyzIi6pY6WVltzCDiU8iy8b 0n+FYA1Y/3/tHf1P
G7nyZ/grXESVcCSwGwKBcHDNQe5d9aCgEPpUcQglYWkjQsJlA22F+N+fZzz2 2rv2ZjdA2/uIqpKs
7fHYHs+MPR8LrqC7/GwrWnGS5F+/culexHxucC/Uh2DqyPmJBEXRFI/KvTxF ciyB3dQTSV7Wq3hT
sb5JAXnQi1J6lJ6jYW/63dJDixYIH5cmKJaPvGpJ1GHHcUwFoqoNqTwy5oTN RSEkhr8UanokFte5
auD7bHnDq5Zq6zBENFtKKuMzjYGCqGmhdtc6ah+Bn3adLS5uL8YUPiMViWPU aRqg+IB+hFgIJ2XU
eG1YwciVTk4NftH1Z/EMxFUIwXpszlBssS8090Y+W1eXYnWlWEY3l2W51MtZ R8h7ed840DUEq5s1
XvUdnbaPT9sEXDQE2QmukCx562dHTy6BRNCdm83uFq6oze7uhtMu81oZzuvU cNfiz6345Nv3VM2w
Qgnn5wjETjy82YDBGeSC1zRdnO2u3An2rKq7c8lFkuMFMselyAuyTVqWGhwG v/FKyy63cy/wh+bJ
7Cv77uhvu6S6mTbbasoOcrLOlBVBb4rDo/3Tg6ZQwqX3Jv8cN/b+C55IOzEn C+litY4OojV+hvRR
Mohov0lC+EXxM8KTFh9isED37upso3rucvd2RtjkS0+RO5NCGj1aaEyRWpSz FrTX/hdloxamvO4A
Ta1kQ0M6DPVUtTedL2R+xeRCJPCkBRCBrMzLIVlCLZVlDcxeQg1CgzGZdEPm b1arG7Vq1aut1byt
9XV/w6+KZCgbG+g1WKutlTbia+m+fDp5f3s/LIqUY5Mx10rhu7gk0oVmfM41 Oue/kuLTybPihJSN
mbmkljOrQ1YGF89WwucnEU9k0M4TJF3uvl5WIn7j7KrTGGoeLQnkmJUIX1Z0 xin2rys6f7C1twnT
TOsrO3ByldQAz5ikjTV1SdqcspbM4oJF1zDn2WZ1XeZ2nwUSk+FmaZZPMJcm asasmmxt3axCMVRQ
zvy1KK7NNEMLa7VZOsWgKIyRaLrSQR5y+n7XpPn2EoUc1LsmWvuZnyiMfENZ RSwLWIz4SVJs3Y/B
BIwnRXHG58ISJn7L9+CCmDJMqYpoZqGDJwbkSzdjfpzsdcLE3HCdaI64RXi/ w0iKxo/u5d1Po1DA
LpFodddAgYtAu5zXXGtkqBCIFqCewtgUXowQ698X4zO2tJ3gDCnNYIlcwf9O ZKfQQ94R+BlR9qYg
it/nyMERVNu5ud541LkuLpwOr4ejz0NAnsEuw9uHOnvdXyhplzaPphV5srpZ Q561wtmj/mueIyQc
oyB8VzrVUHSX+KysXHlbva6/gZbl1cvgfnV4NxiQYVmHBQTslTy27JcqVWAb fIivboPxgJU/g530
vn9TZ1eTHXgEWww8ntpBOKnX94MA7A/Rg8MRXttTzFH0rV7fA2u04jFtEb+P Dfs3Qb3+e78VhBCj
1APnM9g0E/6c7R0cYUKkxkH77SFSie6gTbjcd8bYdHESgJUvHDLxjZeN6Ss4 l34ejS8lhEG/ywqT
QokVVsB/SoYQFPjzlduBcNEF/ylxUxyAHH2AHxigVN6Vt2Cqx5LWZSnWp/Xa HT4PrNXph0ET7zCF
68ExmBr0B9GLDvABeIs9ioGjQy+FJZCkuh1wrT687t+CSRfqL2DC0zoEPvAl 4KKZzxzb6wwLE3CY
4wyM6/yAK7gaPxowy7uKby1qa/ZQMDlF4XEppfeEnIeOs4l5gRCCBARDgLdV wZH3ZUxIVgy5JgI+
/+q+uzzA0G4k/2zgpnAb7MNH5JTf388/84ZAbnucettNxqseH7UarQ8MZSQF KMPYWFHMHx7BPPb2
Xbv5n2arpD30bQ8r8uH8MnTDe4P+R9eGsx9eE/Jnr2Sss8vBUFJ8EaPrxhD2 x7kcJn+UfoT0Vag4
oirEPnUhDIwJAKIt55fGLi4md7HpmAhukm/fcQHYhjEd6XPDdfTT5gkrCvfJ ChiSwJaEHuuI4fS+
xBJDh2KRRtfFIjYt01gpsdw3HoHNDZSvVIaFyjxuIAZauWgKCvzEV6DixET8 LOeBvEmFW6rVf5Qj
kx2X9Dmf6qWanYTNpZ5fLpIP7JKCHwYDzrrhiIxBNspBFx0YuSLAfmsdHWoL WIgDrpgbvbDP2/MN
bm/2UvSkkdMv/F+SnDCBSuUfSi5WOtCY1VRi+CmFCjgcj6aoK8DD154iDBHq JODLl/2YXuAVwb8M
onaEPm3nICFYPwRDEQTPNd+ZBuRgZy89QJ1jpvQw8zS4KNzel9Ib4aZ1h2ph jF4eJLB5tAnLu2fe
uaC5HPsiLwdJYSAGZ4A1FT0IdTLBupz8W4MQA5CHm1pI8WmMMhcFqqHqZFjM yWndZDaFA5u9Wyf6
6Rv+O3POF1neJ8tWDHGKdkR8jrLTT+rcpTLTHGLcubbT1Chp3cisbiVn9vR4 H4472qSeNNvybLPD
T7D/+73ZakYPtra2XLLDvRWycZzUrWSntefC3sonMo/Kvb0zjMoQ/zkJH+i7 xNYi9UR2hvQvz35P
gmrZOm7twqdXo3r0V/6uxJlMfF2S4ozYvM61JTr49KEAmUSPfqNkooVH2vTW OseNVuMQ6/ix8sZh
09UULsUHvbTSu9RSSCSQDntqlbvUKuCS5Sg6bjX33oI7n6P8ZK9x4Bz46cEB XHk4ivc7k063EwZQ
TPdtOmCV+YcXPwNZKCqwbq80aqhmoITeze1Ft/MxQQ5nf35e9SUadKUjMF49 dzQjUpml5Z3WEreg
J/7QL7PlGbsOvobs9YOF1h7ZeWYM7HAUTT4d1J0FlHN0fQiBvyqalM3leaHR ajU+FJI1NAJPq0Z0
nlYlIvd4re9M8eItGkk5IRih9cjSDy8u+bFnIE40fNZ9oQNxbn4+M1yl94yJ FTy5D8ip4u7G6OOP
N887EMruYqFerJ+H6PGh3nAKjoZMVoeqy35I1onthC1pE+mkfMOZXb8cTm4m obQr2Uoy2ZguO2u9
jcuay8ZkhavZm/CVl5nNTTNYl/41Ff2IpiLMngNEtZPTlLP9/KYmVkRMgAPD F74k6ShYTVOb5i3G
jMYfq0WHbC5e3oOxw8RA4Py84Hw7OMGXvNgZx7j18x2nR7rN87WLoKlNtQNq vG3iLtBz9/vK0nFq
U/1gnOw44sSecVYyTIIpfHmLuCTmmimje5JkzNaiTJx5reJdXV2tuzizHbDG mv1N7+/Cm9/Ai6dH
wwtI/0QpVUORck3kibF8+OqK/4ENAsfB9OaTcacXXFwNuLy2PAs5Vxj377n6 dqHyJok0flhH/H9x
E37k0xj2Jxe9T/3B5YVw7OVtVxW6l10TVbioKNoGUaIxDEbDIOnCyEEu6TDv hrYJMPIPis/lKDEf
5huw8FHsFgsSSBkPIAte9EjmxaNHkBkvVktLlidh9UZaLRn+p31kzs9ehxOw wKqHEpDTwmgw6HZ6
11rtKHdiBAASDpgfKYrmlzGlp1hA+dGzpCocYjlSjUfzy4mMoiyR5ZHRK8NC AxEjQJ9jI39GNTA2
ycQ+kTBSpyu+hAm6QhpI6OUifaEO2KzC4gowwTCWNZ4CkQnlVYEcYyI0Az07 iUaJEZmWI7E/HN1N
WCJpokyfJdMkEnEmsibasytq+LwGr87O+GOIKWNQStuYBZeFZwVeUDgn7c3G KrASF+jOSqGtUsQw
Yt3dcN2r8zFQFS38BCtirkD2KKtZ6EXAE8k/CkY9nYhkvVO+/0NVzcImaAx0 aFU1LdwDa9K1uuWP
bBnjKSl9WLjP1JqKKaXWNIh6ak0XTC6k4tUN9uYAbOF66TV1ZuioqVLyxmAm Nd/9Xw9PLsQtlmxs
YYGWtSy8LuB/EXIJLmlrpZmNLC3T+rO0tHDeKS3TSTHJtaeC48cyH9orOfwa Ul6YTCXBJhGqL7vV
mJ82ep8AmzWIJ8oafxRR2+91Bh3IL+ovldhG1dKKtha14l3LOgYPVX0/sAb8 bt/dDgK4rboTzOYc
bMaWxhHHjViS0JHhJk9DBngxiw1SH0IFxxBvgjlxVRO9/tqSMfX/ntB/JGdO 6KbCfrIpu4xhxEyV
SmM6AZXWoDSp0FApQrZp/VFpUtugtmvPfZZXR3lr8uDY+NUKJDJI+o7MkeI6 hXjKolRaHqiHR0jl
fna+rQOlouIbbCWhxD07SmwBjnb4AiuBbIEaFiAZl/meDHZ5l3xh6IgfEzuQ vGthWwZBTfFwlOfs
R9MpJHUGMoJ0T79JBi+7AKDn0kXvjmM1wFV5dBPI1LNwouFbp69yOE8+BV/h HVEily3kNoXsVsgD
gi8TUrj61wEzF/PP8eqsGdZWvzspWJfOsr+NG8ZUy7JzLeM29Kzry5dNrQwi xtQhPSTuSG9r6gZ8
7K/03lI2pMDmJTZkfA0cZtH0NYhx4G8w/1KBcjC4l5lPvr8yUrUWZyAynqtt PAi4FiZGjFUipKYu
gYZpDKsE4thNqPcj11rwBGP8nCfM+K7n1dmpAsZl975RtGHwVdVgBlrKzsIF cVBXcfrD6+aoTN78
qnadtIYdR8sU5yX3zLrF1fPuuEgZyDp7MZ/OCHDOESb0sswjFHpXikHc6RiU mAVh8s3HekzRnsKH
vp9wzs7GRtepb+UwBMNslDebJ7dyAXf4/ZuOatMsL1vecFTWAyz1B5msLEGl uxFUKw4riwEuafY2
jCDwg94AHW7/RWwr/8Rzdf/qBc/UTzhQ+9XtrNGRWcIZPWlSzSoGbG79UfNs PCEdhtMjNmsTEaFh
azGdhWnMJ+oj3VHXipYzcCQlLEJjYP8HoRKjEd6hAAA=

--Apple-Mail-11--632751559
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=us-ascii

-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; =
">


Begin forwarded message:

class=3D"Apple-interchange-newline">
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px;"> font-size:medium; color:rgba(0, 0, 0, 1);">From: style=3D"font-family:'Helvetica'; font-size:medium;">Rob Hoelz < href=3D"mailto:rhoelz@inoc.com">rhoelz@inoc.com>
iv style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px;"> font-size:medium; color:rgba(0, 0, 0, 1);">Date: style=3D"font-family:'Helvetica'; font-size:medium;">April 21, 2011 =
3:26:17 PM CDT
margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"> style=3D"font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, =
1);">To:
font-size:medium;"> href=3D"mailto:patg@patg.net">patg@patg.net
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px;"> font-size:medium; color:rgba(0, 0, 0, 1);">Subject: style=3D"font-family:'Helvetica'; font-size:medium;">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 href=3D"http://Makefile.PL">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-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)

iEYEARECAAYFAk263ToACgkQUoGaR6SGEarDxwCfZbLDKEeSdCyyZS4dasCC B7Mr
RLYAn2r+1aldyATEqZK9WtVhYRTWV/IO
=ynBo
-----END PGP SIGNATURE-----

--Apple-Mail-12--632751515--