Relation between Garage PG and PGv2

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

Relation between Garage PG and PGv2

Esteban A. Maringolo
Hi all, and Guille Polito in particular,

I'm loading the Garage classes into Pharo 4, and I see the Garage-Postgres package "duplicates" the classes of the PostgresV2 package, but instead of using the PG prefix, it uses the GA prefix. This is in particular with the case of Garage-Postgres-Protocol package.

Why is it so? 

Because even GAConnection>>#buildDefaultConnectionArgs (which is a replica of PGConnection) references PGConnectionArgs instead of GAConnectionArgs, which is the replica of the first.

QUESTION: Isn't Garage a "common API" for the *existing* drivers? (like a common wrapper), and if so it delegates the protocol handling to the real driver? In the PostgresV2 package in this case, to PG prefixed classes.

Regards!


Esteban A. Maringolo
Reply | Threaded
Open this post in threaded view
|

Re: Relation between Garage PG and PGv2

Torsten Bergmann
Hi Esteban,

we noticed the same "copy reuse" issue with NBSQlite.

See this thread:
http://forum.world.st/Garage-and-SQLite-file-databases-general-project-structure-td4826061.html

which ended up in a different discussion on URLs. I did not really understood
but had not time to look deeper and reproduce Guilles arguments clearly. 

Thanks
T.
 

Gesendet: Montag, 12. Oktober 2015 um 16:57 Uhr
Von: "Esteban A. Maringolo" <[hidden email]>
An: "Pharo Developers" <[hidden email]>
Betreff: [Pharo-dev] Relation between Garage PG and PGv2

Hi all, and Guille Polito in particular,
 
I'm loading the Garage classes into Pharo 4, and I see the Garage-Postgres package "duplicates" the classes of the PostgresV2 package, but instead of using the PG prefix, it uses the GA prefix. This is in particular with the case of Garage-Postgres-Protocol package.
 
Why is it so? 
 
Because even GAConnection>>#buildDefaultConnectionArgs (which is a replica of PGConnection) references PGConnectionArgs instead of GAConnectionArgs, which is the replica of the first.
 

QUESTION: Isn't Garage a "common API" for the *existing* drivers? (like a common wrapper), and if so it delegates the protocol handling to the real driver? In the PostgresV2 package in this case, to PG prefixed classes.
 
Regards!
  

Esteban A. Maringolo

Reply | Threaded
Open this post in threaded view
|

Re: Relation between Garage PG and PGv2

Esteban A. Maringolo
2015-10-12 14:05 GMT-03:00 Torsten Bergmann <[hidden email]>:

>
> Hi Esteban,
>
> we noticed the same "copy reuse" issue with NBSQlite.
>
> See this thread:
> http://forum.world.st/Garage-and-SQLite-file-databases-general-project-structure-td4826061.html
>
> which ended up in a different discussion on URLs. I did not really understood
> but had not time to look deeper and reproduce Guilles arguments clearly.

Yeap, I remember seeing such discussion. But I got on it when it was a
discussion about URLs, didn't see the part of the fork.

But if it is the same with NBSQlite as it is with PostgresV2 then it's
a waste of resources[1], as I suspected, it is not an "common API" for
Database connectivity, but instead it is a fork of database drivers to
work under a common API using inheritance rather than composition to
reach the multi-driver approach. :-/

Regards,

Esteban A. Maringolo

[1]: It breaks rules #1, #3, #4, #13, #16 and #17 of the unix philosophy :)


> Thanks
> T.
>
>
> Gesendet: Montag, 12. Oktober 2015 um 16:57 Uhr
> Von: "Esteban A. Maringolo" <[hidden email]>
> An: "Pharo Developers" <[hidden email]>
> Betreff: [Pharo-dev] Relation between Garage PG and PGv2
>
> Hi all, and Guille Polito in particular,
>
> I'm loading the Garage classes into Pharo 4, and I see the Garage-Postgres package "duplicates" the classes of the PostgresV2 package, but instead of using the PG prefix, it uses the GA prefix. This is in particular with the case of Garage-Postgres-Protocol package.
>
> Why is it so?
>
> Because even GAConnection>>#buildDefaultConnectionArgs (which is a replica of PGConnection) references PGConnectionArgs instead of GAConnectionArgs, which is the replica of the first.
>
>
> QUESTION: Isn't Garage a "common API" for the *existing* drivers? (like a common wrapper), and if so it delegates the protocol handling to the real driver? In the PostgresV2 package in this case, to PG prefixed classes.
>
> Regards!
>
>
> Esteban A. Maringolo
>