Re: [Pharo-users] Garage, Glorp, PostgreSQL and Cursors
vmusulainen wrote
I'm also confused. What is the relationship between OpenDBX and Garage? IIRC DBXTalk was the previous name of OpenDBX, right? Maybe an FAQ is in order as the DB-related names seem to be multiplying ;) ----- Cheers, Sean -- View this message in context: http://forum.world.st/Garage-Glorp-PostgreSQL-and-Cursors-tp4840760p4840771.... Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
On 03 Aug 2015, at 15:35, Sean P. DeNigris <sean@clipperadams.com> wrote:
vmusulainen wrote
I'm also confused. What is the relationship between OpenDBX and Garage? IIRC DBXTalk was the previous name of OpenDBX, right? Maybe an FAQ is in order as the DB-related names seem to be multiplying ;)
not really. DBXTalk is the suite that includes the OpenDBX driver (and others) it also includes Garage, as a common layer for different database drivers, one of them OpenDBX Esteban
----- Cheers, Sean -- View this message in context: http://forum.world.st/Garage-Glorp-PostgreSQL-and-Cursors-tp4840760p4840771.... Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
Garage is a (IMO lousy named) Pharo database interface abstraction, like Perl's DBI, ADODB, or JDBC. Any program that uses Garage's objects to access the database should be abstract enough to enable you to replace the backend by something else without changing the programming logic (e.g. replace PostgreSQL by SQLite). DBXTalk is the same, but at the database driver level, it uses the OpenDBX database drivers. So the relation would be: DB Interface -> DB Adapter -> DB Driver With these possible combinations (among others): Garage -> DBXTalk -> OpenDBX libs (libopendbx.so/dll) Garage -> PostgreSQLv2 -> (written in Smalltalk) Garage -> SQLite -> (written in Smalltalk) The confusion comes also when you add GLORP (ORM) to the combo, which is the most common use case when dealing with RDBMS, with the added misnomer of GLORP calling "Driver" what in practice is an Adapter (pattern) written in Smalltalk . So you have the following GlorpDriver (Adapter) -> DB Interface So: GlorpDBXTalk -> Garage GlorpPostgresV2 -> PostgresV2 GlorpSQLite -> PunQLite The benefits of having an abstraction layer like Garage are many, maybe the misnomer and the lack of coordination provokes this confusion. Regards! -- Esteban A. Maringolo Esteban A. Maringolo 2015-08-03 10:35 GMT-03:00 Sean P. DeNigris <sean@clipperadams.com>:
vmusulainen wrote
I'm also confused. What is the relationship between OpenDBX and Garage? IIRC DBXTalk was the previous name of OpenDBX, right? Maybe an FAQ is in order as the DB-related names seem to be multiplying ;)
----- Cheers, Sean -- View this message in context: http://forum.world.st/Garage-Glorp-PostgreSQL-and-Cursors-tp4840760p4840771.... Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
Esteban A. Maringolo wrote
Garage is...
Thank you! Very helpful. It seems like this would be a great clarification to add to http://guillep.github.io/DBXTalk/ , no? ----- Cheers, Sean -- View this message in context: http://forum.world.st/Garage-Glorp-PostgreSQL-and-Cursors-tp4840760p4840827.... Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
yes⦠just that is not accurate :) is basically like that, just that DBXTalk is not a driver, is an umbrella project. The OpenDBX drivers is still called OpenDBXDriver :P Esteban
On 03 Aug 2015, at 20:55, Sean P. DeNigris <sean@clipperadams.com> wrote:
Esteban A. Maringolo wrote
Garage is...
Thank you! Very helpful. It seems like this would be a great clarification to add to http://guillep.github.io/DBXTalk/ , no?
----- Cheers, Sean -- View this message in context: http://forum.world.st/Garage-Glorp-PostgreSQL-and-Cursors-tp4840760p4840827.... Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
2015-08-03 16:20 GMT-03:00 Esteban Lorenzano <estebanlm@gmail.com>:
yes⦠just that is not accurate :) is basically like that, just that DBXTalk is not a driver, is an umbrella project. The OpenDBX drivers is still called OpenDBXDriver :P
TooManyAbstractionsException signal. ;) Esteban A. Maringolo
Helloooooo :) First Tomasso, it's nice to know it's working well for you :). We need feedback and contributions, even the smallests (like docs, or blogposts with your experiences or tutorials). Answering your question, GarageGlorp does not yet use the cursors from the Garage drivers. I do not know what exactly should be added to the Glorp's GarageAdapter, maybe we can take a look at it if you are available. For the rest: *OpenDBX* -> it is a database abstraction written in C. It was developed outside the community, though we contribute if necessary. There is also a driver in Pharo providing bindings against this opendbx library. *Garage* -> a database abstraction in Pharo. It provides a common interface to talk with several drivers (e.g., opendbx, native postgres, native mysql...) *Glorp* -> an object relational mapping framework that connects to a database (therefore it needs some database driver) and converts relational data into objects. *DBXTalk* -> the umbrella project of all the above (and their connections) Cheers, Guille El mar., 4 de ago. de 2015 a la(s) 12:36 a. m., Esteban A. Maringolo < emaringolo@gmail.com> escribió:
2015-08-03 16:20 GMT-03:00 Esteban Lorenzano <estebanlm@gmail.com>:
yes⦠just that is not accurate :) is basically like that, just that DBXTalk is not a driver, is an umbrella project. The OpenDBX drivers is still called OpenDBXDriver :P
TooManyAbstractionsException signal.
;)
Esteban A. Maringolo
Thanks Guillermo, we were struggling with all these names also. This reference is important, and IMHO it should be pasted also in the page of every DB related project, so that we can have a map and now where we are. best arturo On Tue, Aug 4, 2015 at 11:25 AM, Guillermo Polito <guillermopolito@gmail.com
wrote:
*OpenDBX* -> it is a database abstraction written in C. It was developed outside the community, though we contribute if necessary. There is also a driver in Pharo providing bindings against this opendbx library. *Garage* -> a database abstraction in Pharo. It provides a common interface to talk with several drivers (e.g., opendbx, native postgres, native mysql...) *Glorp* -> an object relational mapping framework that connects to a database (therefore it needs some database driver) and converts relational data into objects. *DBXTalk* -> the umbrella project of all the above (and their connections)
On 04/08/15 16:25, Guillermo Polito wrote:
Helloooooo :)
First Tomasso, it's nice to know it's working well for you :). We need feedback and contributions, even the smallests (like docs, or blogposts with your experiences or tutorials).
Answering your question, GarageGlorp does not yet use the cursors from the Garage drivers. I do not know what exactly should be added to the Glorp's GarageAdapter, maybe we can take a look at it if you are available.
Hi Guillermo, thanks, that would be really interesting. Unfortunately right now I'm in a hurry to read some data from posgtgres, so I'll manage to do that "by hand" (i.e. without cursors), but I think that if we want to use Pharo for data analysis, being able to process large volume of data in a lean way is a must (it is not the first time I need it) and the option of glorp+cursors to stream the data from the db without kill the ram would be amazing. I would be happy to help enable this feature for Garage, but I don't really know where to look, do you have any hints? Tommaso
For the rest:
*OpenDBX* -> it is a database abstraction written in C. It was developed outside the community, though we contribute if necessary. There is also a driver in Pharo providing bindings against this opendbx library. *Garage* -> a database abstraction in Pharo. It provides a common interface to talk with several drivers (e.g., opendbx, native postgres, native mysql...) *Glorp* -> an object relational mapping framework that connects to a database (therefore it needs some database driver) and converts relational data into objects. *DBXTalk* -> the umbrella project of all the above (and their connections)
Cheers, Guille
El mar., 4 de ago. de 2015 a la(s) 12:36 a. m., Esteban A. Maringolo <emaringolo@gmail.com <mailto:emaringolo@gmail.com>> escribió:
2015-08-03 16:20 GMT-03:00 Esteban Lorenzano <estebanlm@gmail.com <mailto:estebanlm@gmail.com>>: > yes⦠just that is not accurate :) > is basically like that, just that DBXTalk is not a driver, is an umbrella project. The OpenDBX drivers is still called OpenDBXDriver :P
TooManyAbstractionsException signal.
;)
Esteban A. Maringolo
participants (6)
-
Arturo Zambrano -
Esteban A. Maringolo -
Esteban Lorenzano -
Guillermo Polito -
Sean P. DeNigris -
Tommaso Dal Sasso