P3 is a modern, lean and mean PostgreSQL client for Pharo.
P3Client uses frontend/backend protocol 3.0 (PostgreSQL version 7.4 [2003] and later), implementing the simple query cycle. It supports plaintext and md5 password authentication as well as SSL connections. When SQL queries return row data, incoming data is efficiently converted to objects. P3Client supports most common PostgreSQL types. With P3DatabaseDriver, an interface between Glorp, an advanced object-relational mapper, and P3Client, most Glorp unit tests pass (the same number as the older, proven PostgresV2 driver, that is using the legacy 2.0 protocol). This was the initial design goal. More info, usage examples and code at https://github.com/svenvc/P3 P3 is written in pure Pharo, using a TCP network connection to PostgreSQL. This is an alpha release for the brave of heart that needs more real world testing before it is ready for general release. Sven PS: I wrote this using 64-bit Pharo 6 on macOS using the Calypso browser and it was a beautiful & satisfying experience. Thank you Denis, well done ! I also used Iceberg a second time and it starts to feel natural to me. Thank you Nico and Esteban ! |
Wow. PhilOn Tue, Jun 27, 2017 at 2:56 PM, Sven Van Caekenberghe <[hidden email]> wrote: P3 is a modern, lean and mean PostgreSQL client for Pharo. |
In reply to this post by Sven Van Caekenberghe-2
Great contribution!
Doru > On Jun 27, 2017, at 2:56 PM, Sven Van Caekenberghe <[hidden email]> wrote: > > P3 is a modern, lean and mean PostgreSQL client for Pharo. > > P3Client uses frontend/backend protocol 3.0 (PostgreSQL version 7.4 [2003] and later), implementing the simple query cycle. It supports plaintext and md5 password authentication as well as SSL connections. When SQL queries return row data, incoming data is efficiently converted to objects. P3Client supports most common PostgreSQL types. > > With P3DatabaseDriver, an interface between Glorp, an advanced object-relational mapper, and P3Client, most Glorp unit tests pass (the same number as the older, proven PostgresV2 driver, that is using the legacy 2.0 protocol). This was the initial design goal. > > More info, usage examples and code at https://github.com/svenvc/P3 > > P3 is written in pure Pharo, using a TCP network connection to PostgreSQL. > > This is an alpha release for the brave of heart that needs more real world testing before it is ready for general release. > > Sven > > PS: I wrote this using 64-bit Pharo 6 on macOS using the Calypso browser and it was a beautiful & satisfying experience. Thank you Denis, well done ! I also used Iceberg a second time and it starts to feel natural to me. Thank you Nico and Esteban ! > > -- www.tudorgirba.com www.feenk.com "Quality cannot be an afterthought." |
In reply to this post by Sven Van Caekenberghe-2
On Tue, Jun 27, 2017 at 7:56 AM, Sven Van Caekenberghe <[hidden email]> wrote:
> P3 is a modern, lean and mean PostgreSQL client for Pharo. > > P3Client uses frontend/backend protocol 3.0 (PostgreSQL version 7.4 [2003] and later), implementing the simple query cycle. It supports plaintext and md5 password authentication as well as SSL connections. When SQL queries return row data, incoming data is efficiently converted to objects. P3Client supports most common PostgreSQL types. > > With P3DatabaseDriver, an interface between Glorp, an advanced object-relational mapper, and P3Client, most Glorp unit tests pass (the same number as the older, proven PostgresV2 driver, that is using the legacy 2.0 protocol). This was the initial design goal. > > More info, usage examples and code at https://github.com/svenvc/P3 > > P3 is written in pure Pharo, using a TCP network connection to PostgreSQL. > > This is an alpha release for the brave of heart that needs more real world testing before it is ready for general release. > > Sven > > PS: I wrote this using 64-bit Pharo 6 on macOS using the Calypso browser and it was a beautiful & satisfying experience. Thank you Denis, well done ! I also used Iceberg a second time and it starts to feel natural to me. Thank you Nico and Esteban ! > > Very nice, Sven. Common Lisp's loss was Pharo's gain ;-) Mike |
In reply to this post by Sven Van Caekenberghe-2
Amazing work Sven!!!
This is very good. Esteban A. Maringolo 2017-06-27 9:56 GMT-03:00 Sven Van Caekenberghe <[hidden email]>: > P3 is a modern, lean and mean PostgreSQL client for Pharo. > > P3Client uses frontend/backend protocol 3.0 (PostgreSQL version 7.4 [2003] and later), implementing the simple query cycle. It supports plaintext and md5 password authentication as well as SSL connections. When SQL queries return row data, incoming data is efficiently converted to objects. P3Client supports most common PostgreSQL types. > > With P3DatabaseDriver, an interface between Glorp, an advanced object-relational mapper, and P3Client, most Glorp unit tests pass (the same number as the older, proven PostgresV2 driver, that is using the legacy 2.0 protocol). This was the initial design goal. > > More info, usage examples and code at https://github.com/svenvc/P3 > > P3 is written in pure Pharo, using a TCP network connection to PostgreSQL. > > This is an alpha release for the brave of heart that needs more real world testing before it is ready for general release. > > Sven > > PS: I wrote this using 64-bit Pharo 6 on macOS using the Calypso browser and it was a beautiful & satisfying experience. Thank you Denis, well done ! I also used Iceberg a second time and it starts to feel natural to me. Thank you Nico and Esteban ! > > |
In reply to this post by Michael J. Forster
> On 27 Jun 2017, at 17:37, Michael Forster <[hidden email]> wrote: > > On Tue, Jun 27, 2017 at 7:56 AM, Sven Van Caekenberghe <[hidden email]> wrote: >> P3 is a modern, lean and mean PostgreSQL client for Pharo. >> >> P3Client uses frontend/backend protocol 3.0 (PostgreSQL version 7.4 [2003] and later), implementing the simple query cycle. It supports plaintext and md5 password authentication as well as SSL connections. When SQL queries return row data, incoming data is efficiently converted to objects. P3Client supports most common PostgreSQL types. >> >> With P3DatabaseDriver, an interface between Glorp, an advanced object-relational mapper, and P3Client, most Glorp unit tests pass (the same number as the older, proven PostgresV2 driver, that is using the legacy 2.0 protocol). This was the initial design goal. >> >> More info, usage examples and code at https://github.com/svenvc/P3 >> >> P3 is written in pure Pharo, using a TCP network connection to PostgreSQL. >> >> This is an alpha release for the brave of heart that needs more real world testing before it is ready for general release. >> >> Sven >> >> PS: I wrote this using 64-bit Pharo 6 on macOS using the Calypso browser and it was a beautiful & satisfying experience. Thank you Denis, well done ! I also used Iceberg a second time and it starts to feel natural to me. Thank you Nico and Esteban ! >> >> > > > Very nice, Sven. Common Lisp's loss was Pharo's gain ;-) Haha, my CL days are long, long gone (though I still maintain 1 CL web app in production, more than 10 years after it was written), but it was a lot of fun. Like Common Lisp, I feel that Pharo is really an amplifier, a power tool, that makes seemingly impossible things possible and easy/fun to do. If you look at all the code being written by others (Calypso, Iceberg, Epicea, GT Tools, Spotter, and so many, many others), you can see the same effect going on. What is important IMHO is that people stick with (keeping supporting/documenting/promoting) the open source code they publish (else it will decay very quickly). > Mike > |
In reply to this post by Sven Van Caekenberghe-2
On 27/06/17 14:56, Sven Van Caekenberghe wrote:
> P3 is a modern, lean and mean PostgreSQL client for Pharo. Nice! Thank you Stephan |
In reply to this post by Sven Van Caekenberghe-2
Sven,
On Tue, Jun 27, 2017 at 5:56 AM, Sven Van Caekenberghe <[hidden email]> wrote: P3 is a modern, lean and mean PostgreSQL client for Pharo. Cool! Congratulations! Sven _,,,^..^,,,_ best, Eliot |
In reply to this post by Sven Van Caekenberghe-2
Great! I assume it is a smalltalk only client? As we have protocol version 3.0 does it mean that protocol 4.0 will be announced shortly? :)
Great work! Although I do not use SQL databases I need to check. Norbert > Am 27.06.2017 um 14:56 schrieb Sven Van Caekenberghe <[hidden email]>: > > P3 is a modern, lean and mean PostgreSQL client for Pharo. > > P3Client uses frontend/backend protocol 3.0 (PostgreSQL version 7.4 [2003] and later), implementing the simple query cycle. It supports plaintext and md5 password authentication as well as SSL connections. When SQL queries return row data, incoming data is efficiently converted to objects. P3Client supports most common PostgreSQL types. > > With P3DatabaseDriver, an interface between Glorp, an advanced object-relational mapper, and P3Client, most Glorp unit tests pass (the same number as the older, proven PostgresV2 driver, that is using the legacy 2.0 protocol). This was the initial design goal. > > More info, usage examples and code at https://github.com/svenvc/P3 > > P3 is written in pure Pharo, using a TCP network connection to PostgreSQL. > > This is an alpha release for the brave of heart that needs more real world testing before it is ready for general release. > > Sven > > PS: I wrote this using 64-bit Pharo 6 on macOS using the Calypso browser and it was a beautiful & satisfying experience. Thank you Denis, well done ! I also used Iceberg a second time and it starts to feel natural to me. Thank you Nico and Esteban ! |
> On 28 Jun 2017, at 10:07, Norbert Hartl <[hidden email]> wrote: > > Great! I assume it is a smalltalk only client? Yes, it is written in pure Pharo, using a TCP network connection to PostgreSQL. > As we have protocol version 3.0 does it mean that protocol 4.0 will be announced shortly? :) Hmm, I guess you're joking, AFAIK there is no protocol 4.0 (this is the front-end/back-end or client-server protocol to talk to the DB). > Great work! Although I do not use SQL databases I need to check. Well, that might be a mistake. PostgreSQL is very good and does most things that NoSQL DB's do, like key-value storage, JSON, XML, documents, .. often just as fast. Being a bit more traditional, cautious at the DB level is considered good in many circles. > Norbert > > >> Am 27.06.2017 um 14:56 schrieb Sven Van Caekenberghe <[hidden email]>: >> >> P3 is a modern, lean and mean PostgreSQL client for Pharo. >> >> P3Client uses frontend/backend protocol 3.0 (PostgreSQL version 7.4 [2003] and later), implementing the simple query cycle. It supports plaintext and md5 password authentication as well as SSL connections. When SQL queries return row data, incoming data is efficiently converted to objects. P3Client supports most common PostgreSQL types. >> >> With P3DatabaseDriver, an interface between Glorp, an advanced object-relational mapper, and P3Client, most Glorp unit tests pass (the same number as the older, proven PostgresV2 driver, that is using the legacy 2.0 protocol). This was the initial design goal. >> >> More info, usage examples and code at https://github.com/svenvc/P3 >> >> P3 is written in pure Pharo, using a TCP network connection to PostgreSQL. >> >> This is an alpha release for the brave of heart that needs more real world testing before it is ready for general release. >> >> Sven >> >> PS: I wrote this using 64-bit Pharo 6 on macOS using the Calypso browser and it was a beautiful & satisfying experience. Thank you Denis, well done ! I also used Iceberg a second time and it starts to feel natural to me. Thank you Nico and Esteban ! > |
> Am 28.06.2017 um 10:42 schrieb Sven Van Caekenberghe <[hidden email]>: > > >> On 28 Jun 2017, at 10:07, Norbert Hartl <[hidden email]> wrote: >> >> Great! I assume it is a smalltalk only client? > > Yes, it is written in pure Pharo, using a TCP network connection to PostgreSQL. > >> As we have protocol version 3.0 does it mean that protocol 4.0 will be announced shortly? :) > > Hmm, I guess you're joking, AFAIK there is no protocol 4.0 (this is the front-end/back-end or client-server protocol to talk to the DB). > >> Great work! Although I do not use SQL databases I need to check. > > Well, that might be a mistake. PostgreSQL is very good and does most things that NoSQL DB's do, like key-value storage, JSON, XML, documents, .. often just as fast. Being a bit more traditional, cautious at the DB level is considered good in many circles. > Ok, I understand. I'm aware of json store capabilities. But I'm not aware about queries using nested json attributes or combined indexes using nested json attributes. Is it possible? You are the only I hear in the last time calling postgres fast. And what do you mean by "being cautious"? Norbert >> Norbert >> >> >>> Am 27.06.2017 um 14:56 schrieb Sven Van Caekenberghe <[hidden email]>: >>> >>> P3 is a modern, lean and mean PostgreSQL client for Pharo. >>> >>> P3Client uses frontend/backend protocol 3.0 (PostgreSQL version 7.4 [2003] and later), implementing the simple query cycle. It supports plaintext and md5 password authentication as well as SSL connections. When SQL queries return row data, incoming data is efficiently converted to objects. P3Client supports most common PostgreSQL types. >>> >>> With P3DatabaseDriver, an interface between Glorp, an advanced object-relational mapper, and P3Client, most Glorp unit tests pass (the same number as the older, proven PostgresV2 driver, that is using the legacy 2.0 protocol). This was the initial design goal. >>> >>> More info, usage examples and code at https://github.com/svenvc/P3 >>> >>> P3 is written in pure Pharo, using a TCP network connection to PostgreSQL. >>> >>> This is an alpha release for the brave of heart that needs more real world testing before it is ready for general release. >>> >>> Sven >>> >>> PS: I wrote this using 64-bit Pharo 6 on macOS using the Calypso browser and it was a beautiful & satisfying experience. Thank you Denis, well done ! I also used Iceberg a second time and it starts to feel natural to me. Thank you Nico and Esteban ! >> |
> On 28 Jun 2017, at 12:14, Norbert Hartl <[hidden email]> wrote: > >> >> Am 28.06.2017 um 10:42 schrieb Sven Van Caekenberghe <[hidden email]>: >> >> >>> On 28 Jun 2017, at 10:07, Norbert Hartl <[hidden email]> wrote: >>> >>> Great! I assume it is a smalltalk only client? >> >> Yes, it is written in pure Pharo, using a TCP network connection to PostgreSQL. >> >>> As we have protocol version 3.0 does it mean that protocol 4.0 will be announced shortly? :) >> >> Hmm, I guess you're joking, AFAIK there is no protocol 4.0 (this is the front-end/back-end or client-server protocol to talk to the DB). >> > Yes, I was joking, of course. I thought this was obvious. ;-) >>> Great work! Although I do not use SQL databases I need to check. >> >> Well, that might be a mistake. PostgreSQL is very good and does most things that NoSQL DB's do, like key-value storage, JSON, XML, documents, .. often just as fast. Being a bit more traditional, cautious at the DB level is considered good in many circles. >> > Ok, I understand. I'm aware of json store capabilities. But I'm not aware about queries using nested json attributes or combined indexes using nested json attributes. Is it possible? Yes it seems to be possible: https://www.postgresql.org/docs/9.6/static/datatype-json.html > You are the only I hear in the last time calling postgres fast. Here is one article that I read recently, but I have seen others as well: https://containership.engineering/dynamodb-to-postgres-why-and-how-aa891681af4d > And what do you mean by "being cautious"? In terms of Enterprise speak, easier to sell, more trustworthy, better known, ... > Norbert > > >>> Norbert >>> >>> >>>> Am 27.06.2017 um 14:56 schrieb Sven Van Caekenberghe <[hidden email]>: >>>> >>>> P3 is a modern, lean and mean PostgreSQL client for Pharo. >>>> >>>> P3Client uses frontend/backend protocol 3.0 (PostgreSQL version 7.4 [2003] and later), implementing the simple query cycle. It supports plaintext and md5 password authentication as well as SSL connections. When SQL queries return row data, incoming data is efficiently converted to objects. P3Client supports most common PostgreSQL types. >>>> >>>> With P3DatabaseDriver, an interface between Glorp, an advanced object-relational mapper, and P3Client, most Glorp unit tests pass (the same number as the older, proven PostgresV2 driver, that is using the legacy 2.0 protocol). This was the initial design goal. >>>> >>>> More info, usage examples and code at https://github.com/svenvc/P3 >>>> >>>> P3 is written in pure Pharo, using a TCP network connection to PostgreSQL. >>>> >>>> This is an alpha release for the brave of heart that needs more real world testing before it is ready for general release. >>>> >>>> Sven >>>> >>>> PS: I wrote this using 64-bit Pharo 6 on macOS using the Calypso browser and it was a beautiful & satisfying experience. Thank you Denis, well done ! I also used Iceberg a second time and it starts to feel natural to me. Thank you Nico and Esteban ! |
Ah ok, need to read that. You mean like C and Java ;) ( <- author is joking! )You are the only I hear in the last time calling postgres fast. Norbert
|
In reply to this post by Sven Van Caekenberghe-2
On Tue, Jun 27, 2017 at 02:56:48PM +0200, Sven Van Caekenberghe wrote:
> P3 is a modern, lean and mean PostgreSQL client for Pharo. > P3 is written in pure Pharo, using a TCP network connection to PostgreSQL. This is great stuff! Pierce |
In reply to this post by Sven Van Caekenberghe-2
> On 27 Jun 2017, at 14:56, Sven Van Caekenberghe <[hidden email]> wrote: > > P3 is a modern, lean and mean PostgreSQL client for Pharo. > > P3Client uses frontend/backend protocol 3.0 (PostgreSQL version 7.4 [2003] and later), implementing the simple query cycle. It supports plaintext and md5 password authentication as well as SSL connections. When SQL queries return row data, incoming data is efficiently converted to objects. P3Client supports most common PostgreSQL types. > > With P3DatabaseDriver, an interface between Glorp, an advanced object-relational mapper, and P3Client, most Glorp unit tests pass (the same number as the older, proven PostgresV2 driver, that is using the legacy 2.0 protocol). This was the initial design goal. > > More info, usage examples and code at https://github.com/svenvc/P3 > > P3 is written in pure Pharo, using a TCP network connection to PostgreSQL. > > This is an alpha release for the brave of heart that needs more real world testing before it is ready for general release. I made the code easier to load. The default group loads P3Client and its basic dependencies NeoJSON and ZTimestamp Metacello new baseline: 'P3'; repository: 'github://svenvc/P3'; load. The glorp group loads P3DatabaseDriver and the whole of Glorp (warning: large download) Metacello new baseline: 'P3'; repository: 'github://svenvc/P3'; load: 'glorp'. > Sven > > PS: I wrote this using 64-bit Pharo 6 on macOS using the Calypso browser and it was a beautiful & satisfying experience. Thank you Denis, well done ! I also used Iceberg a second time and it starts to feel natural to me. Thank you Nico and Esteban ! > |
Thanks for all your positive energy.
Your return of experience on the new tools is great too. I experienced some glitches but this is getting really better and open a lot of possibilities. On Wed, Jun 28, 2017 at 4:49 PM, Sven Van Caekenberghe <[hidden email]> wrote: > >> On 27 Jun 2017, at 14:56, Sven Van Caekenberghe <[hidden email]> wrote: >> >> P3 is a modern, lean and mean PostgreSQL client for Pharo. >> >> P3Client uses frontend/backend protocol 3.0 (PostgreSQL version 7.4 [2003] and later), implementing the simple query cycle. It supports plaintext and md5 password authentication as well as SSL connections. When SQL queries return row data, incoming data is efficiently converted to objects. P3Client supports most common PostgreSQL types. >> >> With P3DatabaseDriver, an interface between Glorp, an advanced object-relational mapper, and P3Client, most Glorp unit tests pass (the same number as the older, proven PostgresV2 driver, that is using the legacy 2.0 protocol). This was the initial design goal. >> >> More info, usage examples and code at https://github.com/svenvc/P3 >> >> P3 is written in pure Pharo, using a TCP network connection to PostgreSQL. >> >> This is an alpha release for the brave of heart that needs more real world testing before it is ready for general release. > > I made the code easier to load. > > The default group loads P3Client and its basic dependencies NeoJSON and ZTimestamp > > Metacello new > baseline: 'P3'; > repository: 'github://svenvc/P3'; > load. > > The glorp group loads P3DatabaseDriver and the whole of Glorp (warning: large download) > > Metacello new > baseline: 'P3'; > repository: 'github://svenvc/P3'; > load: 'glorp'. > >> Sven >> >> PS: I wrote this using 64-bit Pharo 6 on macOS using the Calypso browser and it was a beautiful & satisfying experience. Thank you Denis, well done ! I also used Iceberg a second time and it starts to feel natural to me. Thank you Nico and Esteban ! >> > > |
Free forum by Nabble | Edit this page |