{"kind": "opclass", "major": "18", "item": {"slug": "family-gist-multirange_ops", "name": "gist/multirange_ops (family)", "name_zh": "", "category": "GiST families", "summary": "GiST operator family containing 1 classes, 18 operator strategies and 7 support functions in this source build.", "aliases": ["multirange_ops", "gist/multirange_ops"], "content_hash": "d1d70670e1585495b69c686c831f9fe79ed3b10526e9de3bddab0d50b0c6b74d", "versions": {"14": {"facts": [{"label": "Object kind", "value": "Operator family"}, {"label": "Index AM", "value": "GiST"}], "family": {"name": "multirange_ops", "method": "gist"}, "tables": [{"key": "operators", "rows": [{"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c3c-anymultirange-anymultirange/?v=14", "text": "<<(anymultirange,anymultirange)"}, "strategy": "1", "description": "is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c3c-anymultirange-anyrange/?v=14", "text": "<<(anymultirange,anyrange)"}, "strategy": "1", "description": "is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263c-anymultirange-anymultirange/?v=14", "text": "&<(anymultirange,anymultirange)"}, "strategy": "2", "description": "overlaps or is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263c-anymultirange-anyrange/?v=14", "text": "&<(anymultirange,anyrange)"}, "strategy": "2", "description": "overlaps or is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2626-anymultirange-anymultirange/?v=14", "text": "&&(anymultirange,anymultirange)"}, "strategy": "3", "description": "overlaps", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2626-anymultirange-anyrange/?v=14", "text": "&&(anymultirange,anyrange)"}, "strategy": "3", "description": "overlaps", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263e-anymultirange-anymultirange/?v=14", "text": "&>(anymultirange,anymultirange)"}, "strategy": "4", "description": "overlaps or is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263e-anymultirange-anyrange/?v=14", "text": "&>(anymultirange,anyrange)"}, "strategy": "4", "description": "overlaps or is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3e3e-anymultirange-anymultirange/?v=14", "text": ">>(anymultirange,anymultirange)"}, "strategy": "5", "description": "is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3e3e-anymultirange-anyrange/?v=14", "text": ">>(anymultirange,anyrange)"}, "strategy": "5", "description": "is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2d7c2d-anymultirange-anymultirange/?v=14", "text": "-|-(anymultirange,anymultirange)"}, "strategy": "6", "description": "is adjacent to", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2d7c2d-anymultirange-anyrange/?v=14", "text": "-|-(anymultirange,anyrange)"}, "strategy": "6", "description": "is adjacent to", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anymultirange/?v=14", "text": "@>(anymultirange,anymultirange)"}, "strategy": "7", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anyrange/?v=14", "text": "@>(anymultirange,anyrange)"}, "strategy": "7", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c40-anymultirange-anymultirange/?v=14", "text": "<@(anymultirange,anymultirange)"}, "strategy": "8", "description": "is contained by", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c40-anymultirange-anyrange/?v=14", "text": "<@(anymultirange,anyrange)"}, "strategy": "8", "description": "is contained by", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anyelement/?v=14", "text": "@>(anymultirange,anyelement)"}, "strategy": "16", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3d-anymultirange-anymultirange/?v=14", "text": "=(anymultirange,anymultirange)"}, "strategy": "18", "description": "equal", "sort_family": ""}], "title": "Family operator strategies", "columns": [{"key": "operator", "label": "Operator overload"}, {"key": "strategy", "label": "Strategy"}, {"key": "purpose", "label": "Purpose"}, {"key": "sort_family", "label": "Ordering family"}, {"key": "scope", "label": "Membership scope"}, {"key": "description", "label": "Source description"}]}, {"key": "support-functions", "rows": [{"number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=14", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=14", "text": "anymultirange"}, "result_type": "bool"}, {"number": "2", "function": "range_gist_union(internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=14", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=14", "text": "anymultirange"}, "result_type": "anyrange"}, {"number": "3", "function": "multirange_gist_compress(internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=14", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=14", "text": "anymultirange"}, "result_type": "internal"}, {"number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=14", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=14", "text": "anymultirange"}, "result_type": "internal"}, {"number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=14", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=14", "text": "anymultirange"}, "result_type": "internal"}, {"number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=14", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=14", "text": "anymultirange"}, "result_type": "internal"}], "title": "Family support functions", "columns": [{"key": "number", "label": "Support number"}, {"key": "left_type", "label": "Left type"}, {"key": "right_type", "label": "Right type"}, {"key": "function", "label": "Function signature"}, {"key": "result_type", "label": "Result type"}]}, {"key": "classes", "rows": [{"class": {"url": "/wiki/opclass/class-gist-multirange_ops/?v=14", "text": "multirange_ops"}, "default": "yes", "key_type": {"url": "/wiki/type/anyrange/?v=14", "text": "anyrange"}, "input_type": {"url": "/wiki/type/anymultirange/?v=14", "text": "anymultirange"}}], "title": "Classes in this family", "columns": [{"key": "class", "label": "Class"}, {"key": "input_type", "label": "Input type"}, {"key": "key_type", "label": "Key type"}, {"key": "default", "label": "Default"}]}], "aliases": ["multirange_ops", "gist/multirange_ops"], "classes": [{"name": "multirange_ops", "slug": "class-gist-multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange", "source_oid": "", "family_slug": "family-gist-multirange_ops"}], "related": [{"url": "/wiki/indexam/gist/?v=14", "label": "GiST Index AM"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "source_sha256": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897", "manual_fingerprint": "1d055c6dc55d4defe2b6e9d0f842a47005487b21025b67e51d06721d3c122f71", "catalog_fingerprint": "9e0116f26e5ce870719efb77ef7b73e30c7928f8af27cbe87fdea32efe3811ef"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, {"url": "/docs/14/indexes-opclass.html", "path": "indexes-opclass.html", "label": "PostgreSQL 14 English manual: indexes-opclass.html", "sha256": "b7e355fb7c1e6fe473dc70d4c7e73cd3aa9a11dddd2e32ece5e8effbdb910c0b"}, {"url": "/docs/14/catalog-pg-opfamily.html", "path": "catalog-pg-opfamily.html", "label": "PostgreSQL 14 English manual: catalog-pg-opfamily.html", "sha256": "8a0b55015a6e8f90326f0526570b3bbca00a06a3c1ca142b8324528b60112c4f"}, {"url": "/docs/14/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 14 English manual: catalog-pg-amop.html", "sha256": "402b87d7fb1a313b096ba5349a676ae38d507e2eb98739d6ed7f0681e0b9a9a4"}, {"url": "/docs/14/catalog-pg-amproc.html", "path": "catalog-pg-amproc.html", "label": "PostgreSQL 14 English manual: catalog-pg-amproc.html", "sha256": "5b918a7eba7592dc13a32a8fcbb7ca0a198d8f4d2b8a85b3c7befbc7705d44a1"}], "sections": [{"title": "Operator classes and families", "paragraphs": ["An index definition can specify an operator class for each column of an index.", "The operator class identifies the operators to be used by the index for that column. For example, a B-tree index on the type int4 would use the int4_ops class; this operator class includes comparison functions for values of type int4 . In practice the default operator class for the column's data type is usually sufficient. The main reason for having operator classes is that for some data types, there could be more than one meaningful index behavior. For example, we might want to sort a complex-number data type either by absolute value or by real part. We could do this by defining two operator classes for the data type and then selecting the proper class when making an index. The operator class determines the basic sort ordering (which can then be modified by adding sort options COLLATE , ASC / DESC and/or NULLS FIRST / NULLS LAST ).", "There are also some built-in operator classes besides the default ones:"]}], "operators": [{"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anymultirange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c3c-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anyrange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anyrange", "description": "is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c3c-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anymultirange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps or is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263c-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anyrange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps or is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263c-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anymultirange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2626-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anyrange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2626-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anymultirange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps or is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anyrange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps or is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anymultirange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3e3e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anyrange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anyrange", "description": "is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3e3e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anymultirange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is adjacent to", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2d7c2d-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anyrange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anyrange", "description": "is adjacent to", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2d7c2d-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anymultirange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anymultirange", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyrange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anyrange", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anymultirange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is contained by", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c40-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anyrange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anyrange", "description": "is contained by", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c40-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyelement)", "strategy": "16", "left_type": "anymultirange", "right_type": "anyelement", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anyelement", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "=(anymultirange,anymultirange)", "strategy": "18", "left_type": "anymultirange", "right_type": "anymultirange", "description": "equal", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3d-anymultirange-anymultirange", "sort_family_slug": ""}], "signature": "gist/multirange_ops", "source_oid": "6158", "description": ["GiST operator family containing 1 classes, 18 operator strategies and 6 support functions in this source build."], "comparison_data": {"kind": "family", "classes": [{"name": "multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}], "operators": [{"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyelement)", "strategy": "16", "left_type": "anymultirange", "right_type": "anyelement", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anymultirange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "=(anymultirange,anymultirange)", "strategy": "18", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anymultirange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anymultirange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anymultirange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anymultirange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anymultirange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anymultirange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anymultirange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anyrange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anyrange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anyrange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anyrange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anyrange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anyrange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyrange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anyrange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}], "attributes": {"name": "multirange_ops", "method": "gist"}, "support_functions": [{"family": "multirange_ops", "method": "gist", "number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "bool"}, {"family": "multirange_ops", "method": "gist", "number": "2", "function": "range_gist_union(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "anyrange"}, {"family": "multirange_ops", "method": "gist", "number": "3", "function": "multirange_gist_compress(internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}]}, "comparison_hash": "1e43b0f678ec40286dfecac8419175e3d741c45d3260222a72a027bdb901b236", "support_functions": [{"family": "multirange_ops", "method": "gist", "number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "bool"}, {"family": "multirange_ops", "method": "gist", "number": "2", "function": "range_gist_union(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "anyrange"}, {"family": "multirange_ops", "method": "gist", "number": "3", "function": "multirange_gist_compress(internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}]}, "15": {"facts": [{"label": "Object kind", "value": "Operator family"}, {"label": "Index AM", "value": "GiST"}], "family": {"name": "multirange_ops", "method": "gist"}, "tables": [{"key": "operators", "rows": [{"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c3c-anymultirange-anymultirange/?v=15", "text": "<<(anymultirange,anymultirange)"}, "strategy": "1", "description": "is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c3c-anymultirange-anyrange/?v=15", "text": "<<(anymultirange,anyrange)"}, "strategy": "1", "description": "is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263c-anymultirange-anymultirange/?v=15", "text": "&<(anymultirange,anymultirange)"}, "strategy": "2", "description": "overlaps or is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263c-anymultirange-anyrange/?v=15", "text": "&<(anymultirange,anyrange)"}, "strategy": "2", "description": "overlaps or is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2626-anymultirange-anymultirange/?v=15", "text": "&&(anymultirange,anymultirange)"}, "strategy": "3", "description": "overlaps", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2626-anymultirange-anyrange/?v=15", "text": "&&(anymultirange,anyrange)"}, "strategy": "3", "description": "overlaps", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263e-anymultirange-anymultirange/?v=15", "text": "&>(anymultirange,anymultirange)"}, "strategy": "4", "description": "overlaps or is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263e-anymultirange-anyrange/?v=15", "text": "&>(anymultirange,anyrange)"}, "strategy": "4", "description": "overlaps or is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3e3e-anymultirange-anymultirange/?v=15", "text": ">>(anymultirange,anymultirange)"}, "strategy": "5", "description": "is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3e3e-anymultirange-anyrange/?v=15", "text": ">>(anymultirange,anyrange)"}, "strategy": "5", "description": "is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2d7c2d-anymultirange-anymultirange/?v=15", "text": "-|-(anymultirange,anymultirange)"}, "strategy": "6", "description": "is adjacent to", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2d7c2d-anymultirange-anyrange/?v=15", "text": "-|-(anymultirange,anyrange)"}, "strategy": "6", "description": "is adjacent to", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anymultirange/?v=15", "text": "@>(anymultirange,anymultirange)"}, "strategy": "7", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anyrange/?v=15", "text": "@>(anymultirange,anyrange)"}, "strategy": "7", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c40-anymultirange-anymultirange/?v=15", "text": "<@(anymultirange,anymultirange)"}, "strategy": "8", "description": "is contained by", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c40-anymultirange-anyrange/?v=15", "text": "<@(anymultirange,anyrange)"}, "strategy": "8", "description": "is contained by", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anyelement/?v=15", "text": "@>(anymultirange,anyelement)"}, "strategy": "16", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3d-anymultirange-anymultirange/?v=15", "text": "=(anymultirange,anymultirange)"}, "strategy": "18", "description": "equal", "sort_family": ""}], "title": "Family operator strategies", "columns": [{"key": "operator", "label": "Operator overload"}, {"key": "strategy", "label": "Strategy"}, {"key": "purpose", "label": "Purpose"}, {"key": "sort_family", "label": "Ordering family"}, {"key": "scope", "label": "Membership scope"}, {"key": "description", "label": "Source description"}]}, {"key": "support-functions", "rows": [{"number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=15", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=15", "text": "anymultirange"}, "result_type": "bool"}, {"number": "2", "function": "range_gist_union(internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=15", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=15", "text": "anymultirange"}, "result_type": "anyrange"}, {"number": "3", "function": "multirange_gist_compress(internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=15", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=15", "text": "anymultirange"}, "result_type": "internal"}, {"number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=15", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=15", "text": "anymultirange"}, "result_type": "internal"}, {"number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=15", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=15", "text": "anymultirange"}, "result_type": "internal"}, {"number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=15", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=15", "text": "anymultirange"}, "result_type": "internal"}], "title": "Family support functions", "columns": [{"key": "number", "label": "Support number"}, {"key": "left_type", "label": "Left type"}, {"key": "right_type", "label": "Right type"}, {"key": "function", "label": "Function signature"}, {"key": "result_type", "label": "Result type"}]}, {"key": "classes", "rows": [{"class": {"url": "/wiki/opclass/class-gist-multirange_ops/?v=15", "text": "multirange_ops"}, "default": "yes", "key_type": {"url": "/wiki/type/anyrange/?v=15", "text": "anyrange"}, "input_type": {"url": "/wiki/type/anymultirange/?v=15", "text": "anymultirange"}}], "title": "Classes in this family", "columns": [{"key": "class", "label": "Class"}, {"key": "input_type", "label": "Input type"}, {"key": "key_type", "label": "Key type"}, {"key": "default", "label": "Default"}]}], "aliases": ["multirange_ops", "gist/multirange_ops"], "classes": [{"name": "multirange_ops", "slug": "class-gist-multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange", "source_oid": "", "family_slug": "family-gist-multirange_ops"}], "related": [{"url": "/wiki/indexam/gist/?v=15", "label": "GiST Index AM"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "source_sha256": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89", "manual_fingerprint": "f39c61e9facb5b9404c7d6d1cf494d83af0cc46146554a7fc40724eb882d24a9", "catalog_fingerprint": "1c332a5ccec7bfdd8ca19b55a0279b5bd6cb1dd5dcc6c5587a98a491a9b566a5"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, {"url": "/docs/15/indexes-opclass.html", "path": "indexes-opclass.html", "label": "PostgreSQL 15 English manual: indexes-opclass.html", "sha256": "57685c0a60cb570754be680551a6947556a03b6ff16a4a511483bdcac143c6da"}, {"url": "/docs/15/catalog-pg-opfamily.html", "path": "catalog-pg-opfamily.html", "label": "PostgreSQL 15 English manual: catalog-pg-opfamily.html", "sha256": "f64fe11b448841cb4016489062de017e275de583a429b06c1824f545835ef300"}, {"url": "/docs/15/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 15 English manual: catalog-pg-amop.html", "sha256": "53ced8770f19710869151ab02a9a6f0d97380981ca4bfe83752092bfb74a9e0c"}, {"url": "/docs/15/catalog-pg-amproc.html", "path": "catalog-pg-amproc.html", "label": "PostgreSQL 15 English manual: catalog-pg-amproc.html", "sha256": "cdcce97c140ef4b73e0abc870c6a7f0d8ebda9f31d4c02b3f5444f50828d7f37"}], "sections": [{"title": "Operator classes and families", "paragraphs": ["An index definition can specify an operator class for each column of an index.", "The operator class identifies the operators to be used by the index for that column. For example, a B-tree index on the type int4 would use the int4_ops class; this operator class includes comparison functions for values of type int4 . In practice the default operator class for the column's data type is usually sufficient. The main reason for having operator classes is that for some data types, there could be more than one meaningful index behavior. For example, we might want to sort a complex-number data type either by absolute value or by real part. We could do this by defining two operator classes for the data type and then selecting the proper class when making an index. The operator class determines the basic sort ordering (which can then be modified by adding sort options COLLATE , ASC / DESC and/or NULLS FIRST / NULLS LAST ).", "There are also some built-in operator classes besides the default ones:"]}], "operators": [{"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anymultirange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c3c-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anyrange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anyrange", "description": "is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c3c-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anymultirange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps or is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263c-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anyrange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps or is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263c-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anymultirange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2626-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anyrange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2626-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anymultirange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps or is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anyrange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps or is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anymultirange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3e3e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anyrange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anyrange", "description": "is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3e3e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anymultirange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is adjacent to", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2d7c2d-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anyrange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anyrange", "description": "is adjacent to", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2d7c2d-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anymultirange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anymultirange", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyrange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anyrange", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anymultirange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is contained by", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c40-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anyrange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anyrange", "description": "is contained by", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c40-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyelement)", "strategy": "16", "left_type": "anymultirange", "right_type": "anyelement", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anyelement", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "=(anymultirange,anymultirange)", "strategy": "18", "left_type": "anymultirange", "right_type": "anymultirange", "description": "equal", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3d-anymultirange-anymultirange", "sort_family_slug": ""}], "signature": "gist/multirange_ops", "source_oid": "6158", "description": ["GiST operator family containing 1 classes, 18 operator strategies and 6 support functions in this source build."], "comparison_data": {"kind": "family", "classes": [{"name": "multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}], "operators": [{"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyelement)", "strategy": "16", "left_type": "anymultirange", "right_type": "anyelement", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anymultirange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "=(anymultirange,anymultirange)", "strategy": "18", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anymultirange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anymultirange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anymultirange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anymultirange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anymultirange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anymultirange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anymultirange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anyrange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anyrange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anyrange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anyrange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anyrange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anyrange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyrange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anyrange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}], "attributes": {"name": "multirange_ops", "method": "gist"}, "support_functions": [{"family": "multirange_ops", "method": "gist", "number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "bool"}, {"family": "multirange_ops", "method": "gist", "number": "2", "function": "range_gist_union(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "anyrange"}, {"family": "multirange_ops", "method": "gist", "number": "3", "function": "multirange_gist_compress(internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}]}, "comparison_hash": "1e43b0f678ec40286dfecac8419175e3d741c45d3260222a72a027bdb901b236", "support_functions": [{"family": "multirange_ops", "method": "gist", "number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "bool"}, {"family": "multirange_ops", "method": "gist", "number": "2", "function": "range_gist_union(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "anyrange"}, {"family": "multirange_ops", "method": "gist", "number": "3", "function": "multirange_gist_compress(internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}]}, "16": {"facts": [{"label": "Object kind", "value": "Operator family"}, {"label": "Index AM", "value": "GiST"}], "family": {"name": "multirange_ops", "method": "gist"}, "tables": [{"key": "operators", "rows": [{"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c3c-anymultirange-anymultirange/?v=16", "text": "<<(anymultirange,anymultirange)"}, "strategy": "1", "description": "is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c3c-anymultirange-anyrange/?v=16", "text": "<<(anymultirange,anyrange)"}, "strategy": "1", "description": "is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263c-anymultirange-anymultirange/?v=16", "text": "&<(anymultirange,anymultirange)"}, "strategy": "2", "description": "overlaps or is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263c-anymultirange-anyrange/?v=16", "text": "&<(anymultirange,anyrange)"}, "strategy": "2", "description": "overlaps or is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2626-anymultirange-anymultirange/?v=16", "text": "&&(anymultirange,anymultirange)"}, "strategy": "3", "description": "overlaps", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2626-anymultirange-anyrange/?v=16", "text": "&&(anymultirange,anyrange)"}, "strategy": "3", "description": "overlaps", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263e-anymultirange-anymultirange/?v=16", "text": "&>(anymultirange,anymultirange)"}, "strategy": "4", "description": "overlaps or is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263e-anymultirange-anyrange/?v=16", "text": "&>(anymultirange,anyrange)"}, "strategy": "4", "description": "overlaps or is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3e3e-anymultirange-anymultirange/?v=16", "text": ">>(anymultirange,anymultirange)"}, "strategy": "5", "description": "is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3e3e-anymultirange-anyrange/?v=16", "text": ">>(anymultirange,anyrange)"}, "strategy": "5", "description": "is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2d7c2d-anymultirange-anymultirange/?v=16", "text": "-|-(anymultirange,anymultirange)"}, "strategy": "6", "description": "is adjacent to", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2d7c2d-anymultirange-anyrange/?v=16", "text": "-|-(anymultirange,anyrange)"}, "strategy": "6", "description": "is adjacent to", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anymultirange/?v=16", "text": "@>(anymultirange,anymultirange)"}, "strategy": "7", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anyrange/?v=16", "text": "@>(anymultirange,anyrange)"}, "strategy": "7", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c40-anymultirange-anymultirange/?v=16", "text": "<@(anymultirange,anymultirange)"}, "strategy": "8", "description": "is contained by", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c40-anymultirange-anyrange/?v=16", "text": "<@(anymultirange,anyrange)"}, "strategy": "8", "description": "is contained by", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anyelement/?v=16", "text": "@>(anymultirange,anyelement)"}, "strategy": "16", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3d-anymultirange-anymultirange/?v=16", "text": "=(anymultirange,anymultirange)"}, "strategy": "18", "description": "equal", "sort_family": ""}], "title": "Family operator strategies", "columns": [{"key": "operator", "label": "Operator overload"}, {"key": "strategy", "label": "Strategy"}, {"key": "purpose", "label": "Purpose"}, {"key": "sort_family", "label": "Ordering family"}, {"key": "scope", "label": "Membership scope"}, {"key": "description", "label": "Source description"}]}, {"key": "support-functions", "rows": [{"number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=16", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=16", "text": "anymultirange"}, "result_type": "bool"}, {"number": "2", "function": "range_gist_union(internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=16", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=16", "text": "anymultirange"}, "result_type": "anyrange"}, {"number": "3", "function": "multirange_gist_compress(internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=16", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=16", "text": "anymultirange"}, "result_type": "internal"}, {"number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=16", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=16", "text": "anymultirange"}, "result_type": "internal"}, {"number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=16", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=16", "text": "anymultirange"}, "result_type": "internal"}, {"number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=16", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=16", "text": "anymultirange"}, "result_type": "internal"}], "title": "Family support functions", "columns": [{"key": "number", "label": "Support number"}, {"key": "left_type", "label": "Left type"}, {"key": "right_type", "label": "Right type"}, {"key": "function", "label": "Function signature"}, {"key": "result_type", "label": "Result type"}]}, {"key": "classes", "rows": [{"class": {"url": "/wiki/opclass/class-gist-multirange_ops/?v=16", "text": "multirange_ops"}, "default": "yes", "key_type": {"url": "/wiki/type/anyrange/?v=16", "text": "anyrange"}, "input_type": {"url": "/wiki/type/anymultirange/?v=16", "text": "anymultirange"}}], "title": "Classes in this family", "columns": [{"key": "class", "label": "Class"}, {"key": "input_type", "label": "Input type"}, {"key": "key_type", "label": "Key type"}, {"key": "default", "label": "Default"}]}], "aliases": ["multirange_ops", "gist/multirange_ops"], "classes": [{"name": "multirange_ops", "slug": "class-gist-multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange", "source_oid": "", "family_slug": "family-gist-multirange_ops"}], "related": [{"url": "/wiki/indexam/gist/?v=16", "label": "GiST Index AM"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "source_sha256": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed", "manual_fingerprint": "846fb006e9d590387203c1c65f671240bc5c30604c4e3084cf572817aacc19d0", "catalog_fingerprint": "70797d889dd8aeed77ae81092f99ab380e1109b54b0b7ca6fbf400e0a2111a70"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, {"url": "/docs/16/indexes-opclass.html", "path": "indexes-opclass.html", "label": "PostgreSQL 16 English manual: indexes-opclass.html", "sha256": "a524c924c56d14615e7ea68aaaddd7c62abf7d153a0e291c191e0f4e962ffbae"}, {"url": "/docs/16/catalog-pg-opfamily.html", "path": "catalog-pg-opfamily.html", "label": "PostgreSQL 16 English manual: catalog-pg-opfamily.html", "sha256": "71b9139e78f463b6d1146ecc748e9142aedb70d82e003d27b43e95d9b6108b9d"}, {"url": "/docs/16/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 16 English manual: catalog-pg-amop.html", "sha256": "f580ac4a34d5f9d567834684e0c41b7df32a952e20a2fc11a9ce0964c2df7e9a"}, {"url": "/docs/16/catalog-pg-amproc.html", "path": "catalog-pg-amproc.html", "label": "PostgreSQL 16 English manual: catalog-pg-amproc.html", "sha256": "ce78e17af3e627c9f4a1b517d77b8eb2e071ba2e963f8b196bf9535ca98c388a"}], "sections": [{"title": "Operator classes and families", "paragraphs": ["An index definition can specify an operator class for each column of an index.", "The operator class identifies the operators to be used by the index for that column. For example, a B-tree index on the type int4 would use the int4_ops class; this operator class includes comparison functions for values of type int4 . In practice the default operator class for the column's data type is usually sufficient. The main reason for having operator classes is that for some data types, there could be more than one meaningful index behavior. For example, we might want to sort a complex-number data type either by absolute value or by real part. We could do this by defining two operator classes for the data type and then selecting the proper class when making an index. The operator class determines the basic sort ordering (which can then be modified by adding sort options COLLATE , ASC / DESC and/or NULLS FIRST / NULLS LAST ).", "There are also some built-in operator classes besides the default ones:"]}], "operators": [{"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anymultirange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c3c-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anyrange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anyrange", "description": "is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c3c-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anymultirange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps or is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263c-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anyrange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps or is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263c-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anymultirange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2626-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anyrange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2626-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anymultirange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps or is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anyrange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps or is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anymultirange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3e3e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anyrange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anyrange", "description": "is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3e3e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anymultirange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is adjacent to", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2d7c2d-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anyrange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anyrange", "description": "is adjacent to", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2d7c2d-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anymultirange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anymultirange", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyrange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anyrange", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anymultirange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is contained by", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c40-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anyrange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anyrange", "description": "is contained by", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c40-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyelement)", "strategy": "16", "left_type": "anymultirange", "right_type": "anyelement", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anyelement", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "=(anymultirange,anymultirange)", "strategy": "18", "left_type": "anymultirange", "right_type": "anymultirange", "description": "equal", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3d-anymultirange-anymultirange", "sort_family_slug": ""}], "signature": "gist/multirange_ops", "source_oid": "6158", "description": ["GiST operator family containing 1 classes, 18 operator strategies and 6 support functions in this source build."], "comparison_data": {"kind": "family", "classes": [{"name": "multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}], "operators": [{"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyelement)", "strategy": "16", "left_type": "anymultirange", "right_type": "anyelement", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anymultirange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "=(anymultirange,anymultirange)", "strategy": "18", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anymultirange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anymultirange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anymultirange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anymultirange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anymultirange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anymultirange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anymultirange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anyrange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anyrange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anyrange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anyrange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anyrange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anyrange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyrange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anyrange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}], "attributes": {"name": "multirange_ops", "method": "gist"}, "support_functions": [{"family": "multirange_ops", "method": "gist", "number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "bool"}, {"family": "multirange_ops", "method": "gist", "number": "2", "function": "range_gist_union(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "anyrange"}, {"family": "multirange_ops", "method": "gist", "number": "3", "function": "multirange_gist_compress(internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}]}, "comparison_hash": "1e43b0f678ec40286dfecac8419175e3d741c45d3260222a72a027bdb901b236", "support_functions": [{"family": "multirange_ops", "method": "gist", "number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "bool"}, {"family": "multirange_ops", "method": "gist", "number": "2", "function": "range_gist_union(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "anyrange"}, {"family": "multirange_ops", "method": "gist", "number": "3", "function": "multirange_gist_compress(internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}]}, "17": {"facts": [{"label": "Object kind", "value": "Operator family"}, {"label": "Index AM", "value": "GiST"}], "family": {"name": "multirange_ops", "method": "gist"}, "tables": [{"key": "operators", "rows": [{"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c3c-anymultirange-anymultirange/?v=17", "text": "<<(anymultirange,anymultirange)"}, "strategy": "1", "description": "is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c3c-anymultirange-anyrange/?v=17", "text": "<<(anymultirange,anyrange)"}, "strategy": "1", "description": "is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263c-anymultirange-anymultirange/?v=17", "text": "&<(anymultirange,anymultirange)"}, "strategy": "2", "description": "overlaps or is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263c-anymultirange-anyrange/?v=17", "text": "&<(anymultirange,anyrange)"}, "strategy": "2", "description": "overlaps or is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2626-anymultirange-anymultirange/?v=17", "text": "&&(anymultirange,anymultirange)"}, "strategy": "3", "description": "overlaps", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2626-anymultirange-anyrange/?v=17", "text": "&&(anymultirange,anyrange)"}, "strategy": "3", "description": "overlaps", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263e-anymultirange-anymultirange/?v=17", "text": "&>(anymultirange,anymultirange)"}, "strategy": "4", "description": "overlaps or is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263e-anymultirange-anyrange/?v=17", "text": "&>(anymultirange,anyrange)"}, "strategy": "4", "description": "overlaps or is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3e3e-anymultirange-anymultirange/?v=17", "text": ">>(anymultirange,anymultirange)"}, "strategy": "5", "description": "is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3e3e-anymultirange-anyrange/?v=17", "text": ">>(anymultirange,anyrange)"}, "strategy": "5", "description": "is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2d7c2d-anymultirange-anymultirange/?v=17", "text": "-|-(anymultirange,anymultirange)"}, "strategy": "6", "description": "is adjacent to", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2d7c2d-anymultirange-anyrange/?v=17", "text": "-|-(anymultirange,anyrange)"}, "strategy": "6", "description": "is adjacent to", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anymultirange/?v=17", "text": "@>(anymultirange,anymultirange)"}, "strategy": "7", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anyrange/?v=17", "text": "@>(anymultirange,anyrange)"}, "strategy": "7", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c40-anymultirange-anymultirange/?v=17", "text": "<@(anymultirange,anymultirange)"}, "strategy": "8", "description": "is contained by", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c40-anymultirange-anyrange/?v=17", "text": "<@(anymultirange,anyrange)"}, "strategy": "8", "description": "is contained by", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anyelement/?v=17", "text": "@>(anymultirange,anyelement)"}, "strategy": "16", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3d-anymultirange-anymultirange/?v=17", "text": "=(anymultirange,anymultirange)"}, "strategy": "18", "description": "equal", "sort_family": ""}], "title": "Family operator strategies", "columns": [{"key": "operator", "label": "Operator overload"}, {"key": "strategy", "label": "Strategy"}, {"key": "purpose", "label": "Purpose"}, {"key": "sort_family", "label": "Ordering family"}, {"key": "scope", "label": "Membership scope"}, {"key": "description", "label": "Source description"}]}, {"key": "support-functions", "rows": [{"number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=17", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=17", "text": "anymultirange"}, "result_type": "bool"}, {"number": "2", "function": "range_gist_union(internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=17", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=17", "text": "anymultirange"}, "result_type": "anyrange"}, {"number": "3", "function": "multirange_gist_compress(internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=17", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=17", "text": "anymultirange"}, "result_type": "internal"}, {"number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=17", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=17", "text": "anymultirange"}, "result_type": "internal"}, {"number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=17", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=17", "text": "anymultirange"}, "result_type": "internal"}, {"number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=17", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=17", "text": "anymultirange"}, "result_type": "internal"}], "title": "Family support functions", "columns": [{"key": "number", "label": "Support number"}, {"key": "left_type", "label": "Left type"}, {"key": "right_type", "label": "Right type"}, {"key": "function", "label": "Function signature"}, {"key": "result_type", "label": "Result type"}]}, {"key": "classes", "rows": [{"class": {"url": "/wiki/opclass/class-gist-multirange_ops/?v=17", "text": "multirange_ops"}, "default": "yes", "key_type": {"url": "/wiki/type/anyrange/?v=17", "text": "anyrange"}, "input_type": {"url": "/wiki/type/anymultirange/?v=17", "text": "anymultirange"}}], "title": "Classes in this family", "columns": [{"key": "class", "label": "Class"}, {"key": "input_type", "label": "Input type"}, {"key": "key_type", "label": "Key type"}, {"key": "default", "label": "Default"}]}], "aliases": ["multirange_ops", "gist/multirange_ops"], "classes": [{"name": "multirange_ops", "slug": "class-gist-multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange", "source_oid": "", "family_slug": "family-gist-multirange_ops"}], "related": [{"url": "/wiki/indexam/gist/?v=17", "label": "GiST Index AM"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "source_sha256": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979", "manual_fingerprint": "b55870f8e80e1114a92ac7bfc97f4a6fa0dee8e75935895252bb6e5b866cf187", "catalog_fingerprint": "e888e3474202df1c60a8e7b6bf9f2d83b3866a52d119521659b7a82787d3829d"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, {"url": "/docs/17/indexes-opclass.html", "path": "indexes-opclass.html", "label": "PostgreSQL 17 English manual: indexes-opclass.html", "sha256": "dcdeb2d461b79e5c679d29f2a6d3ad038c788ba5a6d094e63d17353352db3ef2"}, {"url": "/docs/17/catalog-pg-opfamily.html", "path": "catalog-pg-opfamily.html", "label": "PostgreSQL 17 English manual: catalog-pg-opfamily.html", "sha256": "f7825b4e69f5073f44322085111577a0747a214b367c599e87491f75bc2a05ef"}, {"url": "/docs/17/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 17 English manual: catalog-pg-amop.html", "sha256": "19b2fb110b348860f7fbcb6e0e0544e341f5645113c23f50920a54434d432359"}, {"url": "/docs/17/catalog-pg-amproc.html", "path": "catalog-pg-amproc.html", "label": "PostgreSQL 17 English manual: catalog-pg-amproc.html", "sha256": "c1e9a6c78cb61e434eba6e22547c50a677d0c414049fd515263bec770b16ff55"}], "sections": [{"title": "Operator classes and families", "paragraphs": ["An index definition can specify an operator class for each column of an index.", "The operator class identifies the operators to be used by the index for that column. For example, a B-tree index on the type int4 would use the int4_ops class; this operator class includes comparison functions for values of type int4 . In practice the default operator class for the column's data type is usually sufficient. The main reason for having operator classes is that for some data types, there could be more than one meaningful index behavior. For example, we might want to sort a complex-number data type either by absolute value or by real part. We could do this by defining two operator classes for the data type and then selecting the proper class when making an index. The operator class determines the basic sort ordering (which can then be modified by adding sort options COLLATE , ASC / DESC and/or NULLS FIRST / NULLS LAST ).", "There are also some built-in operator classes besides the default ones:"]}], "operators": [{"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anymultirange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c3c-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anyrange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anyrange", "description": "is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c3c-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anymultirange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps or is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263c-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anyrange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps or is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263c-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anymultirange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2626-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anyrange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2626-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anymultirange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps or is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anyrange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps or is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anymultirange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3e3e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anyrange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anyrange", "description": "is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3e3e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anymultirange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is adjacent to", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2d7c2d-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anyrange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anyrange", "description": "is adjacent to", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2d7c2d-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anymultirange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anymultirange", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyrange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anyrange", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anymultirange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is contained by", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c40-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anyrange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anyrange", "description": "is contained by", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c40-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyelement)", "strategy": "16", "left_type": "anymultirange", "right_type": "anyelement", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anyelement", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "=(anymultirange,anymultirange)", "strategy": "18", "left_type": "anymultirange", "right_type": "anymultirange", "description": "equal", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3d-anymultirange-anymultirange", "sort_family_slug": ""}], "signature": "gist/multirange_ops", "source_oid": "6158", "description": ["GiST operator family containing 1 classes, 18 operator strategies and 6 support functions in this source build."], "comparison_data": {"kind": "family", "classes": [{"name": "multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}], "operators": [{"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyelement)", "strategy": "16", "left_type": "anymultirange", "right_type": "anyelement", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anymultirange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "=(anymultirange,anymultirange)", "strategy": "18", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anymultirange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anymultirange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anymultirange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anymultirange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anymultirange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anymultirange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anymultirange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anyrange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anyrange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anyrange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anyrange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anyrange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anyrange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyrange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anyrange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}], "attributes": {"name": "multirange_ops", "method": "gist"}, "support_functions": [{"family": "multirange_ops", "method": "gist", "number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "bool"}, {"family": "multirange_ops", "method": "gist", "number": "2", "function": "range_gist_union(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "anyrange"}, {"family": "multirange_ops", "method": "gist", "number": "3", "function": "multirange_gist_compress(internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}]}, "comparison_hash": "1e43b0f678ec40286dfecac8419175e3d741c45d3260222a72a027bdb901b236", "support_functions": [{"family": "multirange_ops", "method": "gist", "number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "bool"}, {"family": "multirange_ops", "method": "gist", "number": "2", "function": "range_gist_union(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "anyrange"}, {"family": "multirange_ops", "method": "gist", "number": "3", "function": "multirange_gist_compress(internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}]}, "18": {"facts": [{"label": "Object kind", "value": "Operator family"}, {"label": "Index AM", "value": "GiST"}], "family": {"name": "multirange_ops", "method": "gist"}, "tables": [{"key": "operators", "rows": [{"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c3c-anymultirange-anymultirange/?v=18", "text": "<<(anymultirange,anymultirange)"}, "strategy": "1", "description": "is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c3c-anymultirange-anyrange/?v=18", "text": "<<(anymultirange,anyrange)"}, "strategy": "1", "description": "is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263c-anymultirange-anymultirange/?v=18", "text": "&<(anymultirange,anymultirange)"}, "strategy": "2", "description": "overlaps or is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263c-anymultirange-anyrange/?v=18", "text": "&<(anymultirange,anyrange)"}, "strategy": "2", "description": "overlaps or is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2626-anymultirange-anymultirange/?v=18", "text": "&&(anymultirange,anymultirange)"}, "strategy": "3", "description": "overlaps", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2626-anymultirange-anyrange/?v=18", "text": "&&(anymultirange,anyrange)"}, "strategy": "3", "description": "overlaps", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263e-anymultirange-anymultirange/?v=18", "text": "&>(anymultirange,anymultirange)"}, "strategy": "4", "description": "overlaps or is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263e-anymultirange-anyrange/?v=18", "text": "&>(anymultirange,anyrange)"}, "strategy": "4", "description": "overlaps or is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3e3e-anymultirange-anymultirange/?v=18", "text": ">>(anymultirange,anymultirange)"}, "strategy": "5", "description": "is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3e3e-anymultirange-anyrange/?v=18", "text": ">>(anymultirange,anyrange)"}, "strategy": "5", "description": "is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2d7c2d-anymultirange-anymultirange/?v=18", "text": "-|-(anymultirange,anymultirange)"}, "strategy": "6", "description": "is adjacent to", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2d7c2d-anymultirange-anyrange/?v=18", "text": "-|-(anymultirange,anyrange)"}, "strategy": "6", "description": "is adjacent to", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anymultirange/?v=18", "text": "@>(anymultirange,anymultirange)"}, "strategy": "7", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anyrange/?v=18", "text": "@>(anymultirange,anyrange)"}, "strategy": "7", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c40-anymultirange-anymultirange/?v=18", "text": "<@(anymultirange,anymultirange)"}, "strategy": "8", "description": "is contained by", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c40-anymultirange-anyrange/?v=18", "text": "<@(anymultirange,anyrange)"}, "strategy": "8", "description": "is contained by", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anyelement/?v=18", "text": "@>(anymultirange,anyelement)"}, "strategy": "16", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3d-anymultirange-anymultirange/?v=18", "text": "=(anymultirange,anymultirange)"}, "strategy": "18", "description": "equal", "sort_family": ""}], "title": "Family operator strategies", "columns": [{"key": "operator", "label": "Operator overload"}, {"key": "strategy", "label": "Strategy"}, {"key": "purpose", "label": "Purpose"}, {"key": "sort_family", "label": "Ordering family"}, {"key": "scope", "label": "Membership scope"}, {"key": "description", "label": "Source description"}]}, {"key": "support-functions", "rows": [{"number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "result_type": "bool"}, {"number": "2", "function": "range_gist_union(internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "result_type": "anyrange"}, {"number": "3", "function": "multirange_gist_compress(internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "result_type": "internal"}, {"number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "result_type": "internal"}, {"number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "result_type": "internal"}, {"number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "result_type": "internal"}, {"number": "12", "function": "gist_translate_cmptype_common(int4)", "left_type": {"url": "/wiki/type/any/?v=18", "text": "any"}, "right_type": {"url": "/wiki/type/any/?v=18", "text": "any"}, "result_type": "int2"}], "title": "Family support functions", "columns": [{"key": "number", "label": "Support number"}, {"key": "left_type", "label": "Left type"}, {"key": "right_type", "label": "Right type"}, {"key": "function", "label": "Function signature"}, {"key": "result_type", "label": "Result type"}]}, {"key": "classes", "rows": [{"class": {"url": "/wiki/opclass/class-gist-multirange_ops/?v=18", "text": "multirange_ops"}, "default": "yes", "key_type": {"url": "/wiki/type/anyrange/?v=18", "text": "anyrange"}, "input_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}}], "title": "Classes in this family", "columns": [{"key": "class", "label": "Class"}, {"key": "input_type", "label": "Input type"}, {"key": "key_type", "label": "Key type"}, {"key": "default", "label": "Default"}]}], "aliases": ["multirange_ops", "gist/multirange_ops"], "classes": [{"name": "multirange_ops", "slug": "class-gist-multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange", "source_oid": "", "family_slug": "family-gist-multirange_ops"}], "related": [{"url": "/wiki/indexam/gist/?v=18", "label": "GiST Index AM"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "manual_fingerprint": "fefce9e478eb2afe5e17e869492bbedc67dce23d317f0a5257240113d6496ebc", "catalog_fingerprint": "deec62e0f0c649d9d0d058ddd0b16bf41afffd569c3fd73949ff0971ce5cabd6"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, {"url": "/docs/18/indexes-opclass.html", "path": "indexes-opclass.html", "label": "PostgreSQL 18 English manual: indexes-opclass.html", "sha256": "07de06abf3a2aff2a891a2789def434d9b76705e54d45ca5338dc13451ae2962"}, {"url": "/docs/18/catalog-pg-opfamily.html", "path": "catalog-pg-opfamily.html", "label": "PostgreSQL 18 English manual: catalog-pg-opfamily.html", "sha256": "d4a2b7c2bcb5350b0c1f0111b61e4566f46fd97f48802d3ced2421a7aea60b80"}, {"url": "/docs/18/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 18 English manual: catalog-pg-amop.html", "sha256": "e65b90ee78eaf4b4da97ce5b08b972cee2e2660b882ec107be22eca47201f7d1"}, {"url": "/docs/18/catalog-pg-amproc.html", "path": "catalog-pg-amproc.html", "label": "PostgreSQL 18 English manual: catalog-pg-amproc.html", "sha256": "0a09afbde0ba8da9899bf770b86d8301bee116057b16ebe7db0e4a7fca2e91c6"}], "sections": [{"title": "Operator classes and families", "paragraphs": ["An index definition can specify an operator class for each column of an index.", "The operator class identifies the operators to be used by the index for that column. For example, a B-tree index on the type int4 would use the int4_ops class; this operator class includes comparison functions for values of type int4 . In practice the default operator class for the column's data type is usually sufficient. The main reason for having operator classes is that for some data types, there could be more than one meaningful index behavior. For example, we might want to sort a complex-number data type either by absolute value or by real part. We could do this by defining two operator classes for the data type and then selecting the proper class when making an index. The operator class determines the basic sort ordering (which can then be modified by adding sort options COLLATE , ASC / DESC and/or NULLS FIRST / NULLS LAST ).", "There are also some built-in operator classes besides the default ones:"]}], "operators": [{"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anymultirange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c3c-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anyrange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anyrange", "description": "is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c3c-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anymultirange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps or is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263c-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anyrange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps or is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263c-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anymultirange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2626-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anyrange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2626-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anymultirange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps or is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anyrange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps or is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anymultirange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3e3e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anyrange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anyrange", "description": "is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3e3e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anymultirange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is adjacent to", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2d7c2d-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anyrange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anyrange", "description": "is adjacent to", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2d7c2d-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anymultirange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anymultirange", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyrange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anyrange", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anymultirange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is contained by", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c40-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anyrange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anyrange", "description": "is contained by", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c40-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyelement)", "strategy": "16", "left_type": "anymultirange", "right_type": "anyelement", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anyelement", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "=(anymultirange,anymultirange)", "strategy": "18", "left_type": "anymultirange", "right_type": "anymultirange", "description": "equal", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3d-anymultirange-anymultirange", "sort_family_slug": ""}], "signature": "gist/multirange_ops", "source_oid": "6158", "description": ["GiST operator family containing 1 classes, 18 operator strategies and 7 support functions in this source build."], "comparison_data": {"kind": "family", "classes": [{"name": "multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}], "operators": [{"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyelement)", "strategy": "16", "left_type": "anymultirange", "right_type": "anyelement", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anymultirange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "=(anymultirange,anymultirange)", "strategy": "18", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anymultirange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anymultirange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anymultirange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anymultirange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anymultirange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anymultirange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anymultirange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anyrange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anyrange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anyrange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anyrange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anyrange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anyrange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyrange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anyrange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}], "attributes": {"name": "multirange_ops", "method": "gist"}, "support_functions": [{"family": "multirange_ops", "method": "gist", "number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "bool"}, {"family": "multirange_ops", "method": "gist", "number": "12", "function": "gist_translate_cmptype_common(int4)", "left_type": "any", "right_type": "any", "result_type": "int2"}, {"family": "multirange_ops", "method": "gist", "number": "2", "function": "range_gist_union(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "anyrange"}, {"family": "multirange_ops", "method": "gist", "number": "3", "function": "multirange_gist_compress(internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}]}, "comparison_hash": "1d881322a3c44d0a9d95c0c7081d78f7076b5e67bce07d487109527342919c72", "support_functions": [{"family": "multirange_ops", "method": "gist", "number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "bool"}, {"family": "multirange_ops", "method": "gist", "number": "2", "function": "range_gist_union(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "anyrange"}, {"family": "multirange_ops", "method": "gist", "number": "3", "function": "multirange_gist_compress(internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "12", "function": "gist_translate_cmptype_common(int4)", "left_type": "any", "right_type": "any", "family_slug": "family-gist-multirange_ops", "result_type": "int2"}]}, "19": {"facts": [{"label": "Object kind", "value": "Operator family"}, {"label": "Index AM", "value": "GiST"}], "family": {"name": "multirange_ops", "method": "gist"}, "tables": [{"key": "operators", "rows": [{"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c3c-anymultirange-anymultirange/?v=19", "text": "<<(anymultirange,anymultirange)"}, "strategy": "1", "description": "is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c3c-anymultirange-anyrange/?v=19", "text": "<<(anymultirange,anyrange)"}, "strategy": "1", "description": "is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263c-anymultirange-anymultirange/?v=19", "text": "&<(anymultirange,anymultirange)"}, "strategy": "2", "description": "overlaps or is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263c-anymultirange-anyrange/?v=19", "text": "&<(anymultirange,anyrange)"}, "strategy": "2", "description": "overlaps or is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2626-anymultirange-anymultirange/?v=19", "text": "&&(anymultirange,anymultirange)"}, "strategy": "3", "description": "overlaps", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2626-anymultirange-anyrange/?v=19", "text": "&&(anymultirange,anyrange)"}, "strategy": "3", "description": "overlaps", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263e-anymultirange-anymultirange/?v=19", "text": "&>(anymultirange,anymultirange)"}, "strategy": "4", "description": "overlaps or is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263e-anymultirange-anyrange/?v=19", "text": "&>(anymultirange,anyrange)"}, "strategy": "4", "description": "overlaps or is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3e3e-anymultirange-anymultirange/?v=19", "text": ">>(anymultirange,anymultirange)"}, "strategy": "5", "description": "is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3e3e-anymultirange-anyrange/?v=19", "text": ">>(anymultirange,anyrange)"}, "strategy": "5", "description": "is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2d7c2d-anymultirange-anymultirange/?v=19", "text": "-|-(anymultirange,anymultirange)"}, "strategy": "6", "description": "is adjacent to", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2d7c2d-anymultirange-anyrange/?v=19", "text": "-|-(anymultirange,anyrange)"}, "strategy": "6", "description": "is adjacent to", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anymultirange/?v=19", "text": "@>(anymultirange,anymultirange)"}, "strategy": "7", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anyrange/?v=19", "text": "@>(anymultirange,anyrange)"}, "strategy": "7", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c40-anymultirange-anymultirange/?v=19", "text": "<@(anymultirange,anymultirange)"}, "strategy": "8", "description": "is contained by", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c40-anymultirange-anyrange/?v=19", "text": "<@(anymultirange,anyrange)"}, "strategy": "8", "description": "is contained by", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anyelement/?v=19", "text": "@>(anymultirange,anyelement)"}, "strategy": "16", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3d-anymultirange-anymultirange/?v=19", "text": "=(anymultirange,anymultirange)"}, "strategy": "18", "description": "equal", "sort_family": ""}], "title": "Family operator strategies", "columns": [{"key": "operator", "label": "Operator overload"}, {"key": "strategy", "label": "Strategy"}, {"key": "purpose", "label": "Purpose"}, {"key": "sort_family", "label": "Ordering family"}, {"key": "scope", "label": "Membership scope"}, {"key": "description", "label": "Source description"}]}, {"key": "support-functions", "rows": [{"number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=19", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=19", "text": "anymultirange"}, "result_type": "bool"}, {"number": "2", "function": "range_gist_union(internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=19", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=19", "text": "anymultirange"}, "result_type": "anyrange"}, {"number": "3", "function": "multirange_gist_compress(internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=19", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=19", "text": "anymultirange"}, "result_type": "internal"}, {"number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=19", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=19", "text": "anymultirange"}, "result_type": "internal"}, {"number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=19", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=19", "text": "anymultirange"}, "result_type": "internal"}, {"number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=19", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=19", "text": "anymultirange"}, "result_type": "internal"}, {"number": "12", "function": "gist_translate_cmptype_common(int4)", "left_type": {"url": "/wiki/type/any/?v=19", "text": "any"}, "right_type": {"url": "/wiki/type/any/?v=19", "text": "any"}, "result_type": "int2"}], "title": "Family support functions", "columns": [{"key": "number", "label": "Support number"}, {"key": "left_type", "label": "Left type"}, {"key": "right_type", "label": "Right type"}, {"key": "function", "label": "Function signature"}, {"key": "result_type", "label": "Result type"}]}, {"key": "classes", "rows": [{"class": {"url": "/wiki/opclass/class-gist-multirange_ops/?v=19", "text": "multirange_ops"}, "default": "yes", "key_type": {"url": "/wiki/type/anyrange/?v=19", "text": "anyrange"}, "input_type": {"url": "/wiki/type/anymultirange/?v=19", "text": "anymultirange"}}], "title": "Classes in this family", "columns": [{"key": "class", "label": "Class"}, {"key": "input_type", "label": "Input type"}, {"key": "key_type", "label": "Key type"}, {"key": "default", "label": "Default"}]}], "aliases": ["multirange_ops", "gist/multirange_ops"], "classes": [{"name": "multirange_ops", "slug": "class-gist-multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange", "source_oid": "", "family_slug": "family-gist-multirange_ops"}], "related": [{"url": "/wiki/indexam/gist/?v=19", "label": "GiST Index AM"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "label": "19beta4", "major": "19", "channel": "preview", "revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "source_sha256": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86", "manual_fingerprint": "d1c30d7808d3ae2edc8773a0dd66f7beb5861e8939001e171c1908f7a09bb497", "catalog_fingerprint": "9af4323d0c8ed03d0e795331930bd14ce9bf6193c6b766c463b9f6ec0829409a"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86"}, {"url": "/docs/19/indexes-opclass.html", "path": "indexes-opclass.html", "label": "PostgreSQL 19 English manual: indexes-opclass.html", "sha256": "eba382a4227a2865a52fb015c7aec0dbde33d3c24373e3f9ba11e1daeae8b89c"}, {"url": "/docs/19/catalog-pg-opfamily.html", "path": "catalog-pg-opfamily.html", "label": "PostgreSQL 19 English manual: catalog-pg-opfamily.html", "sha256": "a6c127afadd1d22dc5879d15563bf5c569ec30d70e06735b62b9b3611331e9c9"}, {"url": "/docs/19/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 19 English manual: catalog-pg-amop.html", "sha256": "711850fdde973fbaf16da94143a2de3b972bed7a3b8663bf80e4aeabaf2f43fe"}, {"url": "/docs/19/catalog-pg-amproc.html", "path": "catalog-pg-amproc.html", "label": "PostgreSQL 19 English manual: catalog-pg-amproc.html", "sha256": "156082a05f95005ad8fabba56d5880f15f3b194d5f378ffee29a77066c77de12"}], "sections": [{"title": "Operator classes and families", "paragraphs": ["An index definition can specify an operator class for each column of an index.", "The operator class identifies the operators to be used by the index for that column. For example, a B-tree index on the type int4 would use the int4_ops class; this operator class includes comparison functions for values of type int4 . In practice the default operator class for the column's data type is usually sufficient. The main reason for having operator classes is that for some data types, there could be more than one meaningful index behavior. For example, we might want to sort a complex-number data type either by absolute value or by real part. We could do this by defining two operator classes for the data type and then selecting the proper class when making an index. The operator class determines the basic sort ordering (which can then be modified by adding sort options COLLATE , ASC / DESC and/or NULLS FIRST / NULLS LAST ).", "There are also some built-in operator classes besides the default ones:"]}], "operators": [{"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anymultirange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c3c-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anyrange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anyrange", "description": "is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c3c-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anymultirange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps or is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263c-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anyrange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps or is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263c-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anymultirange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2626-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anyrange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2626-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anymultirange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps or is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anyrange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps or is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anymultirange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3e3e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anyrange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anyrange", "description": "is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3e3e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anymultirange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is adjacent to", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2d7c2d-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anyrange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anyrange", "description": "is adjacent to", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2d7c2d-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anymultirange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anymultirange", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyrange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anyrange", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anymultirange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is contained by", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c40-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anyrange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anyrange", "description": "is contained by", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c40-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyelement)", "strategy": "16", "left_type": "anymultirange", "right_type": "anyelement", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anyelement", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "=(anymultirange,anymultirange)", "strategy": "18", "left_type": "anymultirange", "right_type": "anymultirange", "description": "equal", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3d-anymultirange-anymultirange", "sort_family_slug": ""}], "signature": "gist/multirange_ops", "source_oid": "6158", "description": ["GiST operator family containing 1 classes, 18 operator strategies and 7 support functions in this source build."], "comparison_data": {"kind": "family", "classes": [{"name": "multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}], "operators": [{"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyelement)", "strategy": "16", "left_type": "anymultirange", "right_type": "anyelement", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anymultirange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "=(anymultirange,anymultirange)", "strategy": "18", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anymultirange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anymultirange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anymultirange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anymultirange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anymultirange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anymultirange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anymultirange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anyrange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anyrange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anyrange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anyrange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anyrange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anyrange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyrange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anyrange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}], "attributes": {"name": "multirange_ops", "method": "gist"}, "support_functions": [{"family": "multirange_ops", "method": "gist", "number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "bool"}, {"family": "multirange_ops", "method": "gist", "number": "12", "function": "gist_translate_cmptype_common(int4)", "left_type": "any", "right_type": "any", "result_type": "int2"}, {"family": "multirange_ops", "method": "gist", "number": "2", "function": "range_gist_union(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "anyrange"}, {"family": "multirange_ops", "method": "gist", "number": "3", "function": "multirange_gist_compress(internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}]}, "comparison_hash": "1d881322a3c44d0a9d95c0c7081d78f7076b5e67bce07d487109527342919c72", "support_functions": [{"family": "multirange_ops", "method": "gist", "number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "bool"}, {"family": "multirange_ops", "method": "gist", "number": "2", "function": "range_gist_union(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "anyrange"}, {"family": "multirange_ops", "method": "gist", "number": "3", "function": "multirange_gist_compress(internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "12", "function": "gist_translate_cmptype_common(int4)", "left_type": "any", "right_type": "any", "family_slug": "family-gist-multirange_ops", "result_type": "int2"}]}, "20": {"facts": [{"label": "Object kind", "value": "Operator family"}, {"label": "Index AM", "value": "GiST"}], "family": {"name": "multirange_ops", "method": "gist"}, "tables": [{"key": "operators", "rows": [{"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c3c-anymultirange-anymultirange/?v=20", "text": "<<(anymultirange,anymultirange)"}, "strategy": "1", "description": "is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c3c-anymultirange-anyrange/?v=20", "text": "<<(anymultirange,anyrange)"}, "strategy": "1", "description": "is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263c-anymultirange-anymultirange/?v=20", "text": "&<(anymultirange,anymultirange)"}, "strategy": "2", "description": "overlaps or is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263c-anymultirange-anyrange/?v=20", "text": "&<(anymultirange,anyrange)"}, "strategy": "2", "description": "overlaps or is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2626-anymultirange-anymultirange/?v=20", "text": "&&(anymultirange,anymultirange)"}, "strategy": "3", "description": "overlaps", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2626-anymultirange-anyrange/?v=20", "text": "&&(anymultirange,anyrange)"}, "strategy": "3", "description": "overlaps", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263e-anymultirange-anymultirange/?v=20", "text": "&>(anymultirange,anymultirange)"}, "strategy": "4", "description": "overlaps or is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263e-anymultirange-anyrange/?v=20", "text": "&>(anymultirange,anyrange)"}, "strategy": "4", "description": "overlaps or is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3e3e-anymultirange-anymultirange/?v=20", "text": ">>(anymultirange,anymultirange)"}, "strategy": "5", "description": "is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3e3e-anymultirange-anyrange/?v=20", "text": ">>(anymultirange,anyrange)"}, "strategy": "5", "description": "is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2d7c2d-anymultirange-anymultirange/?v=20", "text": "-|-(anymultirange,anymultirange)"}, "strategy": "6", "description": "is adjacent to", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2d7c2d-anymultirange-anyrange/?v=20", "text": "-|-(anymultirange,anyrange)"}, "strategy": "6", "description": "is adjacent to", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anymultirange/?v=20", "text": "@>(anymultirange,anymultirange)"}, "strategy": "7", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anyrange/?v=20", "text": "@>(anymultirange,anyrange)"}, "strategy": "7", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c40-anymultirange-anymultirange/?v=20", "text": "<@(anymultirange,anymultirange)"}, "strategy": "8", "description": "is contained by", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c40-anymultirange-anyrange/?v=20", "text": "<@(anymultirange,anyrange)"}, "strategy": "8", "description": "is contained by", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anyelement/?v=20", "text": "@>(anymultirange,anyelement)"}, "strategy": "16", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3d-anymultirange-anymultirange/?v=20", "text": "=(anymultirange,anymultirange)"}, "strategy": "18", "description": "equal", "sort_family": ""}], "title": "Family operator strategies", "columns": [{"key": "operator", "label": "Operator overload"}, {"key": "strategy", "label": "Strategy"}, {"key": "purpose", "label": "Purpose"}, {"key": "sort_family", "label": "Ordering family"}, {"key": "scope", "label": "Membership scope"}, {"key": "description", "label": "Source description"}]}, {"key": "support-functions", "rows": [{"number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=20", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=20", "text": "anymultirange"}, "result_type": "bool"}, {"number": "2", "function": "range_gist_union(internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=20", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=20", "text": "anymultirange"}, "result_type": "anyrange"}, {"number": "3", "function": "multirange_gist_compress(internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=20", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=20", "text": "anymultirange"}, "result_type": "internal"}, {"number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=20", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=20", "text": "anymultirange"}, "result_type": "internal"}, {"number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=20", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=20", "text": "anymultirange"}, "result_type": "internal"}, {"number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=20", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=20", "text": "anymultirange"}, "result_type": "internal"}, {"number": "12", "function": "gist_translate_cmptype_common(int4)", "left_type": {"url": "/wiki/type/any/?v=20", "text": "any"}, "right_type": {"url": "/wiki/type/any/?v=20", "text": "any"}, "result_type": "int2"}], "title": "Family support functions", "columns": [{"key": "number", "label": "Support number"}, {"key": "left_type", "label": "Left type"}, {"key": "right_type", "label": "Right type"}, {"key": "function", "label": "Function signature"}, {"key": "result_type", "label": "Result type"}]}, {"key": "classes", "rows": [{"class": {"url": "/wiki/opclass/class-gist-multirange_ops/?v=20", "text": "multirange_ops"}, "default": "yes", "key_type": {"url": "/wiki/type/anyrange/?v=20", "text": "anyrange"}, "input_type": {"url": "/wiki/type/anymultirange/?v=20", "text": "anymultirange"}}], "title": "Classes in this family", "columns": [{"key": "class", "label": "Class"}, {"key": "input_type", "label": "Input type"}, {"key": "key_type", "label": "Key type"}, {"key": "default", "label": "Default"}]}], "aliases": ["multirange_ops", "gist/multirange_ops"], "classes": [{"name": "multirange_ops", "slug": "class-gist-multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange", "source_oid": "", "family_slug": "family-gist-multirange_ops"}], "related": [{"url": "/wiki/indexam/gist/?v=20", "label": "GiST Index AM"}], "release": {"ref": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "label": "20devel", "major": "20", "channel": "devel", "revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_sha256": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "manual_fingerprint": "48fb9e20e9e1454fe93d367e75b949833c82c1c52c2b69314dfffe1c464f3f39", "catalog_fingerprint": "cc1a474e972c8c342cf17f37e2884c56cc4b114cb59407b0180e99cdcfffa5c5", "source_snapshot_utc": "26-Sep-2026 20:22"}, "sources": [{"url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41"}, {"url": "/docs/devel/indexes-opclass.html", "path": "indexes-opclass.html", "label": "PostgreSQL 20 English manual: indexes-opclass.html", "sha256": "11f438e25406337ef7c41690a7d47744980230c83ade5106803b49a7a09afb80"}, {"url": "/docs/devel/catalog-pg-opfamily.html", "path": "catalog-pg-opfamily.html", "label": "PostgreSQL 20 English manual: catalog-pg-opfamily.html", "sha256": "db450aacf33a42eeb9a61782615676cad4e5c5fe8a16d3106d494ca456d14a30"}, {"url": "/docs/devel/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 20 English manual: catalog-pg-amop.html", "sha256": "00fee8a631088b687e2d880e4091791ca30f9c69fca888c51ece463d1b9e1e61"}, {"url": "/docs/devel/catalog-pg-amproc.html", "path": "catalog-pg-amproc.html", "label": "PostgreSQL 20 English manual: catalog-pg-amproc.html", "sha256": "5390831efcf71a10077be802ab320fbf5d6fc780fdadf679cd162f3a46a3c6d3"}], "sections": [{"title": "Operator classes and families", "paragraphs": ["An index definition can specify an operator class for each column of an index.", "The operator class identifies the operators to be used by the index for that column. For example, a B-tree index on the type int4 would use the int4_ops class; this operator class includes comparison functions for values of type int4 . In practice the default operator class for the column's data type is usually sufficient. The main reason for having operator classes is that for some data types, there could be more than one meaningful index behavior. For example, we might want to sort a complex-number data type either by absolute value or by real part. We could do this by defining two operator classes for the data type and then selecting the proper class when making an index. The operator class determines the basic sort ordering (which can then be modified by adding sort options COLLATE , ASC / DESC and/or NULLS FIRST / NULLS LAST ).", "There are also some built-in operator classes besides the default ones:"]}], "operators": [{"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anymultirange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c3c-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anyrange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anyrange", "description": "is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c3c-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anymultirange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps or is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263c-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anyrange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps or is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263c-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anymultirange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2626-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anyrange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2626-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anymultirange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps or is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anyrange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps or is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anymultirange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3e3e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anyrange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anyrange", "description": "is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3e3e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anymultirange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is adjacent to", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2d7c2d-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anyrange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anyrange", "description": "is adjacent to", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2d7c2d-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anymultirange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anymultirange", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyrange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anyrange", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anymultirange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is contained by", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c40-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anyrange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anyrange", "description": "is contained by", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c40-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyelement)", "strategy": "16", "left_type": "anymultirange", "right_type": "anyelement", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anyelement", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "=(anymultirange,anymultirange)", "strategy": "18", "left_type": "anymultirange", "right_type": "anymultirange", "description": "equal", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3d-anymultirange-anymultirange", "sort_family_slug": ""}], "signature": "gist/multirange_ops", "source_oid": "6158", "description": ["GiST operator family containing 1 classes, 18 operator strategies and 7 support functions in this source build."], "comparison_data": {"kind": "family", "classes": [{"name": "multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}], "operators": [{"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyelement)", "strategy": "16", "left_type": "anymultirange", "right_type": "anyelement", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anymultirange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "=(anymultirange,anymultirange)", "strategy": "18", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anymultirange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anymultirange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anymultirange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anymultirange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anymultirange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anymultirange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anymultirange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anyrange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anyrange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anyrange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anyrange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anyrange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anyrange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyrange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anyrange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}], "attributes": {"name": "multirange_ops", "method": "gist"}, "support_functions": [{"family": "multirange_ops", "method": "gist", "number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "bool"}, {"family": "multirange_ops", "method": "gist", "number": "12", "function": "gist_translate_cmptype_common(int4)", "left_type": "any", "right_type": "any", "result_type": "int2"}, {"family": "multirange_ops", "method": "gist", "number": "2", "function": "range_gist_union(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "anyrange"}, {"family": "multirange_ops", "method": "gist", "number": "3", "function": "multirange_gist_compress(internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}]}, "comparison_hash": "1d881322a3c44d0a9d95c0c7081d78f7076b5e67bce07d487109527342919c72", "support_functions": [{"family": "multirange_ops", "method": "gist", "number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "bool"}, {"family": "multirange_ops", "method": "gist", "number": "2", "function": "range_gist_union(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "anyrange"}, {"family": "multirange_ops", "method": "gist", "number": "3", "function": "multirange_gist_compress(internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "12", "function": "gist_translate_cmptype_common(int4)", "left_type": "any", "right_type": "any", "family_slug": "family-gist-multirange_ops", "result_type": "int2"}]}}}, "snapshot": {"facts": [{"label": "Object kind", "value": "Operator family"}, {"label": "Index AM", "value": "GiST"}], "family": {"name": "multirange_ops", "method": "gist"}, "tables": [{"key": "operators", "rows": [{"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c3c-anymultirange-anymultirange/?v=18", "text": "<<(anymultirange,anymultirange)"}, "strategy": "1", "description": "is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c3c-anymultirange-anyrange/?v=18", "text": "<<(anymultirange,anyrange)"}, "strategy": "1", "description": "is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263c-anymultirange-anymultirange/?v=18", "text": "&<(anymultirange,anymultirange)"}, "strategy": "2", "description": "overlaps or is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263c-anymultirange-anyrange/?v=18", "text": "&<(anymultirange,anyrange)"}, "strategy": "2", "description": "overlaps or is left of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2626-anymultirange-anymultirange/?v=18", "text": "&&(anymultirange,anymultirange)"}, "strategy": "3", "description": "overlaps", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2626-anymultirange-anyrange/?v=18", "text": "&&(anymultirange,anyrange)"}, "strategy": "3", "description": "overlaps", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263e-anymultirange-anymultirange/?v=18", "text": "&>(anymultirange,anymultirange)"}, "strategy": "4", "description": "overlaps or is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-263e-anymultirange-anyrange/?v=18", "text": "&>(anymultirange,anyrange)"}, "strategy": "4", "description": "overlaps or is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3e3e-anymultirange-anymultirange/?v=18", "text": ">>(anymultirange,anymultirange)"}, "strategy": "5", "description": "is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3e3e-anymultirange-anyrange/?v=18", "text": ">>(anymultirange,anyrange)"}, "strategy": "5", "description": "is right of", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2d7c2d-anymultirange-anymultirange/?v=18", "text": "-|-(anymultirange,anymultirange)"}, "strategy": "6", "description": "is adjacent to", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-2d7c2d-anymultirange-anyrange/?v=18", "text": "-|-(anymultirange,anyrange)"}, "strategy": "6", "description": "is adjacent to", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anymultirange/?v=18", "text": "@>(anymultirange,anymultirange)"}, "strategy": "7", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anyrange/?v=18", "text": "@>(anymultirange,anyrange)"}, "strategy": "7", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c40-anymultirange-anymultirange/?v=18", "text": "<@(anymultirange,anymultirange)"}, "strategy": "8", "description": "is contained by", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3c40-anymultirange-anyrange/?v=18", "text": "<@(anymultirange,anyrange)"}, "strategy": "8", "description": "is contained by", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-403e-anymultirange-anyelement/?v=18", "text": "@>(anymultirange,anyelement)"}, "strategy": "16", "description": "contains", "sort_family": ""}, {"scope": "Family member", "purpose": "search", "operator": {"url": "/wiki/operator/op-3d-anymultirange-anymultirange/?v=18", "text": "=(anymultirange,anymultirange)"}, "strategy": "18", "description": "equal", "sort_family": ""}], "title": "Family operator strategies", "columns": [{"key": "operator", "label": "Operator overload"}, {"key": "strategy", "label": "Strategy"}, {"key": "purpose", "label": "Purpose"}, {"key": "sort_family", "label": "Ordering family"}, {"key": "scope", "label": "Membership scope"}, {"key": "description", "label": "Source description"}]}, {"key": "support-functions", "rows": [{"number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "result_type": "bool"}, {"number": "2", "function": "range_gist_union(internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "result_type": "anyrange"}, {"number": "3", "function": "multirange_gist_compress(internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "result_type": "internal"}, {"number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "result_type": "internal"}, {"number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "result_type": "internal"}, {"number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "right_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}, "result_type": "internal"}, {"number": "12", "function": "gist_translate_cmptype_common(int4)", "left_type": {"url": "/wiki/type/any/?v=18", "text": "any"}, "right_type": {"url": "/wiki/type/any/?v=18", "text": "any"}, "result_type": "int2"}], "title": "Family support functions", "columns": [{"key": "number", "label": "Support number"}, {"key": "left_type", "label": "Left type"}, {"key": "right_type", "label": "Right type"}, {"key": "function", "label": "Function signature"}, {"key": "result_type", "label": "Result type"}]}, {"key": "classes", "rows": [{"class": {"url": "/wiki/opclass/class-gist-multirange_ops/?v=18", "text": "multirange_ops"}, "default": "yes", "key_type": {"url": "/wiki/type/anyrange/?v=18", "text": "anyrange"}, "input_type": {"url": "/wiki/type/anymultirange/?v=18", "text": "anymultirange"}}], "title": "Classes in this family", "columns": [{"key": "class", "label": "Class"}, {"key": "input_type", "label": "Input type"}, {"key": "key_type", "label": "Key type"}, {"key": "default", "label": "Default"}]}], "aliases": ["multirange_ops", "gist/multirange_ops"], "classes": [{"name": "multirange_ops", "slug": "class-gist-multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange", "source_oid": "", "family_slug": "family-gist-multirange_ops"}], "related": [{"url": "/wiki/indexam/gist/?v=18", "label": "GiST Index AM"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "manual_fingerprint": "fefce9e478eb2afe5e17e869492bbedc67dce23d317f0a5257240113d6496ebc", "catalog_fingerprint": "deec62e0f0c649d9d0d058ddd0b16bf41afffd569c3fd73949ff0971ce5cabd6"}, "sources": [{"url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, {"url": "/docs/18/indexes-opclass.html", "path": "indexes-opclass.html", "label": "PostgreSQL 18 English manual: indexes-opclass.html", "sha256": "07de06abf3a2aff2a891a2789def434d9b76705e54d45ca5338dc13451ae2962"}, {"url": "/docs/18/catalog-pg-opfamily.html", "path": "catalog-pg-opfamily.html", "label": "PostgreSQL 18 English manual: catalog-pg-opfamily.html", "sha256": "d4a2b7c2bcb5350b0c1f0111b61e4566f46fd97f48802d3ced2421a7aea60b80"}, {"url": "/docs/18/catalog-pg-amop.html", "path": "catalog-pg-amop.html", "label": "PostgreSQL 18 English manual: catalog-pg-amop.html", "sha256": "e65b90ee78eaf4b4da97ce5b08b972cee2e2660b882ec107be22eca47201f7d1"}, {"url": "/docs/18/catalog-pg-amproc.html", "path": "catalog-pg-amproc.html", "label": "PostgreSQL 18 English manual: catalog-pg-amproc.html", "sha256": "0a09afbde0ba8da9899bf770b86d8301bee116057b16ebe7db0e4a7fca2e91c6"}], "sections": [{"title": "Operator classes and families", "paragraphs": ["An index definition can specify an operator class for each column of an index.", "The operator class identifies the operators to be used by the index for that column. For example, a B-tree index on the type int4 would use the int4_ops class; this operator class includes comparison functions for values of type int4 . In practice the default operator class for the column's data type is usually sufficient. The main reason for having operator classes is that for some data types, there could be more than one meaningful index behavior. For example, we might want to sort a complex-number data type either by absolute value or by real part. We could do this by defining two operator classes for the data type and then selecting the proper class when making an index. The operator class determines the basic sort ordering (which can then be modified by adding sort options COLLATE , ASC / DESC and/or NULLS FIRST / NULLS LAST ).", "There are also some built-in operator classes besides the default ones:"]}], "operators": [{"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anymultirange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c3c-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anyrange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anyrange", "description": "is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c3c-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anymultirange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps or is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263c-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anyrange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps or is left of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263c-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anymultirange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2626-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anyrange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2626-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anymultirange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anymultirange", "description": "overlaps or is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anyrange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anyrange", "description": "overlaps or is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-263e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anymultirange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3e3e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anyrange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anyrange", "description": "is right of", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3e3e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anymultirange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is adjacent to", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2d7c2d-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anyrange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anyrange", "description": "is adjacent to", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-2d7c2d-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anymultirange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anymultirange", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyrange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anyrange", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anymultirange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anymultirange", "description": "is contained by", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c40-anymultirange-anymultirange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anyrange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anyrange", "description": "is contained by", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3c40-anymultirange-anyrange", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyelement)", "strategy": "16", "left_type": "anymultirange", "right_type": "anyelement", "description": "contains", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-403e-anymultirange-anyelement", "sort_family_slug": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "=(anymultirange,anymultirange)", "strategy": "18", "left_type": "anymultirange", "right_type": "anymultirange", "description": "equal", "family_slug": "family-gist-multirange_ops", "result_type": "bool", "sort_family": "", "operator_slug": "op-3d-anymultirange-anymultirange", "sort_family_slug": ""}], "signature": "gist/multirange_ops", "source_oid": "6158", "description": ["GiST operator family containing 1 classes, 18 operator strategies and 7 support functions in this source build."], "comparison_data": {"kind": "family", "classes": [{"name": "multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}], "operators": [{"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyelement)", "strategy": "16", "left_type": "anymultirange", "right_type": "anyelement", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anymultirange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "=(anymultirange,anymultirange)", "strategy": "18", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anymultirange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anymultirange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anymultirange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anymultirange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anymultirange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anymultirange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anymultirange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anymultirange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<<(anymultirange,anyrange)", "strategy": "1", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&<(anymultirange,anyrange)", "strategy": "2", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&&(anymultirange,anyrange)", "strategy": "3", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "&>(anymultirange,anyrange)", "strategy": "4", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": ">>(anymultirange,anyrange)", "strategy": "5", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "-|-(anymultirange,anyrange)", "strategy": "6", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "@>(anymultirange,anyrange)", "strategy": "7", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}, {"family": "multirange_ops", "method": "gist", "purpose": "search", "operator": "<@(anymultirange,anyrange)", "strategy": "8", "left_type": "anymultirange", "right_type": "anyrange", "sort_family": ""}], "attributes": {"name": "multirange_ops", "method": "gist"}, "support_functions": [{"family": "multirange_ops", "method": "gist", "number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "bool"}, {"family": "multirange_ops", "method": "gist", "number": "12", "function": "gist_translate_cmptype_common(int4)", "left_type": "any", "right_type": "any", "result_type": "int2"}, {"family": "multirange_ops", "method": "gist", "number": "2", "function": "range_gist_union(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "anyrange"}, {"family": "multirange_ops", "method": "gist", "number": "3", "function": "multirange_gist_compress(internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "result_type": "internal"}]}, "comparison_hash": "1d881322a3c44d0a9d95c0c7081d78f7076b5e67bce07d487109527342919c72", "support_functions": [{"family": "multirange_ops", "method": "gist", "number": "1", "function": "multirange_gist_consistent(internal,anymultirange,int2,oid,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "bool"}, {"family": "multirange_ops", "method": "gist", "number": "2", "function": "range_gist_union(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "anyrange"}, {"family": "multirange_ops", "method": "gist", "number": "3", "function": "multirange_gist_compress(internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "5", "function": "range_gist_penalty(internal,internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "6", "function": "range_gist_picksplit(internal,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "7", "function": "range_gist_same(anyrange,anyrange,internal)", "left_type": "anymultirange", "right_type": "anymultirange", "family_slug": "family-gist-multirange_ops", "result_type": "internal"}, {"family": "multirange_ops", "method": "gist", "number": "12", "function": "gist_translate_cmptype_common(int4)", "left_type": "any", "right_type": "any", "family_slug": "family-gist-multirange_ops", "result_type": "int2"}]}, "comparison": {"left": "13", "right": "14", "status": "added", "diff": "--- PostgreSQL 13\n+++ PostgreSQL 14\n@@ -1 +1,255 @@\n-Not recorded in this version\n+{\n+  \"attributes\": {\n+    \"method\": \"gist\",\n+    \"name\": \"multirange_ops\"\n+  },\n+  \"classes\": [\n+    {\n+      \"default\": \"t\",\n+      \"family\": \"multirange_ops\",\n+      \"input_type\": \"anymultirange\",\n+      \"key_type\": \"anyrange\",\n+      \"method\": \"gist\",\n+      \"name\": \"multirange_ops\"\n+    }\n+  ],\n+  \"kind\": \"family\",\n+  \"operators\": [\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"operator\": \"@>(anymultirange,anyelement)\",\n+      \"purpose\": \"search\",\n+      \"right_type\": \"anyelement\",\n+      \"sort_family\": \"\",\n+      \"strategy\": \"16\"\n+    },\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"operator\": \"<<(anymultirange,anymultirange)\",\n+      \"purpose\": \"search\",\n+      \"right_type\": \"anymultirange\",\n+      \"sort_family\": \"\",\n+      \"strategy\": \"1\"\n+    },\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"operator\": \"=(anymultirange,anymultirange)\",\n+      \"purpose\": \"search\",\n+      \"right_type\": \"anymultirange\",\n+      \"sort_family\": \"\",\n+      \"strategy\": \"18\"\n+    },\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"operator\": \"&<(anymultirange,anymultirange)\",\n+      \"purpose\": \"search\",\n+      \"right_type\": \"anymultirange\",\n+      \"sort_family\": \"\",\n+      \"strategy\": \"2\"\n+    },\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"operator\": \"&&(anymultirange,anymultirange)\",\n+      \"purpose\": \"search\",\n+      \"right_type\": \"anymultirange\",\n+      \"sort_family\": \"\",\n+      \"strategy\": \"3\"\n+    },\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"operator\": \"&>(anymultirange,anymultirange)\",\n+      \"purpose\": \"search\",\n+      \"right_type\": \"anymultirange\",\n+      \"sort_family\": \"\",\n+      \"strategy\": \"4\"\n+    },\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"operator\": \">>(anymultirange,anymultirange)\",\n+      \"purpose\": \"search\",\n+      \"right_type\": \"anymultirange\",\n+      \"sort_family\": \"\",\n+      \"strategy\": \"5\"\n+    },\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"operator\": \"-|-(anymultirange,anymultirange)\",\n+      \"purpose\": \"search\",\n+      \"right_type\": \"anymultirange\",\n+      \"sort_family\": \"\",\n+      \"strategy\": \"6\"\n+    },\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"operator\": \"@>(anymultirange,anymultirange)\",\n+      \"purpose\": \"search\",\n+      \"right_type\": \"anymultirange\",\n+      \"sort_family\": \"\",\n+      \"strategy\": \"7\"\n+    },\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"operator\": \"<@(anymultirange,anymultirange)\",\n+      \"purpose\": \"search\",\n+      \"right_type\": \"anymultirange\",\n+      \"sort_family\": \"\",\n+      \"strategy\": \"8\"\n+    },\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"operator\": \"<<(anymultirange,anyrange)\",\n+      \"purpose\": \"search\",\n+      \"right_type\": \"anyrange\",\n+      \"sort_family\": \"\",\n+      \"strategy\": \"1\"\n+    },\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"operator\": \"&<(anymultirange,anyrange)\",\n+      \"purpose\": \"search\",\n+      \"right_type\": \"anyrange\",\n+      \"sort_family\": \"\",\n+      \"strategy\": \"2\"\n+    },\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"operator\": \"&&(anymultirange,anyrange)\",\n+      \"purpose\": \"search\",\n+      \"right_type\": \"anyrange\",\n+      \"sort_family\": \"\",\n+      \"strategy\": \"3\"\n+    },\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"operator\": \"&>(anymultirange,anyrange)\",\n+      \"purpose\": \"search\",\n+      \"right_type\": \"anyrange\",\n+      \"sort_family\": \"\",\n+      \"strategy\": \"4\"\n+    },\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"operator\": \">>(anymultirange,anyrange)\",\n+      \"purpose\": \"search\",\n+      \"right_type\": \"anyrange\",\n+      \"sort_family\": \"\",\n+      \"strategy\": \"5\"\n+    },\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"operator\": \"-|-(anymultirange,anyrange)\",\n+      \"purpose\": \"search\",\n+      \"right_type\": \"anyrange\",\n+      \"sort_family\": \"\",\n+      \"strategy\": \"6\"\n+    },\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"operator\": \"@>(anymultirange,anyrange)\",\n+      \"purpose\": \"search\",\n+      \"right_type\": \"anyrange\",\n+      \"sort_family\": \"\",\n+      \"strategy\": \"7\"\n+    },\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"operator\": \"<@(anymultirange,anyrange)\",\n+      \"purpose\": \"search\",\n+      \"right_type\": \"anyrange\",\n+      \"sort_family\": \"\",\n+      \"strategy\": \"8\"\n+    }\n+  ],\n+  \"support_functions\": [\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"function\": \"multirange_gist_consistent(internal,anymultirange,int2,oid,internal)\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"number\": \"1\",\n+      \"result_type\": \"bool\",\n+      \"right_type\": \"anymultirange\"\n+    },\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"function\": \"range_gist_union(internal,internal)\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"number\": \"2\",\n+      \"result_type\": \"anyrange\",\n+      \"right_type\": \"anymultirange\"\n+    },\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"function\": \"multirange_gist_compress(internal)\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"number\": \"3\",\n+      \"result_type\": \"internal\",\n+      \"right_type\": \"anymultirange\"\n+    },\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"function\": \"range_gist_penalty(internal,internal,internal)\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"number\": \"5\",\n+      \"result_type\": \"internal\",\n+      \"right_type\": \"anymultirange\"\n+    },\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"function\": \"range_gist_picksplit(internal,internal)\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"number\": \"6\",\n+      \"result_type\": \"internal\",\n+      \"right_type\": \"anymultirange\"\n+    },\n+    {\n+      \"family\": \"multirange_ops\",\n+      \"function\": \"range_gist_same(anyrange,anyrange,internal)\",\n+      \"left_type\": \"anymultirange\",\n+      \"method\": \"gist\",\n+      \"number\": \"7\",\n+      \"result_type\": \"internal\",\n+      \"right_type\": \"anymultirange\"\n+    }\n+  ]\n+}"}}