Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Custom types and array equality


  • From: Morgan Kita <mkita(at)verseon(dot)com>
  • To: pgsql-general(at)postgresql(dot)org
  • Subject: Custom types and array equality
  • Date: Fri, 20 Oct 2006 18:16:28 -0700
  • Message-id: <1161393388(dot)11296(dot)4(dot)camel(at)localhost(dot)localdomain>

Hi,

This should be a relatively simple question... I just made a custom type
in C, which I will use to build an array in one of my tables. I defined
an equality function in C, and declared an operator = on my custom type
that calls my equality operator.

Along the lines of:
CREATE OPERATOR = (
   leftarg = mytype, rightarg = mytype, procedure = mytype_equal,
   commutator = = 
);

However, I cant seem to add a useful unique constraint on the table that
includes a column of type mytype[]. When I insert a new record it
complains that it can't find a comparison operator for the type. I did a
bit of digging and found in array.c that error message is produced when
calling array_cmp and the type has no defined comparison operator...
However, should array_eq be called for unique constraints? What am I
missing here to get this system working? The operator itself works when
I call it explicitly on two arrays of mytype.

Thanks for any help ahead of time!




Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group