Thread: pgsql: Introduce a SQL-callable function array_sort(anyarray).
Introduce a SQL-callable function array_sort(anyarray). Create a function that will sort the elements of an array according to the element type's sort order. If the array has more than one dimension, the sub-arrays of the first dimension are sorted per normal array-comparison rules, leaving their contents alone. In support of this, add pg_type.typarray to the set of fields cached by the typcache. Author: Junwang Zhao <zhjwpku@gmail.com> Co-authored-by: Jian He <jian.universality@gmail.com> Reviewed-by: Aleksander Alekseev <aleksander@timescale.com> Discussion: https://postgr.es/m/CAEG8a3J41a4dpw_-F94fF-JPRXYxw-GfsgoGotKcjs9LVfEEvw@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/6c12ae09f5a5d6c153eaea7901542591dc28fb9e Modified Files -------------- doc/src/sgml/func.sgml | 36 +++++ src/backend/utils/adt/array_userfuncs.c | 178 +++++++++++++++++++++++++ src/backend/utils/cache/typcache.c | 2 + src/include/catalog/catversion.h | 2 +- src/include/catalog/pg_proc.dat | 12 ++ src/include/utils/typcache.h | 1 + src/test/regress/expected/arrays.out | 142 ++++++++++++++++++++ src/test/regress/expected/collate.icu.utf8.out | 13 ++ src/test/regress/sql/arrays.sql | 36 +++++ src/test/regress/sql/collate.icu.utf8.sql | 4 + src/tools/pgindent/typedefs.list | 1 + 11 files changed, 426 insertions(+), 1 deletion(-)