pgsql: Hash support for row types

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Hash support for row types
Date: 2020-11-19 08:41:37
Message-ID: E1kffVZ-000294-FB@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Hash support for row types

Add hash functions for the record type as well as a hash operator
family and operator class for the record type. This enables all the
hash functionality for the record type such as hash-based plans for
UNION/INTERSECT/EXCEPT DISTINCT, recursive queries using UNION
DISTINCT, hash joins, and hash partitioning.

Reviewed-by: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Discussion: https://www.postgresql.org/message-id/flat/38eccd35-4e2d-6767-1b3c-dada1eac3124%402ndquadrant.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/01e658fa74cb7e3292448f6663b549135958003b

Modified Files
--------------
doc/src/sgml/queries.sgml | 9 --
src/backend/utils/adt/rowtypes.c | 249 ++++++++++++++++++++++++++++++++
src/backend/utils/cache/lsyscache.c | 7 +-
src/backend/utils/cache/typcache.c | 78 +++++++---
src/include/catalog/catversion.h | 2 +-
src/include/catalog/pg_amop.dat | 5 +
src/include/catalog/pg_amproc.dat | 4 +
src/include/catalog/pg_opclass.dat | 2 +
src/include/catalog/pg_operator.dat | 2 +-
src/include/catalog/pg_opfamily.dat | 2 +
src/include/catalog/pg_proc.dat | 7 +
src/test/regress/expected/hash_func.out | 21 +++
src/test/regress/expected/join.out | 1 +
src/test/regress/expected/union.out | 83 ++++++-----
src/test/regress/expected/with.out | 33 ++++-
src/test/regress/sql/hash_func.sql | 17 +++
src/test/regress/sql/join.sql | 1 +
src/test/regress/sql/union.sql | 12 +-
src/test/regress/sql/with.sql | 2 +-
19 files changed, 462 insertions(+), 75 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2020-11-19 10:35:54 pgsql: Rename object in test to avoid conflict
Previous Message Thomas Munro 2020-11-19 05:14:56 pgsql: Add BarrierArriveAndDetachExceptLast().