Re: UDT arrays

From: Lukas Eder <lukas(dot)eder(at)gmail(dot)com>
To: Radosław Smogura <rsmogura(at)softperience(dot)eu>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: UDT arrays
Date: 2011-02-10 10:55:37
Message-ID: AANLkTimX-GN51fr17G1UpCmxvC+bgFrD3E2tzkyZfLVA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Alright, thanks for the information! I'll be looking forward to adapt my
database abstraction library jOOQ (http://jooq.sourceforge.net) when this is
done. Do you have any schedule for these improvements? Any time in early
2011?

2011/2/10 Radosław Smogura <rsmogura(at)softperience(dot)eu>

> I plan to sleep PGObjects, and wake for backward compatibility (maybe as
> deprectaed or some parts of methodes there - there are static methods,
> which
> causes problems with JDBC4 Exception model and some per connection specific
> functionaly). Arrays parsing is different in text and in binary mode, and
> binary mode requires more carefull casting. Actually current flow should
> allow
> to read any nested type, which is supported by ResultSet, form parent
> object
> (I putted only exception for getting result set with multidimensional
> arrays).
>
> I plan to give support for specific PG objects like box, but make them more
> portable, without internal connection with JDBC dirver logic (you should be
> able to serialize and deserialzie those objects on clients without
> postgresql.jar). I plan as well to give "plugable" support for custom PG
> objects, which can't be processed as UDT (above box is example). I think
> about
> mapping some PG objects to standard Java classes e.g. PG's box ->
> java.awt.Box
> (but this is far future). Above must be done in descriptive way, to be
> usable
> with DataSource and app servers, eg.
>
> @Resource
> private DataSource myPgDataSourceWithMyCustomObjects
>
> Both of those should be designed in fast way, low memory consuption and in
> way
> preventing writing thousend lines of code if binary format for given object
> will be different per DB level or per new protocol (see e.g. problems with
> bytea encoding in 9.x releases).
>
> Lukas Eder <lukas(dot)eder(at)gmail(dot)com> Thursday 10 February 2011 10:45:17
> > Hi Radoslaw,
> >
> > Interesting news about SQLData, Input & Output. That's clearly the way to
> > go. So I assume you're going to be removing the PGobject from the JDBC
> > driver in a future release? But I still don't understand whether you are
> > actually going to plan to implement a combination of UDT and ARRAY, such
> as
> >
> > CREATE TYPE composite_type AS (f1 int, f2 text);
> > CREATE TABLE t (array_of_composites composite_type[]);
> >
> > This works in Postgres, but is not supported by the JDBC driver... Are
> you
> > going to address that as well, in the near future?
> >
> > Cheers
> > Lukas
> >
> > 2011/2/9 Radosław Smogura <rsmogura(at)softperience(dot)eu>
> >
> > > Actully I've done support for Structs, with fixation of metdata bugs
> for
> > > those
> > > types (JDBC spec is not clear, about metadata), but only in binary
> mode.
> > > I will, probably, don't give support for text protocol, because I
> belive
> > > binary
> > > protocol is future (but here is ?).
> > >
> > > Currently
> > > 1. I need to give full support for SQLData, Input & Output, as well
> > > implement
> > > last type (time with timezone).
> > > 2. I need do something with DISTINCTS/DOMAINS
> > >
> > > Problem is with timestamap with timezone, as on this field backend is
> > > incompatible with JDBC, so probably driver will need to extend
> database,
> > > or I
> > > need to do some "unsafe" operations or throw exception for some
> > > situations.
> > >
> > > In both of this I need to do / write full tests for many compilations
> of
> > > resultset/arrays/structs.
> > >
> > > Some functionality will temporaly go away (eg. updating result sets,
> > > arrays returning result sets for mulitdimensional array, geometric
> > > types, and all PG*Objects will be sleeped too).
> > >
> > > I want to resolve some serius bugs about resultsets and SQLXML, too,
> > > before release (this with result set may wait, if only one person found
> > > it, and not
> > > even found full problem...), but SQLXML is important as XML is popular
> > > solution.
> > >
> > > Maybe "true" async notifications based on listener pattern will be
> > > included in
> > > release.
> > >
> > > Have a nice day
> > >
> > > Lukas Eder <lukas(dot)eder(at)gmail(dot)com> Tuesday 08 February 2011 00:26:58
> > >
> > > > Hello,
> > > >
> > > > I was wondering, is JDBC driver support for the combination of UDT's
> > > > and arrays planned for the near future? I couldn't find any
> > > > documentation on the JDBC drivers website.
> > > >
> > > > Is there any specific reason (apart from the fact that UDT's and/or
> > > > ARRAYs are not used often) for this lack of implementation? Clearly,
> > > > the database itself supports this combination. I can easily insert
> and
> > > > select data from a table holding UDT arrays
> > > >
> > > > Cheers
> > > > Lukas
>

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message mmg 2011-02-10 16:01:52 Store a file in a bytea
Previous Message Radosław Smogura 2011-02-10 10:26:00 Re: UDT arrays