Re: [PATCH] kNN for btree

From: Nikita Glukhov <n(dot)gluhov(at)postgrespro(dot)ru>
To: Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru>
Cc: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, David Steele <david(at)pgmasters(dot)net>, Anastasia Lubennikova <lubennikovaav(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: [PATCH] kNN for btree
Date: 2019-07-12 17:30:22
Message-ID: d5816c42-6ade-f101-5470-da4e67df694b@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Attached 13th version of the patches.

On 08.07.2019 21:09, Alexander Korotkov wrote:
> I have more thoughts about planner/executor infrastructure. It
> appears that supporting "ORDER BY col1, col2 <-> val" is too complex
> for initial version of patch. Handling of "ORDER BY col" and "ORDER
> BY col <-> val" cases uses different code paths in optimizer.
>
> So, I'd like to limit first version of this patch to support just most
> simple "ORDER BY col <-> val" case. We would probably be able to
> enhance it even in v13 release cycle, but let's start with just simple
> case. I also think we can evade replacing amcanorderbyop flag with
> method, but introduce just new boolean flag indicating knn supports
> only first column.

Now patches 1-8 implement only "ORDER BY col <-> const" case.
ammatchorderby() is replaced with amorderbyopfirstcol flag.

Patches 9-12 contain ammatchorderby() and other features, so they may
not be reviewed right now.

On 08.07.2019 11:07, Thomas Munro wrote:
> make check-world fails for me, and in tmp_install/log/install.log I see:
> btree_int2.c:97:9: error: implicit declaration of function 'int2dist'
> is invalid in C99 [-Werror,-Wimplicit-function-declaration]
> return int2dist(fcinfo);
> ^
> btree_int2.c:97:9: note: did you mean 'int2_dist'?
> btree_int2.c:95:1: note: 'int2_dist' declared here
> int2_dist(PG_FUNCTION_ARGS)
> ^
> 1 error generated.
Fixed.

--
Nikita Glukhov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

Attachment Content-Type Size
0001-Fix-get_index_column_opclass-v13.patch.gz application/gzip 804 bytes
0002-Introduce-ammorderbyopfirstcol-v13.patch.gz application/gzip 2.5 KB
0003-Enable-ORDER-BY-operator-scans-on-ordered-indexes-v13.patch.gz application/gzip 1.4 KB
0004-Extract-structure-BTScanState-v13.patch.gz application/gzip 10.4 KB
0005-Add-kNN-support-to-btree-v13.patch.gz application/gzip 16.2 KB
0006-Add-btree-distance-operators-v13.patch.gz application/gzip 11.7 KB
0007-Remove-distance-operators-from-btree_gist-v13.patch.gz application/gzip 10.9 KB
0008-Add-regression-tests-for-kNN-btree-v13.patch.gz application/gzip 4.3 KB
0009-Introduce-ammatchorderby-function-v13.patch.gz application/gzip 6.5 KB
0010-Add-btree-support-of-kNN-on-non-first-column-v13.patch.gz application/gzip 3.8 KB
0011-Allow-ammatchorderby-to-return-pathkey-sublists-v13.patch.gz application/gzip 1002 bytes
0012-Add-support-of-array-ops-to-btree-kNN-v13.patch.gz application/gzip 6.3 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Mike Palmiotto 2019-07-12 18:34:05 Re: [RFC] [PATCH] Flexible "partition pruning" hook
Previous Message Pavel Stehule 2019-07-12 16:37:53 Re: idea: log_statement_sample_rate - bottom limit for sampling