Re: [PATCH] kNN for btree

Anton A. Melnikov <a.melnikov@postgrespro.ru>

From: "Anton A. Melnikov" <a.melnikov@postgrespro.ru>
To: "Andrey M. Borodin" <x4mmm@yandex-team.ru>
Cc: Peter Geoghegan <pg@bowt.ie>, Alexander Korotkov <aekorotkov@gmail.com>, 'Alvaro Herrera' <alvherre@alvh.no-ip.org>, Nikita Glukhov <n.gluhov@postgrespro.ru>, Thomas Munro <thomas.munro@gmail.com>, David Steele <david@pgmasters.net>, Anastasia Lubennikova <lubennikovaav@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-07-31T04:46:18Z
Lists: pgsql-hackers

Attachments

Hi!

Rebased existing patch on current master to have an actual working version.
There is an inconsistency with commit 5bf748b86.

Reproduction:
CREATE TABLE test (a int4);
INSERT INTO test VALUES (2), (3);
CREATE INDEX test_idx ON test USING btree(a);
SET enable_seqscan = OFF;
SELECT * FROM test WHERE a IN (2, 3) ORDER BY a <-> 5;

Actual result:
postgres=# SELECT * FROM test WHERE a IN (2, 3) ORDER BY a <-> 5;
  a
---
  3
(1 row)

Correct expected result:
postgres=# SELECT * FROM test WHERE a IN (2, 3) ORDER BY a <-> 5;
  a
---
  3
  2
(2 rows)

Reported an issue in the thread corresponding to commit 5bf748b86.

With the best regards,


-- 
Anton A. Melnikov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

Commits

  1. Enhance nbtree ScalarArrayOp execution.

  2. Fix handling of non-key columns get_index_column_opclass()

  3. Add SQL-accessible functions for inspecting index AM properties.