Re: BUG #16333: position() function not equivalent to strpos() function when comparing citext

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: "me(at)reynolds(dot)tj" <me(at)reynolds(dot)tj>, "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: BUG #16333: position() function not equivalent to strpos() function when comparing citext
Date: 2020-04-02 01:00:17
Message-ID: CAKFQuwYYnVw_DKFT5mw9AxYMPb0PhHH6HTrA4pN+NSZVFzK4yQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Wednesday, April 1, 2020, PG Bug reporting form <noreply(at)postgresql(dot)org>
wrote:

> The following bug has been logged on the website:
>
> Bug reference: 16333
> Logged by: Tyler Reynolds
> Email address: me(at)reynolds(dot)tj
> PostgreSQL version: 9.6.17
> Operating system: Windows 10
> Description:
>
> To reproduce:
>
> CREATE DATABASE test;
> CREATE EXTENSION citext;
>
> SELECT position('foo'::citext IN 'Foobar'::citext) =
> strpos('Foobar'::citext, 'foo'::citext) as "positionEqualsStrpos";
>
> Expected: "positionEqualsStrpos" returns TRUE.
> Actual: "positionEqualsStrpos" returns FALSE.
>
> Citext does not create an overload for position() supporting citext
> parameters, therefore position(a in b) always runs case-sensitive.
>

Nor does it claim to so this isn’t a bug. The fact that citext doesn’t
work with the SQL functions seems intentional.

David J.

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2020-04-02 01:04:44 Re: BUG #16333: position() function not equivalent to strpos() function when comparing citext
Previous Message Doug Johnson 2020-04-02 00:51:32 Postgres Installer not Appearing When Exe Is Run