Re: BUG #17407: trim trims more than expected - Mailing list pgsql-bugs

From Alvaro Herrera
Subject Re: BUG #17407: trim trims more than expected
Date
Msg-id 202202161512.tsbczybuwa3i@alvherre.pgsql
Whole thread Raw
In response to BUG #17407: trim trims more than expected  (PG Bug reporting form <noreply@postgresql.org>)
List pgsql-bugs
On 2022-Feb-16, PG Bug reporting form wrote:

> Unexpected output
> 
> demo=# select trim ('nextval(''' from
> substring('nextval(''auth_table_id_seq''::regclass)' from '%#"%_id_seq#"%'
> for '#' ));
>       btrim       
> ------------------
>  uth_table_id_seq

Not a bug.  trim() receives a *set* of characters to remove, not a
*substring* to remove, so the 'a' in 'auth' is matched to the 'a' in
'nextval(' and gets removed.

You can probably achieve what you want by combining substring() with
position() and char_length(), or by using a regular expression in
regexp_replace().

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/
"La conclusión que podemos sacar de esos estudios es que
no podemos sacar ninguna conclusión de ellos" (Tanenbaum)



pgsql-bugs by date:

Previous
From: PG Bug reporting form
Date:
Subject: BUG #17409: Unable to alter data type of clustered column which is referenced by foreign key
Next
From: Tom Lane
Date:
Subject: Re: Report a potential memory leak in setup_config()