Re: [HACKERS] [PATCH] kNN for btree
От | Robert Haas |
---|---|
Тема | Re: [HACKERS] [PATCH] kNN for btree |
Дата | |
Msg-id | CA+TgmoaXqGBVTR+7RLwE-S0-UO6j2y3QnxPN1zNj0rudV1Hvvg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] [PATCH] kNN for btree (Alexander Korotkov <a.korotkov@postgrespro.ru>) |
Ответы |
Re: [HACKERS] [PATCH] kNN for btree
|
Список | pgsql-hackers |
On Thu, Feb 16, 2017 at 8:05 AM, Alexander Korotkov <a.korotkov@postgrespro.ru> wrote: > My idea is that we need more general redesign of specifying ordering which > index can produce. Ideally, we should replace amcanorder, amcanbackward and > amcanorderbyop with single callback. Such callback should take a list of > pathkeys and return number of leading pathkeys index could satisfy (with > corresponding information for index scan). I'm not sure that other hackers > would agree with such design, but I'm very convinced that we need something > of this level of extendability. Otherwise we would have to hack our planner > <-> index_access_method interface each time we decide to cover another index > produced ordering. Yeah. I'm not sure if that's exactly the right idea. But it seems like we need something. >> info->amcanorderbyop = (void (*)()) amroutine->amcanorderbyop; > > It's not necessary to use cast here. For instance, we don't use cast for > amcostestimate. In fact, it's bad to use the cast here, because if in future the signature of one of amroutine->amcanorderbyop is changed and info->amcanorderbyop is not changed to match, then the cast will prevent a compiler warning, but at runtime you may crash. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: