--- Begin Message ---

> On 1 Jan 2019, at 02:12, Ben Coman <b...@openinworld.com> wrote:
> 
> 
> 
> On Mon, 31 Dec 2018 at 19:34, Sven Van Caekenberghe <s...@stfx.eu> wrote:
> Hi,
> 
> I created a new release of P3, the modern, lean and mean PostgreSQL client 
> for Pharo.
> 
> https://github.com/svenvc/P3
> 
> Version 1.1 contains the following changes:
> 
> - added support for Postgres Extended Query protocol (P3PreparedStatement) 
> (thx Jan @jvdsandt)
> - added support for reading array type values (currently INTEGER[] FLOAT[] 
> BOOLEAN[] TEXT[] VARCHAR[])
> - added P3-Tests package and moved all tests there
> - more comments
> - more unit tests
> 
> https://github.com/svenvc/P3/releases/tag/v1.1
> 
> 
> Especially Jan's contribution adds a lot of functionality: the ability to 
> work with prepared statements.
> 
> This is great to hear.   Could you advise what functionality remains missing, 
> and what priority you'd consider each is?
> 
> cheers -ben

From its initial release, P3 covered enough to support GLORP, a complex object 
relational mapper with hundreds of unit tests. After that several new features 
and support for more primitive types was added. So overall, we are in a good 
place, and P3 is fully functional and useable for real applications.

At the protocol level, I think the most important missing part is probably COPY 
support.

Regarding primitive types, PostgreSQL is a bit special in the fact that it has 
a large, even infinite amount of primitive types, that are extensible by both 
plugins and users. P3 currently supports the following 26 primitive types: 

#(#_bool #_float8 #_int4 #_text #_varchar #bool #bpchar #bytea #date #float4 
#float8 #int2 #int4 #int8 #json #jsonb #name #numeric #oid #text #time 
#timestamp #timestamptz #uuid #varchar #void)

These are internal PG specific type names, some types have better know aliases.

On my machine, pg_type contains more than 600 types though ! Do we need them 
all ? No. But there will be use cases where people ask for more types, most 
should be pretty easy to add.

Like for all open source code, the best scenario is to have lots of users, so 
that the code can be improved where needed to become truly battle tested.

Sven






--- End Message ---

Reply via email to