agora inbox for pgsql-hackers@postgresql.org
help / color / mirror / Atom feedFrom: Nikita Glukhov <n.gluhov@postgrespro.ru>
To: Alexander Korotkov <a.korotkov@postgrespro.ru>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Cc: Heikki Linnakangas <hlinnaka@iki.fi>
Subject: Re: Bug in GiST paring heap comparator
Date: Wed, 25 Sep 2019 01:19:52 +0300
Message-ID: <53536807-784c-e029-6e92-6da802ab8d60@postgrespro.ru> (raw)
In-Reply-To: <426580d3-a668-b9d1-7b8e-f74d1a6524e0@postgrespro.ru>
References: <CAPpHfdsNvNdA0DBS+wMpFrgwT6C3-q50sFVGLSiuWnV3FqOJuQ@mail.gmail.com>
<7362fcac-3664-d960-f0fa-77c24e62a7b3@iki.fi>
<CAPpHfdtaQZLC_9Zyn9rFMoxVKPimDBce0SwKvT5+7XH=z_xYvA@mail.gmail.com>
<CAPpHfdvgx7hM4wJmeEeaiuYTTZjzsokJyhfL1h7Gt-sxKZidZQ@mail.gmail.com>
<826f57ee-afc7-8977-c44c-6111d18b02ec@postgrespro.ru>
<CAPpHfdskuYR5tN78u7Yk_H9SQdnjnYFZZ8aQ69jRbXrRVzV=9g@mail.gmail.com>
<e9547b97-ed11-8e0e-6f40-0777d2407207@postgrespro.ru>
<CAPpHfdvttSd3XsVp5dSgBKz=KxakWtBnbgCeJULJDRpVkB_K8A@mail.gmail.com>
<ebcee467-547e-ca63-1858-4a485c4b8261@postgrespro.ru>
<CAPpHfdtkvxXtxT7KADq+_Y894qM6ybAuF10rYp1bxfvYfW6dLw@mail.gmail.com>
<907ff6e7-001c-8e86-e05f-ffe5483c2634@postgrespro.ru>
<CAPpHfdsnNdryJ765=oqw16Nv4fKdHEJ+T5Tm07asOL6a4s3W9g@mail.gmail.com>
<CAPpHfdsr-YceL5JyJ4DQ5O8mBksYBaS5S+rbei3Vap6hTZ4KKQ@mail.gmail.com>
<426580d3-a668-b9d1-7b8e-f74d1a6524e0@postgrespro.ru>
On 20.09.2019 0:15, Nikita Glukhov wrote:
> On 19.09.2019 22:14, Alexander Korotkov wrote:
>> Pushed.
> Attached patch fixes premature xs_orderbynulls[] assignment. The old value
> of NULL flag, not the new, should be checked before pfree()ing the old value.
Attached another one-line patch that fixes incorrect number of distances used
in pairingheap_SpGistSearchItem_cmp():
- for (i = 0; i < so->numberOfOrderBys; i++)
+ for (i = 0; i < so->numberOfNonNullOrderBys; i++)
This change was present in my original commit, but it seems to have been
missed after the rebase. Sorry.
--
Nikita Glukhov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company
Attachments:
[text/x-patch] 0001-Fix-number-of-distances-in-pairingheap_SpGistSearchI.patch (876B, ../53536807-784c-e029-6e92-6da802ab8d60@postgrespro.ru/3-0001-Fix-number-of-distances-in-pairingheap_SpGistSearchI.patch)
download | inline diff:
From 2e58a94fd2f973257d1c8a3d9cd0b907c719a859 Mon Sep 17 00:00:00 2001
From: Nikita Glukhov <n.gluhov@postgrespro.ru>
Date: Tue, 24 Sep 2019 01:33:03 +0300
Subject: [PATCH] Fix number of distances in pairingheap_SpGistSearchItem_cmp()
---
src/backend/access/spgist/spgscan.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/backend/access/spgist/spgscan.c b/src/backend/access/spgist/spgscan.c
index cfba470..6e940fd 100644
--- a/src/backend/access/spgist/spgscan.c
+++ b/src/backend/access/spgist/spgscan.c
@@ -56,7 +56,7 @@ pairingheap_SpGistSearchItem_cmp(const pairingheap_node *a,
else
{
/* Order according to distance comparison */
- for (i = 0; i < so->numberOfOrderBys; i++)
+ for (i = 0; i < so->numberOfNonNullOrderBys; i++)
{
if (isnan(sa->distances[i]) && isnan(sb->distances[i]))
continue; /* NaN == NaN */
--
2.7.4
view thread (17+ messages) latest in thread
Message-ID: <53536807-784c-e029-6e92-6da802ab8d60@postgrespro.ru>
Permalink: ../53536807-784c-e029-6e92-6da802ab8d60@postgrespro.ru/
Also on: postgresql.org/message-id/53536807-784c-e029-6e92-6da802ab8d60@postgrespro.ru
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: n.gluhov@postgrespro.ru, a.korotkov@postgrespro.ru, hlinnaka@iki.fi
Subject: Re: Bug in GiST paring heap comparator
In-Reply-To: <53536807-784c-e029-6e92-6da802ab8d60@postgrespro.ru>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox