Re: ideas for Smalltak GSoC 2011

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: ideas for Smalltak GSoC 2011

Mariano Martinez Peck


On Sun, May 22, 2011 at 5:01 PM, Carlos Crosetti <[hidden email]> wrote:
Thans Mariano, I forgot SquakDBX had a solution. Regarding the native client I mean a client that is fullt writen in Smaltalk code. Do uou know if the Cincom VisialWorks EXDI cllient to  Oracle is native too?

No, that should not be possible. Oracle is not open-source, so you don't know how to implement the library. Ok, I open a socket and then what?
I don't know Cincom VisialWorks EXDI cllient to  Oracle  but I guess it talks by FFI or something like that to the Oracle C client library.

Alan, can you tell us if it is like that?   Otherwise, I don't understand ;)
  


----- Original Message -----
Sent: Sunday, May 22, 2011 9:35 AM
Subject: Re: ideas for Smalltak GSoC 2011

Carlos, you have SqueakDBX/GlorpDBX for exactly that. What you mean by " native Oracle client" ?  It is NOT possible to have a smalltalk driver for Oracle as there is for PostgreSQL because Oracle is not open-source and you don't know the protocol. So, you have to use the drivers they give you.

Cheers


On Sun, May 22, 2011 at 1:35 AM, Carlos Crosetti <[hidden email]> wrote:
Hi, as Glorp benefits from having a native PostgreSQL client, as a Smalltalk developer I want to have a native Oracle client to seamlessly migrate back and froth from PortgreSQl to Oracle and in the opposite direction.
 
Carlos Crosetti



--
Mariano
http://marianopeck.wordpress.com




--
Mariano
http://marianopeck.wordpress.com

--
You received this message because you are subscribed to the Google Groups "glorp-group" group.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/glorp-group?hl=en.
Reply | Threaded
Open this post in threaded view
|

Re: ideas for Smalltak GSoC 2011

Mariano Martinez Peck
Ok....after loading the Parcel OracleEXDI  and browsing the class OracleInterface, I can guess they use FFI to talk to OCI.

Example:

OCIBindByName: stmtp with: bindp with: errhp with: placeholder with: placeh_len with: valuep with: value_sz with: dty with: indp with: alenp with: rcodep with: maxarr_len with: curelep with: mode
    <C: sword OCIBindByName(OCIStmt * stmtp, OCIBind * * bindp, OCIError * errhp, const OraText * placeholder, sb4 placeh_len, void * valuep, sb4 value_sz, ub2 dty, void * indp, ub2 * alenp, ub2 * rcodep, ub4 maxarr_len, ub4 * curelep, ub4 mode)>
    ^self externalAccessFailedWith: _errorCode


Cheers

Mariano

On Sun, May 22, 2011 at 5:10 PM, Mariano Martinez Peck <[hidden email]> wrote:


On Sun, May 22, 2011 at 5:01 PM, Carlos Crosetti <[hidden email]> wrote:
Thans Mariano, I forgot SquakDBX had a solution. Regarding the native client I mean a client that is fullt writen in Smaltalk code. Do uou know if the Cincom VisialWorks EXDI cllient to  Oracle is native too?

No, that should not be possible. Oracle is not open-source, so you don't know how to implement the library. Ok, I open a socket and then what?
I don't know Cincom VisialWorks EXDI cllient to  Oracle  but I guess it talks by FFI or something like that to the Oracle C client library.

Alan, can you tell us if it is like that?   Otherwise, I don't understand ;)
  


----- Original Message -----
Sent: Sunday, May 22, 2011 9:35 AM
Subject: Re: ideas for Smalltak GSoC 2011

Carlos, you have SqueakDBX/GlorpDBX for exactly that. What you mean by " native Oracle client" ?  It is NOT possible to have a smalltalk driver for Oracle as there is for PostgreSQL because Oracle is not open-source and you don't know the protocol. So, you have to use the drivers they give you.

Cheers


On Sun, May 22, 2011 at 1:35 AM, Carlos Crosetti <[hidden email]> wrote:
Hi, as Glorp benefits from having a native PostgreSQL client, as a Smalltalk developer I want to have a native Oracle client to seamlessly migrate back and froth from PortgreSQl to Oracle and in the opposite direction.
 
Carlos Crosetti



--
Mariano
http://marianopeck.wordpress.com




--
Mariano
http://marianopeck.wordpress.com

--
You received this message because you are subscribed to the Google Groups "glorp-group" group.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/glorp-group?hl=en.
Reply | Threaded
Open this post in threaded view
|

Re: ideas for Smalltak GSoC 2011

Mariano Martinez Peck
Sorry....one last thought. I didn't take a look to EXDI but I think it is more or less like OpenDBX but in Smalltalk.

I mean, with SqueakDBX we just wrap OpenDBX, which gives us a unified API. OpenDBX then talks to each database client library. So, we need to libraries: OpenDBX and the database client library.

EXDI is like OpenDBX but written in Smalltak. It gives you a unified API and then it talks to the database client library. The good thing with EXDI is that you only depends on one library: the database client library.

In SqueakDBX we directly use OpenDBX because of these reasons:

1) we don't have man power to code all that in Smalltalk for all backends
2) OpenDBX seems to be fast (although maybe we get the same speed if it were implemented in Smalltalk)
3) Because usually, if you already depends on one library, it doesn't really make a difference to depend on two.

Now, what would really make a difference is to have everything implemented in Smalltalk and don't depend in any external library. But as said, we are not mainstream, so for not open-source projects we have to deal with the drivers they give us.

Cheers

Mariano

On Sun, May 22, 2011 at 5:15 PM, Mariano Martinez Peck <[hidden email]> wrote:
Ok....after loading the Parcel OracleEXDI  and browsing the class OracleInterface, I can guess they use FFI to talk to OCI.

Example:

OCIBindByName: stmtp with: bindp with: errhp with: placeholder with: placeh_len with: valuep with: value_sz with: dty with: indp with: alenp with: rcodep with: maxarr_len with: curelep with: mode
    <C: sword OCIBindByName(OCIStmt * stmtp, OCIBind * * bindp, OCIError * errhp, const OraText * placeholder, sb4 placeh_len, void * valuep, sb4 value_sz, ub2 dty, void * indp, ub2 * alenp, ub2 * rcodep, ub4 maxarr_len, ub4 * curelep, ub4 mode)>
    ^self externalAccessFailedWith: _errorCode


Cheers

Mariano


On Sun, May 22, 2011 at 5:10 PM, Mariano Martinez Peck <[hidden email]> wrote:


On Sun, May 22, 2011 at 5:01 PM, Carlos Crosetti <[hidden email]> wrote:
Thans Mariano, I forgot SquakDBX had a solution. Regarding the native client I mean a client that is fullt writen in Smaltalk code. Do uou know if the Cincom VisialWorks EXDI cllient to  Oracle is native too?

No, that should not be possible. Oracle is not open-source, so you don't know how to implement the library. Ok, I open a socket and then what?
I don't know Cincom VisialWorks EXDI cllient to  Oracle  but I guess it talks by FFI or something like that to the Oracle C client library.

Alan, can you tell us if it is like that?   Otherwise, I don't understand ;)
  


----- Original Message -----
Sent: Sunday, May 22, 2011 9:35 AM
Subject: Re: ideas for Smalltak GSoC 2011

Carlos, you have SqueakDBX/GlorpDBX for exactly that. What you mean by " native Oracle client" ?  It is NOT possible to have a smalltalk driver for Oracle as there is for PostgreSQL because Oracle is not open-source and you don't know the protocol. So, you have to use the drivers they give you.

Cheers


On Sun, May 22, 2011 at 1:35 AM, Carlos Crosetti <[hidden email]> wrote:
Hi, as Glorp benefits from having a native PostgreSQL client, as a Smalltalk developer I want to have a native Oracle client to seamlessly migrate back and froth from PortgreSQl to Oracle and in the opposite direction.
 
Carlos Crosetti



--
Mariano
http://marianopeck.wordpress.com




--
Mariano
http://marianopeck.wordpress.com




--
Mariano
http://marianopeck.wordpress.com

--
You received this message because you are subscribed to the Google Groups "glorp-group" group.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/glorp-group?hl=en.