[Pharo-dev] Fwd: NBFFI version of the OpenDBXDriver

Rocio Amaya rochiamaya at gmail.com
Thu Sep 12 00:19:13 EDT 2013


*

Hi!
*
*

I'd like to show a bit the outcome of the first iteration of the DBXTalk
Gsoc of this year.

First, I've been adapting myself to the environment and technology
(DBXTalk, OpenDBX, TalkFFI), and I've written some little tutorials of what
I've learnt about them:

- Post of how to install  OpenDBX

http://rochiamaya.wordpress.com/2013/07/28/how-to-install-version-1-4-6-of-opendbx-for-linux/

- Post of how to install and use TalkFFI to generate mappings

http://rochiamaya.wordpress.com/2013/07/30/create-bindings-with-talkffi/

- Post  of how to use  mappings generated  by  TalkFFI

http://rochiamaya.wordpress.com/2013/08/06/how-to-use-the-generated-bindings-talkffi/


Also, as concrete code, we have built a NBFFI version of the OpenDBXDriver.
The main idea of this is to provide a backward compatibility layer to
people that  use OpenDBX, while letting us move forward dropping the old
FFI implementation.

Gofer it

smalltalkhubUser: 'DBXTalk' project: 'Configurations';

configurationOf: 'OpenDBXDriver';

load.

(((Smalltalk at: #ConfigurationOfOpenDBXDriver)

  perform: #project)

      perform: #version: with: ‘1.3’)

          load: 'DeveloperGroup'.


However, the configuration still supports to load the former version of the
driver (no NBFFI)

  Gofer it

 smalltalkhubUser: 'DBXTalk' project: 'Configurations';

configurationOf: 'OpenDBXDriver';

load.

(((Smalltalk at: #ConfigurationOfOpenDBXDriver)

  perform: #project)

      perform: #version: with: ‘1.3’)

          load: 'FFIDriver'.


And the configuration with only NBFFI version.

  Gofer it

 smalltalkhubUser: 'DBXTalk' project: 'Configurations';

configurationOf: 'OpenDBXDriver';

load.

(((Smalltalk at: #ConfigurationOfOpenDBXDriver)

  perform: #project)

      perform: #version: with: ‘1.3’)

          load:  'NBFFIDriver'.


To use, writte in the Workspace and DoIt:


“to set the NBFFI bind”

LibOpenDBXMap initialize.

OpenDBX current: NBPharoOpenDBX new.

“or to set the oldFFI bind”

OpenDBX current: FFIOpenDBX  ffiImplementationForOS .


In our current/next steps, we are starting to dig into the other driver
implementations. I'm currently working in a Mysql driver implementation
that will use the C mysql library directly without the intermediation of
OpenDBX. That way, the setup of the environment will be far easier and the
entry barrier will be lowered.


Best Regards!*
*Rocio.*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20130912/48bb50c8/attachment-0001.html>


More information about the Pharo-dev mailing list