Create an SP-GiST opclass for inet/cidr

Enterprise / PostgreSQL - Tom Lane [sss.pgh.pa.us] - 23 August 2016 14:16 UTC

This seems to offer significantly better search performance than the existing GiST opclass for inet/cidr, at least on data with a wide mix of network mask lengths. (That may suggest that the data splitting heuristics in the GiST opclass could be improved.)

Emre Hasegeli, with mostly-cosmetic adjustments by me

Discussion:

77e2906 Create an SP-GiST opclass for inet/cidr.
doc/src/sgml/spgist.sgml | 17 +
src/backend/utils/adt/Makefile | 2 +-
src/backend/utils/adt/network_spgist.c | 708 ++++++++++++++++++++++++++++++
src/include/catalog/catversion.h | 2 +-
src/include/catalog/pg_amop.h | 15 +
src/include/catalog/pg_amproc.h | 5 +
src/include/catalog/pg_opclass.h | 1 +
src/include/catalog/pg_opfamily.h | 1 +
src/include/catalog/pg_proc.h | 12 +
src/include/utils/inet.h | 9 +
src/test/regress/expected/inet.out | 148 +++++++
src/test/regress/expected/opr_sanity.out | 11 +-
src/test/regress/sql/inet.sql | 23 +
13 files changed, 951 insertions(+), 3 deletions(-)

Upstream: git.postgresql.org


  • Share