operator is not unique: smallint[] @> smallint[] You might need to add explicit type casts (!)

From: Marc Mamin <M(dot)Mamin(at)intershop(dot)de>
To: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: operator is not unique: smallint[] @> smallint[] You might need to add explicit type casts (!)
Date: 2014-07-14 11:32:23
Message-ID: B6F6FD62F2624C4C9916AC0175D56D8828AA0431@jenmbs01.ad.intershop.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello,

(Postgres 9.3.4)

I don't know how to apply the tip provided along with the error message :-)

This issue may be related to the usage of intarray that seems to have added an
_int4 @> _int4 operator to public:

set search_path=public;

select '{1}'::int2[] @> '{1}'::int2[]
operator is not unique: smallint[] @> smallint[]

but it works with int4[] and int8[]

The error does not ocure when ignoring public:

set search_path=user;

select '{1}'::int2[] @> '{1}'::int2[]
true

--from intarray (?)

CREATE OPERATOR public.@>(
PROCEDURE = _int_contains,
LEFTARG = _int4,
RIGHTARG = _int4,
COMMUTATOR = <@,
RESTRICT = contsel,
JOIN = contjoinsel);

--from catalog

CREATE OPERATOR @>(
PROCEDURE = arraycontains,
LEFTARG = anyarray,
RIGHTARG = anyarray,
COMMUTATOR = <@,
RESTRICT = arraycontsel,
JOIN = arraycontjoinsel);
COMMENT ON OPERATOR @>(anyarray, anyarray) IS 'contains';

select * from pg_operator where oprname= '@>' order by oprleft,oprright

@>; 11; 10; b; f; f; 602; 600; 16; 512; 0; path_contain_pt; -; -
@>; 11; 10; b; f; f; 603; 600; 16; 511; 0; box_contain_pt; contsel; contjoinsel
@>; 11; 10; b; f; f; 603; 603; 16; 497; 0; box_contain; contsel; contjoinsel
@>; 11; 10; b; f; f; 604; 600; 16; 756; 0; poly_contain_pt; contsel; contjoinsel
@>; 11; 10; b; f; f; 604; 604; 16; 489; 0; poly_contain; contsel; contjoinsel
@>; 11; 10; b; f; f; 718; 600; 16; 758; 0; circle_contain_pt; contsel; contjoinsel
@>; 11; 10; b; f; f; 718; 718; 16; 1510; 0; circle_contain; contsel; contjoinsel
@>; 2200; 10; b; f; f; 1007; 1007; 16; 14214552; 0; public._int_contains; contsel; contjoinsel
@>; 11; 10; b; f; f; 1034; 1033; 16; 0; 0; aclcontains; -; -
@>; 11; 10; b; f; f; 2277; 2277; 16; 2752; 0; arraycontains; arraycontsel; arraycontjoinsel
@>; 11; 10; b; f; f; 3615; 3615; 16; 3694; 0; tsq_mcontains; contsel; contjoinsel
@>; 11; 10; b; f; f; 3831; 2283; 16; 3891; 0; range_contains_elem; rangesel; contjoinsel
@>; 11; 10; b; f; f; 3831; 3831; 16; 3892; 0; range_contains; rangesel; contjoinsel

regards,

Marc Mamin

Browse pgsql-general by date

  From Date Subject
Next Message Stephen Frost 2014-07-14 12:05:41 Re: security labels or sensitivity markings
Previous Message Geoff Montee 2014-07-14 08:42:38 Re: security labels or sensitivity markings