Add sort support routine for the UUID data type.
authorRobert Haas <rhaas@postgresql.org>
Fri, 6 Nov 2015 17:10:42 +0000 (12:10 -0500)
committerRobert Haas <rhaas@postgresql.org>
Fri, 6 Nov 2015 17:14:35 +0000 (12:14 -0500)
commita76ef15d9fc9207a0758e8d6f6700dc8c931a934
tree857e40da63c94ece9d32f7d71bcda01776b87187
parent5644419b3de418f81e4461cbaa06c5d4b5da0800
Add sort support routine for the UUID data type.

This introduces a simple encoding scheme to produce abbreviated keys:
pack as many bytes of each UUID as will fit into a Datum.  On
little-endian machines, a byteswap is also performed; the abbreviated
comparator can therefore just consist of a simple 3-way unsigned integer
comparison.

The purpose of this change is to speed up sorting data on a column
of type UUID.

Peter Geoghegan
src/backend/utils/adt/uuid.c
src/include/catalog/pg_amproc.h
src/include/catalog/pg_proc.h
src/include/utils/builtins.h