Re: [SQL] Operator <> for lseg,lseg bug

From: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
To: guido(at)castor(dot)atlas(dot)de (Guido Weber)
Cc: pgsql-sql(at)postgreSQL(dot)org
Subject: Re: [SQL] Operator <> for lseg,lseg bug
Date: 1998-10-28 16:05:26
Message-ID: 199810281605.LAA17100@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

> Hi
>
> I was testing some things with the geometric datatype in Postgres (6.3)
> and got some results out of selects that I did not expect. Doing a \do
> in psql gave me:
>
> <--SNIP-->
> <> |bool |float8 |float8 |not equal
> <> |bool |int2 |int2 |not equal
> <> |bool |int4 |int4 |not equal
> <> |bool |lseg |lseg |equals
> <> |bool |money |money |not equal
> <> |bool |name |name |not equal
> <> |bool |oid |oid |not equal
> <--SNIP-->
>
> This looks like a wrong entry in one of the system tables. Any ideas which
> one it is, and how to correct this ?

Good eye. Yes, it was wrong. To fix it, edit
/pgsql/src/include/catalog/pg_operator.h.

Search for the strings 'lseq_eq'. The first instance is correct, but
the second instance should be 'lseg_neq'. Then you must run initdb to
reload the system tables.

Another way to do this would be to do an update on 'pg_operator'. I
believe the oid is 1586, and the field is oprcode, so you can try:

update pg_operator
set oprcode = 'lseg_neq'
where oid = 1586

\do should then show the proper values.

--
Bruce Momjian | http://www.op.net/~candle
maillist(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Jackson, DeJuan 1998-10-28 17:11:51 RE: [SQL] Joining bug????
Previous Message Guido Weber 1998-10-28 12:34:16 Operator <> for lseg,lseg bug