Re: proposal: searching in array function - array_position

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Marko Tiikkaja <marko(at)joh(dot)to>
Cc: Jim Nasby <Jim(dot)Nasby(at)bluetreble(dot)com>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Petr Jelinek <petr(at)2ndquadrant(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, Robert Haas <robertmhaas(at)gmail(dot)com>
Subject: Re: proposal: searching in array function - array_position
Date: 2015-03-18 11:51:52
Message-ID: CAFj8pRC8-vzy+LAd6b-LS9pSbjgHCgbfreNZHZeePJcd=c1u-w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

2015-03-18 12:41 GMT+01:00 Marko Tiikkaja <marko(at)joh(dot)to>:

> On 3/18/15 12:27 PM, Pavel Stehule wrote:
>
>> On 3/17/15 8:06 PM, Alvaro Herrera wrote:
>>>
>>> My main question regarding this patch is whether the behavior with MD
>>>> arrays is useful at all. Suppose I give it this:
>>>>
>>>> alvherre=# select array_offset('{{{1,2},{3,4},{
>>>> 5,6}},{{2,3},{4,5},{6,7}}}',
>>>> 3);
>>>> array_offset
>>>> --------------
>>>> 3
>>>> (1 fila)
>>>>
>>>> What can I do with the "3" value it returned? Certainly not use it as
>>>> an offset to get a slice of the original array. The only thing that
>>>> seems sensible to me here is to reject the whole thing with an error,
>>>> that is, only accept 1-D arrays here. We can later extend the function
>>>> by allowing higher dimensionality as long as the second argument is an
>>>> array one dimension less than the first argument. But if we allow the
>>>> case on its appearance, it's going to be difficult to change the
>>>> behavior later.
>>>>
>>>> I designed this possibility (use ND arrays)
>> mainly for info, if some value exists or not.
>>
>
> Why not use =ANY() for that?
>

It is only partial solution - array_offset use "IS NOT DISTINCT FROM"
operator.

>
> I am thinking, so this behave is correct (there is no other possible), but
>> it is only corner case for this functionality - and if you are thinking,
>> so
>> better to disallow it, I am not against. My main focus is 1ND array.
>>
>
> A nonsensical answer for multi-dimensional arrays is worse than no answer
> at all. I think raising an exception is better.
>

I have not problem with it.

Regards

Pavel

>
>
> .m
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2015-03-18 11:52:13 Re: Add LINE: hint when schemaname.typename is a non-existent schema
Previous Message Marko Tiikkaja 2015-03-18 11:41:51 Re: proposal: searching in array function - array_position