Search Postgresql Archives

Re: Comparing arrays of composite types

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Aug 21, 2009 at 2:59 PM, Alban
Hertroys<dalroi@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> Hello all,
>
> I'm running into a small problem (while comparing tokenised unit strings in
> case you're interested) with said topic.
>
> I defined a type:
> CREATE TYPE unit_token AS (
>        base_unit       TEXT,
>        unit_base       INT
> );
>
> In my table I have:
> CREATE TABLE unit (
>        unit    TEXT NOT NULL PRIMARY KEY,
>        tokens  unit_token[] NOT NULL
> );
>
> If I try to join on tokens or try to create an index over that column I get:
> "ERROR:  could not identify a comparison function for type unit_token".
>
> I can compare columns of type unit_token (not the array) just fine, and even
> joining on tokens[1] works as expected - and not just for equality but also
> less-than (didn't test the remainder, I assume they work).
>
> I have created operators on unit_token for =, <, <=, > and >=, but either I
> did something wrong defining my operators or the error is pointing to some
> other problem.
>
> I noticed casting both sides to text works just fine, but I'd prefer to do
> this 'properly' if possible. Any pointers as to what is going wrong here?
>
> One other thing of note is that the error doesn't appear to be about a
> missing comparison operator for unit_token, but rather for unit_token[].

This works in 8.4.   Can you upgrade?

postgres=# select array(select foo from foo) = array(select foo from foo) ;
 ?column?
----------
 t
(1 row)

merlin

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux