Hi Mariano,
A couple of things with some history can perhaps explain this a bit better. - This all started almost a couple of years ago, when I was looking for a JDBC/DBI style API with MySQL support. - There was a MySQL driver, although a bit dated, and it lacked certain features I thought would be pretty compelling to have. - At that time I was not aware of OpenDBX, and even today I know very little about it. That is not a reflection on OpenDBX, it is my own limitation - I always wished for a rich, consistent database API with native Smalltalk drivers in Squeak/Pharo. - Since the protocol driver talks MySQL packets, and it should be possible to implement the DBXTalk API on top of it, in the same way the StdbMysqlImpl implements StdbCore API on top of the protocol driver. You may have noticed that the protocol driver is a separate project, and should be usable by any other projects for implementing another type/style of driver API I fully recognize your point here. I do wish all success to the DBX project. In my case it was just some long-drawn ans slow personal effort that I thought the result might be useful to the community. Best, Anindya ________________________________ From: Mariano Martinez Peck <[email protected]> To: Anindya Haldar <[email protected]>; "[email protected]" <[email protected]> Sent: Thursday, September 29, 2011 1:25 AM Subject: Re: [squeak-dev] Now available: a database conectivity API and its MySQL implementation Hi Anindya. Nice to hear more effort on this front. Is there any particular reason of spending all this amount of work consider we already have DBXTalk? wouldn't be better to improve the former? DBXTalk is exactly the same, and it is already working with Oracle, MySQL, PostgreSQL, SQL Server, Sqlite3, Sybase, etc. The main problem is that we depend on an external library like OpenDBX. I guess you are using a native connection with sockets. Moreover, we have ported Glorp and adapt it to use DBXTalk driver. What I mean is that we can join forces. For example, if you did an implementation of the MySQL natively (if fact, there is already one in squeaksource although it is a little bit outdated), we could try to make the same API as DBXTalk. That way, still with the same API we can use your driver. And you can use Glorp with your driver as well. Cheers On Thu, Sep 29, 2011 at 10:11 AM, Anindya Haldar <[email protected]> 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 statements 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 > > > > > > -- Mariano http://marianopeck.wordpress.com
