From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Support negative indexes in split_part(). |
Date: | 2020-11-13 18:50:06 |
Message-ID: | E1kde98-00059Y-S6@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Support negative indexes in split_part().
This provides a handy way to get, say, the last field of the string.
Use of a negative index in this way has precedent in the nearby
left() and right() functions.
The implementation scans the string twice when N < -1, but it seems
likely that N = -1 will be the huge majority of actual use cases,
so I'm not really excited about adding complexity to avoid that.
Nikhil Benesch, reviewed by Jacob Champion; cosmetic tweakage by me
Discussion: https://postgr.es/m/cbb7f861-6162-3a51-9823-97bc3aa0b638@gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/ec0294fb2c8287fd673c57701cdcf6c6396b2f60
Modified Files
--------------
doc/src/sgml/func.sgml | 8 +++-
src/backend/utils/adt/varlena.c | 83 ++++++++++++++++++++++++++++-------
src/test/regress/expected/strings.out | 74 ++++++++++++++++++++++++++++++-
src/test/regress/sql/strings.sql | 24 ++++++++++
4 files changed, 172 insertions(+), 17 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2020-11-14 02:43:50 | pgsql: Fix some typos |
Previous Message | Heikki Linnakangas | 2020-11-13 11:43:31 | pgsql: Remove another test that doesn't work on Windows. |