Undocumented behaviour of \s in SIMILAR TO expression
The following documentation comment has been logged on the website:
Page: https://www.postgresql.org/docs/11/functions-matching.html
Description:
SELECT ' ' SIMILAR TO '[\s]';
returns true
SELECT ' ' SIMILAR TO '[\q]';
generates an error: [2201B]: ERROR: invalid regular expression: invalid
escape \ sequence
\s is not mentioned in the SIMILAR TO section
(https://www.postgresql.org/docs/current/functions-matching.html#FUNCTIONS-SIMILARTO-REGEXP).
If it’s officially supported (which would be useful for my current task), it
should be documented. Otherwise the server should generate an error like for
other invalid escapes.
On Thu, Dec 13, 2018 at 12:48:10PM +0000, PG Doc comments form wrote:
The following documentation comment has been logged on the website:
Page: https://www.postgresql.org/docs/11/functions-matching.html
Description:SELECT ' ' SIMILAR TO '[\s]';
returns trueSELECT ' ' SIMILAR TO '[\q]';
generates an error: [2201B]: ERROR: invalid regular expression: invalid
escape \ sequence\s is not mentioned in the SIMILAR TO section
(https://www.postgresql.org/docs/current/functions-matching.html#FUNCTIONS-SIMILARTO-REGEXP).
If it’s officially supported (which would be useful for my current task), it
should be documented. Otherwise the server should generate an error like for
other invalid escapes.
Well in:
https://www.postgresql.org/docs/11/functions-matching.html
I see \s documented, but not \q:
Table 9.19. Regular Expression Class-shorthand Escapes
Escape Description
\d [[:digit:]]
\s [[:space:]]
\w [[:alnum:]_] (note underscore is included)
\D [^[:digit:]]
\S [^[:space:]]
\W [^[:alnum:]_] (note underscore is included)
Frankly, I can't even guess what you expect \q to do.
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ As you are, so once was I. As I am, so you will be. +
+ Ancient Roman grave inscription +