Am 28.06.2017 um 12:43 schrieb Sven Van Caekenberghe <sven@stfx.eu>:


On 28 Jun 2017, at 12:14, Norbert Hartl <norbert@hartl.name> wrote:


Am 28.06.2017 um 10:42 schrieb Sven Van Caekenberghe <sven@stfx.eu>:


On 28 Jun 2017, at 10:07, Norbert Hartl <norbert@hartl.name> 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

Ah ok, need to read that.

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, ���

You mean like C and Java ;)  ( <- author is joking! )

Norbert


Norbert


Norbert


Am 27.06.2017 um 14:56 schrieb Sven Van Caekenberghe <sven@stfx.eu>:

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 !