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