<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 <andreas.raab@gmx.de><br><b><span style="font-weight: bold;">To:</span></b> Anindya Haldar <anindya_haldar@yahoo.com>; The general-purpose Squeak developers list <squeak-dev@lists.squeakfoundation.org><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 (>1sec).<br><br>Cheers,<br> - Andreas<br><br>On 9/29/2011 10:11, Anindya Haldar wrote:<br>> I am extremely pleased to offer to the community a generic Smalltalk API<br>> for database connectivity API, along with a MySQL implementation written<br>> from ground up. Think of JDBC and DBI like interfaces in other languages<br>> and environments, and this one offers abstract facilities like<br>> connection, prepared statement, resultset, row, metdata
and so on for<br>> the application.<br>><br>> The API implementation uses driver delegates, and insulates the<br>> applications from the driver specific interfaces. As of now, a MySQL<br>> implementation is available, with other databases engine supports in the<br>> future plans.<br>><br>> The API supports server side prepared sta tements and cursor based fetch<br>> implemented in the MySQL driver.<br>><br>> The implementation is currently available in 3 parts:<br>><br>> 1) StdbCore project: This is primarily the API definitions and the<br>> delegation logic<br>> URL: <a href="http://www.squeaksource.com/StdbCore.html" target="_blank">http://www.squeaksource.com/StdbCore.html</a><br>><br>> 2) StdbMysqlImpl project: This is the MySQL implementation of the<br>> StdbCore API<br>> URL: <a href="http://www.squeaksource.com/StdbMysqlImpl.html"
target="_blank">http://www.squeaksource.com/StdbMysqlImpl.html</a><br>><br>> 3) StdbMysqlProtocol project: This is the underlying MySQL protocol<br>> driver, and used by the MySQL API implementation<br>> URL: <a href="http://www.squeaksource.com/StdbMysqlProtocol.html" target="_blank">http://www.squeaksource.com/StdbMysqlProtocol.html</a><br>><br>> There is a package load ordering dependency (documented in the MySQL<br>> implementation project). Please load the core and the protocol driver<br>> packages first, before you load the implementation package.<br>><br>> Combined, the packages has around 200 tests (most of them in the<br>> protocol driver and the API implementation) and are running green on<br>> Pharo 1.1.1 one click, Squeak 4.2 one click, Squeak 3.10 (with Seaside<br>> 2-8-573 dev image) under Mac OS X 10.5.8 with MySQL server 5.0.67.<br>><br>> This was in the making for some time; and I feel it is
time to share it<br>> with the community. I will continue to post more documentation and code<br>> snippets in the project page Wiki sections. For now, looking up the<br>> tests may be your best guide.<br>><br>> Happy programming!<br>><br>> Best,<br>> Anindya Haldar<br>><br>><br>><br>><br>><br><br><br><br></div></div></div></body></html>