Re: proposal: searching in array function - array_position

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: proposal: searching in array function - array_position
Дата
Msg-id CAFj8pRCkPWPxFytViWXOqHyayE=4k-AYma=Vdqe+PSPQsdrntw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: proposal: searching in array function - array_position  (Jim Nasby <Jim.Nasby@BlueTreble.com>)
Ответы Re: proposal: searching in array function - array_position  (Jim Nasby <Jim.Nasby@BlueTreble.com>)
Список pgsql-hackers


2015-03-10 22:53 GMT+01:00 Jim Nasby <Jim.Nasby@bluetreble.com>:
On 2/22/15 5:19 AM, Pavel Stehule wrote:


2015-02-22 3:00 GMT+01:00 Petr Jelinek <petr@2ndquadrant.com
<mailto:petr@2ndquadrant.com>>:

    On 28/01/15 08:15, Pavel Stehule wrote:



        2015-01-28 0:01 GMT+01:00 Jim Nasby <Jim.Nasby@bluetreble.com
        <mailto:Jim.Nasby@bluetreble.com>
        <mailto:Jim.Nasby@bluetreble.__com
        <mailto:Jim.Nasby@bluetreble.com>>>:

             On 1/27/15 4:36 AM, Pavel Stehule wrote:


                 It is only partially identical - I would to use cache for
                 array_offset, but it is not necessary for array_offsets ..
                 depends how we would to modify current API to support
        externally
                 cached data.


             Externally cached data?


        Some from these functions has own caches for minimize access to
        typcache
        (array_map, array_cmp is example). And in first case, I am trying to
        push these information from fn_extra, in second case I don't do it,
        because I don't expect a repeated call (and I am expecting so
        type cache
        will be enough).


    You actually do caching via fn_extra in both case and I think that's
    the correct way, and yes that part can be moved common function.

    I also see that the documentation does not say what is returned by
    array_offset if nothing is found (it's documented in code but not in
    sgml).


rebased + fixed docs

I don't think we need both array_offset and array_offset_start; can't both SQL functions just call one C function?

There is a rule about unique mapping C functions to SQL space - and I don't think so this rule is bad.
 

It might be worth combining the array and non-array versions of this, by having a _common function that accepts a boolean and then just run one or the other of the while loops. Most of the code seems to be shared between the two versions.

What is this comment supposed to mean? There is no 'width_array'...

The code is similar, but it expect large **sorted** input. array_offset works on unsorted (alphabetical unsorted) data sets - like days of week ..
 

 * Biggest difference against width_array is unsorted input array.

I've attached my doc changes, both alone and with the code.

--
Jim Nasby, Data Architect, Blue Treble Consulting
Data in Trouble? Get it in Treble! http://BlueTreble.com

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Pavel Stehule
Дата:
Сообщение: Re: proposal: searching in array function - array_position
Следующее
От: Fujii Masao
Дата:
Сообщение: Re: [REVIEW] Re: Compression of full-page-writes