Re: Custom text type for title text - Mailing list pgsql-hackers

From Greg Stark
Subject Re: Custom text type for title text
Date
Msg-id CAM-w4HNwJus72nWm-zTcOKb3eMUJ0-Dec03=0Akat3uJMdz14Q@mail.gmail.com
Whole thread Raw
In response to Re: Custom text type for title text  (Daniel Heath <daniel@heath.cc>)
List pgsql-hackers
Policy on contrib has shifted over time. But generally we want to encourage a lively ecosystem of extensions maintained outside of the Postgres source tree so we avoid adding things to contrib when there's no particular advantage. 

The most common reason things are added to contrib is when the extension is closely tied to internals and needs to be maintained along with changes to internals. Modules like that are hard to maintain separately. But modules that use documented general extensibility APIs should be able to be stable across versions and live outside contrib.

On Thu 3 Jan 2019, 23:54 Daniel Heath <daniel@heath.cc wrote:
Would this also be appropriate for inclusion as contrib? I'm unfamiliar with the policy for what is / is not included there.

Thanks,
Daniel Heath


On Fri, Jan 4, 2019, at 9:47 AM, Fabrízio de Royes Mello wrote:


Em qui, 3 de jan de 2019 às 20:22, Daniel Heath <daniel@heath.cc> escreveu:
Hi All,

I've frequently seen an issue in applications which store titles (eg of books, events, user profiles) where duplicate values are not properly vetted. 

The 'citext' type is helpful here, but I'd be keen to go further. 

I propose a 'titletext' type, which has the following properties when compared for equality:
 * Case insensitivity (like 'citext')
 * Only considers characters in [:alnum:] (that is, ignores spaces, punctuation, etc)

This would be useful for a range of situations where it's important to avoid entering duplicate values.

Given the discussion at https://www.postgresql.org/message-id/CAKFQuwY9u14TqG8Yzj%3DfAB0tydvvtK7ibgFEx3tegbPWsGjJpg%40mail.gmail.com I'd lean towards making this type not automatically coerce to text (to avoid surprising behaviour when comparing text to titletext).

Is a suitable patch likely to be accepted?

You don’t need touch the core to do that. Just implement it as an extension and share throught some channel like pgxn.org.

Note that citext also is an extension and released as a contrib module.

Regards,

--
   Fabrízio de Royes Mello         Timbira - http://www.timbira.com.br/
   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento

pgsql-hackers by date:

Previous
From: Andrey Borodin
Date:
Subject: Re: GiST VACUUM
Next
From: Michael Paquier
Date:
Subject: Re: [PATCH] Pass COPT and PROFILE to CXXFLAGS as well