From: | Alexander Korotkov <aekorotkov(at)gmail(dot)com> |
---|---|
To: | Andrew Gierth <andrew(at)tao11(dot)riddles(dot)org(dot)uk> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Fix picksplit with nan values |
Date: | 2013-09-17 13:04:19 |
Message-ID: | CAPpHfdsAbAy5DwWCgZbhB-+VysE8_rO06=PZHf+7rZ=PcZn8eg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, Sep 16, 2013 at 4:13 PM, Andrew Gierth
<andrew(at)tao11(dot)riddles(dot)org(dot)uk>wrote:
> >>>>> "Alexander" == Alexander Korotkov <aekorotkov(at)gmail(dot)com> writes:
>
> Alexander> 2) NaN coordinates should be processed in GiST index scan
> Alexander> like in sequential scan.
>
> postgres=# select * from pts order by a <-> '(0,0)' limit 10;
> a
> ----------
> (1,1)
> (7,nan)
> (9,nan)
> (11,nan)
> (4,nan)
> (nan,6)
> (2,1)
> (1,2)
> (2,2)
> (3,1)
> (10 rows)
>
> postgres=# set enable_indexscan=false;
> SET
>
> postgres=# select * from pts order by a <-> '(0,0)' limit 10;
> a
> -------
> (1,1)
> (2,1)
> (1,2)
> (2,2)
> (3,1)
> (1,3)
> (3,2)
> (2,3)
> (4,1)
> (1,4)
> (10 rows)
>
> this data set was created by:
> insert into pts
> select point(i,j)
> from (select generate_series(1,100)::float8 union all select 'nan')
> s1(i),
> (select generate_series(1,100)::float8 union all select 'nan')
> s2(j)
> order by random();
Thanks, Andrew! Good spot.
I didn't examine order by operators for work with NaNs.
I think this time problem is in GiST itself rather than in opclass. I'm
going to fix it in a separate patch.
------
With best regards,
Alexander Korotkov.
From | Date | Subject | |
---|---|---|---|
Next Message | Hannu Krosing | 2013-09-17 13:14:52 | Re: record identical operator |
Previous Message | Haribabu kommi | 2013-09-17 12:53:48 | Re: insert throw error when year field len > 4 for timestamptz datatype |