<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div>Thanks Andreas. The MySQL protocol is a native all-Smalltalk MySQL driver. There is no FFI or plugin associated with it. The driver implements the MySQL wire protocol on top of socket stream. <br></div><div><br></div><div>Best,</div><div>Anindya<br></div><div><br></div><div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"><div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"><font face="Arial" size="2"><hr size="1"><b><span style="font-weight:bold;">From:</span></b> Andreas Raab &lt;andreas.raab@gmx.de&gt;<br><b><span style="font-weight: bold;">To:</span></b> Anindya Haldar &lt;anindya_haldar@yahoo.com&gt;; The general-purpose Squeak developers list &lt;squeak-dev@lists.squeakfoundation.org&gt;<br><b><span style="font-weight: bold;">Sent:</span></b> Thursday,
 September 29, 2011 1:22 AM<br><b><span style="font-weight: bold;">Subject:</span></b> Re: Now available: a database conectivity API and its MySQL implementation<br></font><br>Very nice. Quick question: How are you accessing the MySQL db? Are you <br>using a network connection or some FFI facilities? If you are using a <br>network connection, we might have use for your project right away; our <br>current FFI based ODBC implementation causes headaches when the calls <br>take a long time (&gt;1sec).<br><br>Cheers,<br>&nbsp;  - Andreas<br><br>On 9/29/2011 10:11, Anindya Haldar wrote:<br>&gt; I am extremely pleased to offer to the community a generic Smalltalk API<br>&gt; for database connectivity API, along with a MySQL implementation written<br>&gt; from ground up. Think of JDBC and DBI like interfaces in other languages<br>&gt; and environments, and this one offers abstract facilities like<br>&gt; connection, prepared statement, resultset, row, metdata
 and so on for<br>&gt; the application.<br>&gt;<br>&gt; The API implementation uses driver delegates, and insulates the<br>&gt; applications from the driver specific interfaces. As of now, a MySQL<br>&gt; implementation is available, with other databases engine supports in the<br>&gt; future plans.<br>&gt;<br>&gt; The API supports server side prepared sta tements and cursor based fetch<br>&gt; implemented in the MySQL driver.<br>&gt;<br>&gt; The implementation is currently available in 3 parts:<br>&gt;<br>&gt; 1) StdbCore project: This is primarily the API definitions and the<br>&gt; delegation logic<br>&gt; URL: <a href="http://www.squeaksource.com/StdbCore.html" target="_blank">http://www.squeaksource.com/StdbCore.html</a><br>&gt;<br>&gt; 2) StdbMysqlImpl project: This is the MySQL implementation of the<br>&gt; StdbCore API<br>&gt; URL: <a href="http://www.squeaksource.com/StdbMysqlImpl.html"
 target="_blank">http://www.squeaksource.com/StdbMysqlImpl.html</a><br>&gt;<br>&gt; 3) StdbMysqlProtocol project: This is the underlying MySQL protocol<br>&gt; driver, and used by the MySQL API implementation<br>&gt; URL: <a href="http://www.squeaksource.com/StdbMysqlProtocol.html" target="_blank">http://www.squeaksource.com/StdbMysqlProtocol.html</a><br>&gt;<br>&gt; There is a package load ordering dependency (documented in the MySQL<br>&gt; implementation project). Please load the core and the protocol driver<br>&gt; packages first, before you load the implementation package.<br>&gt;<br>&gt; Combined, the packages has around 200 tests (most of them in the<br>&gt; protocol driver and the API implementation) and are running green on<br>&gt; Pharo 1.1.1 one click, Squeak 4.2 one click, Squeak 3.10 (with Seaside<br>&gt; 2-8-573 dev image) under Mac OS X 10.5.8 with MySQL server 5.0.67.<br>&gt;<br>&gt; This was in the making for some time; and I feel it is
 time to share it<br>&gt; with the community. I will continue to post more documentation and code<br>&gt; snippets in the project page Wiki sections. For now, looking up the<br>&gt; tests may be your best guide.<br>&gt;<br>&gt; Happy programming!<br>&gt;<br>&gt; Best,<br>&gt; Anindya Haldar<br>&gt;<br>&gt;<br>&gt;<br>&gt;<br>&gt;<br><br><br><br></div></div></div></body></html>