Search Postgresql Archives

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

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

 



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



[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