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

Re: Aren't lseg_eq and lseg_ne broken?

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Aren't lseg_eq and lseg_ne broken?
Date: 2002-11-29 18:03:34
Message-ID: 200211291803.gATI3Yn26305@candle.pha.pa.us (view raw or flat)
Thread:
Lists: pgsql-hackers
Tom Lane wrote:
> By chance I just noticed that lseg equality is coded as
> 
> Datum
> lseg_eq(PG_FUNCTION_ARGS)
> {
>     LSEG       *l1 = PG_GETARG_LSEG_P(0);
>     LSEG       *l2 = PG_GETARG_LSEG_P(1);
> 
>     PG_RETURN_BOOL(FPeq(l1->p[0].x, l2->p[0].x) &&
>                    FPeq(l1->p[1].y, l2->p[1].y) &&
>                    FPeq(l1->p[0].x, l2->p[0].x) &&
>                    FPeq(l1->p[1].y, l2->p[1].y));
> }
> 
> Surely this should be
> 
>     PG_RETURN_BOOL(FPeq(l1->p[0].x, l2->p[0].x) &&
>                    FPeq(l1->p[0].y, l2->p[0].y) &&
>                    FPeq(l1->p[1].x, l2->p[1].x) &&
>                    FPeq(l1->p[1].y, l2->p[1].y));

Yep, there could be no possible reason to double-test something like the
original code does.  It must be wrong.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman(at)candle(dot)pha(dot)pa(dot)us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

In response to

pgsql-hackers by date

Next:From: Tom LaneDate: 2002-11-29 18:33:28
Subject: Re: nested transactions
Previous:From: Tom LaneDate: 2002-11-29 17:59:38
Subject: Aren't lseg_eq and lseg_ne broken?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group