[squeak-dev] Re: Now available: a database conectivity API and its MySQL implementation

Andreas Raab andreas.raab at gmx.de
Thu Sep 29 18:19:48 UTC 2011


On 9/29/2011 19:28, Andreas Raab wrote:
> On 9/29/2011 16:40, Anindya Haldar wrote:
>> 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.
>
> Awesome! I'll see if I can get it to work on the weekend. What platforms
> have you tested it on?

My first tests ends up with an error "This part of the handshake is not 
implemented" during the connect operation. Is this maybe a MySql version 
problem? What versions have you successfully tested with?

Cheers,
   - Andreas

>
> Cheers,
> - Andreas
>
>> ------------------------------------------------------------------------
>> *From:* Andreas Raab <andreas.raab at gmx.de>
>> *To:* Anindya Haldar <anindya_haldar at yahoo.com>; The general-purpose
>> Squeak developers list <squeak-dev at 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
>> >
>> >
>> >
>> >
>> >
>>
>>
>>
>>
>>
>>
>
>
>




More information about the Squeak-dev mailing list