Re: Expected behaviour of \d in regexp with exponent numbers ?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Arnaud Lesauvage <arnaud(dot)listes(at)codata(dot)eu>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Expected behaviour of \d in regexp with exponent numbers ?
Date: 2014-09-01 16:11:58
Message-ID: 26124.1409587918@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Arnaud Lesauvage <arnaud(dot)listes(at)codata(dot)eu> writes:
> Le 1/09/2014 17:39, Tom Lane a crit :
>> Not necessarily. \d will match any character that iswdigit() returns true
>> for. It looks like your new server is using a locale that considers ""
>> to be a digit.

> Since both PostgreSQL servers run on the same computer, can I assume
> that this is a collation problem ?

Ah: after consulting the commit history I realized that the regex
operators only base \d on iswdigit() in 9.2 and later. Before that
it was hardwired as [0-9]. So there might not be any difference
in the locale environment after all.

I wonder whether this was a bad idea. I think it's unsurprising for the
definition of "alphanumeric" to depend on locale, but I bet most people
are not expecting \d to vary that way.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jerry Sievers 2014-09-01 17:57:17 Re: Getting invalid page header in block while vacuuming PostgreSQL DB.
Previous Message Arnaud Lesauvage 2014-09-01 15:49:05 Re: Expected behaviour of \d in regexp with exponent numbers ?