Add geometry/range functions to support BRIN inclusion
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 5 May 2015 18:22:24 +0000 (15:22 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 5 May 2015 18:22:24 +0000 (15:22 -0300)
commit3b6db1f445e14bd189ebc99ce1e5535a1c624613
tree0b2f037f21af6ed3ae5334c29491bc9ebe5f8e3f
parent456ff0863851d70dce679ca3f631392589e31a33
Add geometry/range functions to support BRIN inclusion

This commit adds the following functions:
    box(point) -> box
    bound_box(box, box) -> box
    inet_same_family(inet, inet) -> bool
    inet_merge(inet, inet) -> cidr
    range_merge(anyrange, anyrange) -> anyrange

The first of these is also used to implement a new assignment cast from
point to box.

These functions are the first part of a base to implement an "inclusion"
operator class for BRIN, for multidimensional data types.

Author: Emre Hasegeli
Reviewed by: Andreas Karlsson
18 files changed:
doc/src/sgml/func.sgml
src/backend/utils/adt/geo_ops.c
src/backend/utils/adt/network.c
src/backend/utils/adt/rangetypes.c
src/include/catalog/catversion.h
src/include/catalog/pg_cast.h
src/include/catalog/pg_proc.h
src/include/utils/builtins.h
src/include/utils/geo_decls.h
src/include/utils/rangetypes.h
src/test/regress/expected/geometry.out
src/test/regress/expected/geometry_1.out
src/test/regress/expected/geometry_2.out
src/test/regress/expected/inet.out
src/test/regress/expected/rangetypes.out
src/test/regress/sql/geometry.sql
src/test/regress/sql/inet.sql
src/test/regress/sql/rangetypes.sql