Re: Position() Bug ? In PostgreSQL 9.2 - Mailing list pgsql-general

From Amit Langote
Subject Re: Position() Bug ? In PostgreSQL 9.2
Date
Msg-id CA+HiwqFhO67as0ZE42QqFCyrCjb-jV38H8i9pHvsRxzor+zWuA@mail.gmail.com
Whole thread Raw
In response to Position() Bug ? In PostgreSQL 9.2  (dinesh kumar <dineshkumar02@gmail.com>)
List pgsql-general
This behavior is similar to strstr(3) ('needle in a haystack'
substring locating C function).

char *strstr(const char *haystack, const char *needle)

which returns haystack (that is main string) if needle (string to be
located) is empty.

Assuming position() tries to do something similar, it returns first
index (which is 1) of the main string (haystack!). Although this does
not answer if it's a bug or not, I tend to think it is deliberate.

On Thu, May 2, 2013 at 9:09 PM, dinesh kumar <dineshkumar02@gmail.com> wrote:
> Hello Team,
>
> I would like to know whether the following behavior is a BUG or an expected
> behavior. If this is a duplicated case, then kindly ignore.
>
> postgres=# SELECT version();
>                            version
> -------------------------------------------------------------
>  PostgreSQL 9.2.3, compiled by Visual C++ build 1600, 32-bit
> (1 row)
>
>
> postgres=# select position('P' in 'PostgreSQL');
>  position
> ----------
>         1
> (1 row)
>
>
> postgres=# select position('' in 'PostgreSQL'); // position(Substring as an
> empty string) is returning 1.
>  position
> ----------
>         1
> (1 row)
>
> Kindly let me know, if anything i miss here.
>
> Regards,
> Dinesh
> manojadinesh.blogspot.com



--

Amit Langote


pgsql-general by date:

Previous
From: dinesh kumar
Date:
Subject: Position() Bug ? In PostgreSQL 9.2
Next
From: Tom Lane
Date:
Subject: Re: Position() Bug ? In PostgreSQL 9.2