MySQL driver

Benoit St-Jean via Pharo-dev <[email protected]> Mon, 6 Apr 2015 15:53:50 +0000 (UTC)
Newsgroups gmane.comp.lang.smalltalk.pharo.devel,gmane.comp.lang.smalltalk.squeak.general,gmane.comp.lang.smalltalk.squeak.seaside,gmane.comp.lang.smalltalk.squeak.beginners,gmane.comp.lang.smalltalk.squeak.french,gmane.comp.lang.smalltalk.squeak.seaside.devel,gmane.comp.lang.smalltalk.pharo.user
Message-ID <mailman.3796.1428335616.16920.pharo-dev_lists.pharo.org@lists.pharo.org>
Received: from nm41.bullet.mail.ne1.yahoo.com ([98.138.120.48]:52182)
	by cloud6.emwd.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.85)
	(envelope-from <bstjean-/[email protected]>) id 1YesCR-0006LN-0Z
	for [email protected]; Sun, 05 Apr 2015 17:35:23 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
	t=1428269711; bh=zFyxeJi9SDec8FCtHNMRYQEj830xbN0gg7BsfepKGdE=;
	h=Date:From:Reply-To:To:Subject:From:Subject;
	b=G7zAsOJcSQNs8Kzi0Bwmpf08m7NBfb9fa9TFgYQEFFFM+4J/Zqj4Fj7JX6bgudgntaSM5cMfXGX1QSNH7jQe5maS9CPpgZxjqIjyy9KIFKEGm/gZtGJUkVSMQAYHFOYkjXSoQQHS82TEIvfKT55SJScKZFYkzcVUdtHtK5lHyMBSiul59uYlEyeAGh6YgUbb16A3z87CrdYRikF6bE5TZ/znnTbW6N3UVT2FhH2qvgyTK7Q3SPduYj0YQLF7YmlbyjSYcWwIkWaYgZXXB0Wx9FoBpFoqIDiqbNHKnPJqk/YbqMhwdRY8tUTDvKm7ENEq4aWgmQDFDtRQm/FbsQYCIg==
Received: from [127.0.0.1] by nm41.bullet.mail.ne1.yahoo.com with NNFMP;
	05 Apr 2015 21:35:11 -0000
Received: from [98.138.100.118] by nm41.bullet.mail.ne1.yahoo.com with NNFMP;
	05 Apr 2015 21:32:18 -0000
Received: from [66.196.81.173] by tm109.bullet.mail.ne1.yahoo.com with NNFMP;
	05 Apr 2015 21:32:17 -0000
Received: from [98.139.212.232] by tm19.bullet.mail.bf1.yahoo.com with NNFMP;
	05 Apr 2015 21:32:17 -0000
Received: from [127.0.0.1] by omp1041.mail.bf1.yahoo.com with NNFMP;
	05 Apr 2015 21:32:17 -0000
X-Yahoo-Newman-Property: ymail-4
X-Yahoo-Newman-Id: 759552.70241.bm-zxHIB+d+qG/[email protected]
X-YMail-OSG: 7QY8CpQVM1loW_QgbbE4Zm9WSYWBXdTUwgdej897Uj.d8wuuxkAisalDdDutWnd
	Idyr3aN8Wbo2e1UxGSpl5stPCN1sQhruXa7rZc0D5u0glHM7ZZshlAsDANkbNJpf3XSj4mBCAWjt
	FJFJGSi5PIvlu_FbScHDXvrmUtRKvGbCmIdZiNiSN1AbyVuiRoPiuM1ycMlRKEd93Fcr0r2DPG.e
	Ef6d2G7GCBRm_nW5B9YKJPnNrd1tSaRUhC3pjaOuwHa7GKkFDFnp5rad2grZBbJhYScBuupKN_JO
	mvf1Tml8IDKZywaE.Vit1JICm66fS9SnAp5i7gRF.Bw9osphgmvTNi7v7mawVz4rHuK8cVZPUHDe
	AE8A2mU1m5SiSN1O8ACcKPZdyp2.LegvxYigm3wb1mbQpuTdDOe1meaaZq3iir3QAU7ncOCauPc5
	4NapE0k5_MzFWnvkG9xlNfHev1pSQom7z3xf0gv8YIQFfWOvdZaMnqXdo2WD1YBs76AITIIlaWgy
	.k1DupxfO7q7ZcMf8qWyONtrgLsD6fwqyOKe_tYr56VbB6awcd578nrHHEyiPl8X9dmoJeAKW3tA
	TX5RMz0XaS07KrJVEmRh.S8Pc394sfhI6l7qvyq56EY6mHeEroTMLXfEq_.IBJBWAiEsrSDu6wSv
	6o9KYMqpR.smnGDdqZ.ZuKqlJxsGgWc6_A.gpD236ZX5jqtIFFYfF8eYX4q4zPgRlP8oYarOPYmr
	_KP8-
Received: by 66.196.81.120; Sun, 05 Apr 2015 21:32:17 +0000 
Date: Sun, 5 Apr 2015 21:32:05 +0000 (UTC)
From: Benoit St-Jean <bstjean-/[email protected]>
Reply-To: Benoit St-Jean <bstjean-/[email protected]>
To: "squeak-dev-bD51WKytQuJI8mQ4nJOOf3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org"
	<squeak-dev-bD51WKytQuJI8mQ4nJOOf3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>, 
	"seaside-bD51WKytQuJI8mQ4nJOOf3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org" <seaside-bD51WKytQuJI8mQ4nJOOf3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>, 
	"beginners-bD51WKytQuJI8mQ4nJOOf3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org"
	<beginners-bD51WKytQuJI8mQ4nJOOf3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>, 
	"glorp-development-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org"
	<glorp-development-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>, 
	"news-bD51WKytQuJI8mQ4nJOOf3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org" <news-bD51WKytQuJI8mQ4nJOOf3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>, 
	"squeak-fr-bD51WKytQuJI8mQ4nJOOf3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org"
	<squeak-fr-bD51WKytQuJI8mQ4nJOOf3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>, 
	"[email protected]" <[email protected]>, 
	"squeakdbx-bD51WKytQuJI8mQ4nJOOf3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org"
	<squeakdbx-bD51WKytQuJI8mQ4nJOOf3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>, 
	"seaside-dev-bD51WKytQuJI8mQ4nJOOf3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org"
	<seaside-dev-bD51WKytQuJI8mQ4nJOOf3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>, 
	"[email protected]" <[email protected]>, 
	"[email protected]" <[email protected]>
Message-ID: <72006322.214966.1428269525412.JavaMail.yahoo-sAHhhX/[email protected]>
Subject: MySQL driver
MIME-Version: 1.0
Content-Type: multipart/alternative; 
	boundary="----=_Part_214965_1617172645.1428269525406"
Content-Length: 12963
X-Mailman-Approved-At: Mon, 06 Apr 2015 11:53:35 -0400

------=_Part_214965_1617172645.1428269525406
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Often times, I have to work with Smalltalk (pick your favorite one) and MyS=
QL.=C2=A0 I have to deal with multiple versions of MySQL and, unfortunately=
, incompatible code between Squeak and Pharo.=C2=A0=20

I'm thinking of rewriting the MySQL driver to handle different MySQL versio=
ns (3.23 up to 5.7), Squeak (3.x up to 4.6) and Pharo (1.0 up to 4.0). Obvi=
ously, I'd make sure the driver would handle the different MySQL handshake =
protocols, password encryption methods and different storage engines (MyISA=
M, InnoDB and MEMORY) as well as partitions, MERGE tables and views and the=
 oooooh-soooo-different behaviors of the ZEROFILL option and ever-changing =
server commands (that come and go between versions)!=C2=A0=20

I already have a gazillion versions of MySQL servers installed and a bunch =
of SUnit tests (for another project of mine) to handle all the subtleties o=
f those different versions.=C2=A0 Is there any interest in such a thing bef=
ore I spend (quite) some time on this?

I created 2 polls to get an idea of what versions of MySQL people use as we=
ll as MySQL & Pharo versions used.=C2=A0 Please, fill out the 2 polls at:=
=20

MySQL et Squeak et Pharo

| =C2=A0 |
| =C2=A0 |  | =C2=A0 | =C2=A0 | =C2=A0 | =C2=A0 | =C2=A0 |
| MySQL et Squeak et PharoDans l'=C3=A9ventualit=C3=A9 d'une r=C3=A9=C3=A9c=
riture du driver de MySQL pour Squeak et Pharo, j'aimerais avoir une id=C3=
=A9e de ce que les gens utilisent!=C2=A0 R=C3=A9pondez aux so... |
|  |
| View on endormitoire.wordpress... | Preview by Yahoo |
|  |
| =C2=A0 |

 =C2=A0=C2=A0P.S.=C2=A0 Sorry for the cross posting!

-----------------
Beno=C3=AEt St-Jean
Yahoo! Messenger: bstjean
Twitter: @BenLeChialeux
Pinterest: benoitstjean
IRC: lamneth
Blogue: endormitoire.wordpress.com
"A standpoint is an intellectual horizon of radius zero".=C2=A0 (A. Einstei=
n)

------=_Part_214965_1617172645.1428269525406
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<html><body><div style=3D"color:#000; background-color:#fff; font-family:ti=
mes new roman, new york, times, serif;font-size:16px"><div dir=3D"ltr" id=
=3D"yui_3_16_0_1_1428261435748_32988"><span id=3D"yui_3_16_0_1_142826143574=
8_33012">Often times, I have to work with Smalltalk (pick your favorite one=
) and MySQL.&nbsp; I have to deal with multiple versions of MySQL and, unfo=
rtunately, incompatible code between Squeak and Pharo.&nbsp; <br id=3D"yui_=
3_16_0_1_1428261435748_33037" style=3D"" class=3D""><br id=3D"yui_3_16_0_1_=
1428261435748_33036" style=3D"" class=3D"">I'm thinking of rewriting the My=
SQL driver to handle different MySQL versions (3.23 up to 5.7), Squeak (3.x=
 up to 4.6) and Pharo (1.0 up to 4.0). Obviously, I'd make sure the driver =
would handle the different MySQL handshake protocols, password encryption m=
ethods and different storage engines (MyISAM, InnoDB and MEMORY) as well as=
 partitions, MERGE tables and views and the oooooh-soooo-different behavior=
s of the ZEROFILL option and ever-changing server commands (that come and g=
o between versions)!&nbsp; <br id=3D"yui_3_16_0_1_1428261435748_33035" styl=
e=3D"" class=3D""><br id=3D"yui_3_16_0_1_1428261435748_33034" style=3D"" cl=
ass=3D"">I already have a gazillion versions of MySQL servers installed and=
 a bunch of SUnit tests (for another project of mine) to handle all the sub=
tleties of those different versions.&nbsp; Is there any interest in such a =
thing before I spend (quite) some time on this?<br id=3D"yui_3_16_0_1_14282=
61435748_33033" style=3D"" class=3D""><br id=3D"yui_3_16_0_1_1428261435748_=
33032" style=3D"" class=3D"">I created 2 polls to get an idea of what versi=
ons of MySQL people use as well as MySQL &amp; Pharo versions used.&nbsp; P=
lease, fill out the 2 polls at: <br id=3D"yui_3_16_0_1_1428261435748_33031"=
 style=3D"" class=3D""><br id=3D"yui_3_16_0_1_1428261435748_33030" style=3D=
"" class=3D""><a id=3D"yui_3_16_0_1_1428261435748_33013" href=3D"https://en=
dormitoire.wordpress.com/2015/04/05/mysql-et-squeak-et-pharo/">MySQL et Squ=
eak et Pharo</a></span></div><div id=3D"yui_3_16_0_1_1428261435748_33023" d=
ir=3D"ltr"><span id=3D"yui_3_16_0_1_1428261435748_33012"><br></span></div><=
div id=3D"yui_3_16_0_1_1428261435748_33068" dir=3D"ltr"><span id=3D"yui_3_1=
6_0_1_1428261435748_33012"></span></div><div style=3D"width:450px; font-fam=
ily: 'Georgia', 'Times', 'Times New Roman', 'serif';margin-top:5px; margin-=
bottom: 5px; background-color: #ffffff;" id=3D"enhancrCard_0" class=3D"link=
-enhancr-attachment link-enhancr-element" contenteditable=3D"false"><table =
id=3D"yui_3_16_0_1_1428261435748_33056" class=3D"link-enhancr-element" styl=
e=3D"width:450px; height:170px; position: relative; display: block;" border=
=3D"0" cellpadding=3D"0" cellspacing=3D"0"><tbody id=3D"yui_3_16_0_1_142826=
1435748_33055"><tr class=3D"link-enhancr-element"><td class=3D"link-enhancr=
-element" colspan=3D"8" style=3D"height: 1px; background-color: #e5e5e5; fo=
nt-size: 1px; border-collapse: collapse;"><div class=3D"link-enhancr-elemen=
t" style=3D"height: 1px; background-color: #e5e5e5; font-size: 1px; line-he=
ight:0px;">&nbsp;</div></td></tr><tr id=3D"yui_3_16_0_1_1428261435748_33054=
" class=3D"link-enhancr-element"><td rowspan=3D"5" class=3D"link-enhancr-el=
ement" style=3D"width: 1px; background-color: #e5e5e5; font-size: 1pt; bord=
er-collapse: collapse;"><div class=3D"link-enhancr-element" style=3D"width:=
 1px; background-color: #e5e5e5; font-size: 1pt;">&nbsp;</div></td><td id=
=3D"yui_3_16_0_1_1428261435748_33053" class=3D"link-enhancr-element" rowspa=
n=3D"5" style=3D"vertical-align: middle; width: 168px; height: 168px; backg=
round-color: #000000;border-collapse: collapse;"><div id=3D"yui_3_16_0_1_14=
28261435748_33052" class=3D"link-enhancr-element" style=3D"width: 168px;" a=
lign=3D"center"><a id=3D"yui_3_16_0_1_1428261435748_33051" href=3D"https://=
endormitoire.wordpress.com/2015/04/05/mysql-et-squeak-et-pharo/" class=3D"l=
ink-enhancr-card-urlWrapper link-enhancr-element" style=3D"text-decoration:=
 none !important; color: #000000 !important;"><img data-id=3D"28d9b517-620c=
-2917-591b-6b8ccbacfb18" id=3D"yui_3_16_0_1_1428261435748_33050" alt=3D"ima=
ge" src=3D"https://secure.gravatar.com/blavatar/99ab04ae0ebee6e35febcbefbdd=
ea63c?s=3D200" class=3D"link-enhancr-thumbnail-image link-enhancr-element" =
style=3D"display: block; margin: auto;" height=3D"168" width=3D"168"></a></=
div></td><td rowspan=3D"5" class=3D"link-enhancr-element" style=3D"width: 1=
px; background-color: #e5e5e5; font-size: 0pt; border-collapse: collapse;">=
<div class=3D"link-enhancr-element" style=3D"width: 1px; background-color: =
#e5e5e5; font-size: 1pt;">&nbsp;</div></td><td rowspan=3D"5" class=3D"link-=
enhancr-element" style=3D"width: 14px; background-color: #ffffff; font-size=
: 0pt; border-collapse: collapse;"><div class=3D"link-enhancr-element" styl=
e=3D"width: 14px; background-color: #ffffff; font-size: 14pt;">&nbsp;</div>=
</td><td colspan=3D"2" class=3D"link-enhancr-element" style=3D"height: 6px;=
 background-color: #ffffff; font-size: 0pt; border-collapse: collapse;"><di=
v class=3D"link-enhancr-element" style=3D"height: 6px; background-color: #f=
fffff; font-size: 6pt;">&nbsp;</div></td><td id=3D"yui_3_16_0_1_14282614357=
48_33069" rowspan=3D"5" class=3D"link-enhancr-element" style=3D"width: 20px=
; background-color: #ffffff; font-size: 0pt; border-collapse: collapse;"><d=
iv class=3D"link-enhancr-element" style=3D"width: 20px; background-color: #=
ffffff; font-size: 20pt;">&nbsp;</div></td><td class=3D"link-enhancr-elemen=
t" rowspan=3D"5" style=3D"width: 1px; background-color: #e5e5e5; font-size:=
 1pt; border-collapse: collapse;" width=3D"1"><div class=3D"link-enhancr-el=
ement" style=3D"width: 1px; background-color: #e5e5e5; font-size: 1pt;">&nb=
sp;</div></td></tr><tr><td class=3D"link-enhancr-element" colspan=3D"2" sty=
le=3D"width: 100%; vertical-align: middle; font-family: 'Georgia', 'Times',=
 'Times New Roman', 'serif';"><div class=3D"link-enhancr-text-part link-enh=
ancr-element" style=3D"line-height:16.5px; background-color: #ffffff; heigh=
t: 135px; width: 245px;"><div class=3D"link-enhancr-element" style=3D"word-=
wrap: break-word; word-break: break-all;"><span class=3D"link-enhancr-eleme=
nt icon  icon-shrink link-enhancr-toggle"></span><span class=3D"link-enhanc=
r-element icon icon-close link-enhancr-delete"></span><a href=3D"https://en=
dormitoire.wordpress.com/2015/04/05/mysql-et-squeak-et-pharo/" class=3D"lin=
k-enhancr-card-urlWrapper link-enhancr-element" style=3D"text-decoration: n=
one !important; color: #000000 !important; line-height: 100%; font-size: 18=
px; display: block;"><span class=3D"link-enhancr-element link-enhancr-card-=
title" style=3D"margin: 0; font-weight: normal;margin-bottom: 3px; font-siz=
e: 18px; line-height: 21px; max-height: 43px; color: #000000; overflow: hid=
den !important; display: inline-block;">MySQL et Squeak et Pharo</span></a>=
<div style=3D"font-size: 13px; line-height: 20px; color: #999999; max-heigh=
t: 81px; font-family: 'Georgia', 'Times', 'Times New Roman', 'serif';overfl=
ow: hidden;" class=3D"link-enhancr-card-description link-enhancr-element">D=
ans l'=C3=A9ventualit=C3=A9 d'une r=C3=A9=C3=A9criture du driver de MySQL p=
our Squeak et Pharo, j'aimerais avoir une id=C3=A9e de ce que les gens util=
isent!&nbsp; R=C3=A9pondez aux so...</div></div></div></td></tr><tr><td col=
span=3D"2" class=3D"link-enhancr-element" style=3D"height: 4px; background-=
color: #ffffff; font-size: 0pt; border-collapse: collapse;"><div class=3D"l=
ink-enhancr-element" style=3D"height: 4px; background-color: #ffffff; font-=
size: 4pt;"></div></td></tr><tr><td class=3D"link-enhancr-element" style=3D=
"vertical-align: middle; font-family: 'Arial', 'Helvetica Neue', 'Helvetica=
', 'sans-serif';"><div class=3D"link-enhancr-element" style=3D"font-size: 0=
pt;"><a href=3D"https://endormitoire.wordpress.com/2015/04/05/mysql-et-sque=
ak-et-pharo/" class=3D"link-enhancr-card-url link-enhancr-element" style=3D=
"color: black; text-decoration: none !important;cursor:pointer !important;"=
 target=3D"_blank"><span id=3D"yui_3_16_0_1_1428261435748_33048" class=3D"l=
ink-enhancr-element link-enhancr-view-on" style=3D"display: inline-block; l=
ine-height: 11px; max-width: 145px; min-width: 85px; overflow: hidden; max-=
height: 13px; word-break: break-all;"><span class=3D"link-enhancr-element l=
ink-enhancr-mobile-no-resize" style=3D"vertical-align:middle; font-size: 9p=
x; line-height: 11px; color: #999999; -moz-text-size-adjust: none; -ms-text=
-size-adjust: none; -webkit-text-size-adjust:none; text-size-adjust:none;">=
View on <span style=3D"font-weight: bold" class=3D"link-enhancr-view-on-dom=
ain">endormitoire.wordpress...</span></span></span></a></div></td><td class=
=3D"link-enhancr-element" style=3D"vertical-align: middle; width: 100px; fo=
nt-family: 'Arial', 'Helvetica Neue', 'Helvetica', 'sans-serif';"><div clas=
s=3D"link-enhancr-element link-enhancr-preview-wrapper" style=3D"max-width:=
 100px; min-width: 80px; overflow: hidden; text-align: right; line-height: =
11px; max-height: 13px; font-size: 0pt;"><span class=3D"link-enhancr-elemen=
t link-enhancr-preview-by link-enhancr-mobile-no-resize" style=3D"vertical-=
align:middle; font-size: 9px; line-height: 11px; color: #999999; -moz-text-=
size-adjust: none; -ms-text-size-adjust: none; -webkit-text-size-adjust:non=
e; text-size-adjust:none;">Preview by Yahoo</span></div></td></tr><tr><td c=
olspan=3D"2" class=3D"link-enhancr-element" style=3D"height: 9px; backgroun=
d-color: #ffffff; font-size: 0pt; border-collapse: collapse;"><div class=3D=
"link-enhancr-element" style=3D"height: 9px; background-color: #ffffff; fon=
t-size: 9pt;"></div></td></tr><tr class=3D"link-enhancr-element"><td class=
=3D"link-enhancr-element" colspan=3D"8" style=3D"height: 1px; background-co=
lor: #e5e5e5; font-size: 1px; border-collapse: collapse;"><div class=3D"lin=
k-enhancr-element" style=3D"height: 1px; background-color: #e5e5e5; font-si=
ze: 1px; line-height:0px">&nbsp;</div></td></tr></tbody></table></div><div =
id=3D"yui_3_16_0_1_1428261435748_33023"> &nbsp;</div><div id=3D"yui_3_16_0_=
1_1428261435748_33076"><div id=3D"yui_3_16_0_1_1428261435748_33080">&nbsp;<=
/div><div dir=3D"ltr">P.S.&nbsp; Sorry for the cross posting!<br></div><div=
><br></div></div><div id=3D"yui_3_16_0_1_1428261435748_33078"><div id=3D"yu=
i_3_16_0_1_1428261435748_33077">-----------------
<br>Beno=C3=AEt St-Jean
<br>Yahoo! Messenger: bstjean
<br>Twitter: @BenLeChialeux
<br>Pinterest: benoitstjean
<br>IRC: lamneth
<br>Blogue: endormitoire.wordpress.com
<br>"A standpoint is an intellectual horizon of radius zero".&nbsp; (A. Ein=
stein)
<br></div></div></div></body></html>
------=_Part_214965_1617172645.1428269525406--