{"kind": "opclass", "major": "18", "item": {"slug": "class-gist-multirange_ops", "name": "gist/multirange_ops (class)", "name_zh": "", "category": "GiST classes", "summary": "GiST operator class for anymultirange; member of multirange_ops.", "aliases": ["multirange_ops", "gist/multirange_ops"], "content_hash": "4cb8abd3099ee3a07405035f22c1f9e96cc586a8b133824a05f7b2073ebc6e1e", "versions": {"14": {"class": {"name": "multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}, "facts": [{"label": "Object kind", "value": "Operator class"}, {"label": "Index AM", "value": "GiST"}, {"label": "Input type", "value": "anymultirange"}, {"label": "Stored key type", "value": "anyrange"}, {"label": "Default class", "value": "yes"}], "tables": [{"key": "operators", "rows": [{"scope": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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"}, {"url": "/wiki/opclass/family-gist-multirange_ops/?v=14", "label": "multirange_ops family"}, {"url": "/wiki/type/anymultirange/?v=14", "label": "anymultirange data type"}, {"url": "/wiki/type/anyrange/?v=14", "label": "anyrange data type"}], "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-opclass.html", "path": "catalog-pg-opclass.html", "label": "PostgreSQL 14 English manual: catalog-pg-opclass.html", "sha256": "5d3fff50f233fb5f05727c29139ff9b4505048755dbb88acbcf550528005f2dd"}, {"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": "", "description": ["GiST operator class for anymultirange; member of multirange_ops."], "comparison_data": {"kind": "class", "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", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}, "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": "1acceaa5ec09bef5035c014a60901726caca947af289a1f4945d7815e9545de8", "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": {"class": {"name": "multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}, "facts": [{"label": "Object kind", "value": "Operator class"}, {"label": "Index AM", "value": "GiST"}, {"label": "Input type", "value": "anymultirange"}, {"label": "Stored key type", "value": "anyrange"}, {"label": "Default class", "value": "yes"}], "tables": [{"key": "operators", "rows": [{"scope": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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"}, {"url": "/wiki/opclass/family-gist-multirange_ops/?v=15", "label": "multirange_ops family"}, {"url": "/wiki/type/anymultirange/?v=15", "label": "anymultirange data type"}, {"url": "/wiki/type/anyrange/?v=15", "label": "anyrange data type"}], "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-opclass.html", "path": "catalog-pg-opclass.html", "label": "PostgreSQL 15 English manual: catalog-pg-opclass.html", "sha256": "755f7dcb5d8201f84a8285b418477e209122f0dd4a1c0e5b1b9b293a52a3f5cb"}, {"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": "", "description": ["GiST operator class for anymultirange; member of multirange_ops."], "comparison_data": {"kind": "class", "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", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}, "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": "1acceaa5ec09bef5035c014a60901726caca947af289a1f4945d7815e9545de8", "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": {"class": {"name": "multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}, "facts": [{"label": "Object kind", "value": "Operator class"}, {"label": "Index AM", "value": "GiST"}, {"label": "Input type", "value": "anymultirange"}, {"label": "Stored key type", "value": "anyrange"}, {"label": "Default class", "value": "yes"}], "tables": [{"key": "operators", "rows": [{"scope": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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"}, {"url": "/wiki/opclass/family-gist-multirange_ops/?v=16", "label": "multirange_ops family"}, {"url": "/wiki/type/anymultirange/?v=16", "label": "anymultirange data type"}, {"url": "/wiki/type/anyrange/?v=16", "label": "anyrange data type"}], "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-opclass.html", "path": "catalog-pg-opclass.html", "label": "PostgreSQL 16 English manual: catalog-pg-opclass.html", "sha256": "f075996844e2b6da739db4c2ed35fc2b0f288cd51d3f1f04baac0daa0e608c03"}, {"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": "", "description": ["GiST operator class for anymultirange; member of multirange_ops."], "comparison_data": {"kind": "class", "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", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}, "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": "1acceaa5ec09bef5035c014a60901726caca947af289a1f4945d7815e9545de8", "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": {"class": {"name": "multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}, "facts": [{"label": "Object kind", "value": "Operator class"}, {"label": "Index AM", "value": "GiST"}, {"label": "Input type", "value": "anymultirange"}, {"label": "Stored key type", "value": "anyrange"}, {"label": "Default class", "value": "yes"}], "tables": [{"key": "operators", "rows": [{"scope": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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"}, {"url": "/wiki/opclass/family-gist-multirange_ops/?v=17", "label": "multirange_ops family"}, {"url": "/wiki/type/anymultirange/?v=17", "label": "anymultirange data type"}, {"url": "/wiki/type/anyrange/?v=17", "label": "anyrange data type"}], "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-opclass.html", "path": "catalog-pg-opclass.html", "label": "PostgreSQL 17 English manual: catalog-pg-opclass.html", "sha256": "2daafcf4d1d6ae524abfc92ef8799237b82d390fc72622f7d59c142ef4bdc0bc"}, {"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": "", "description": ["GiST operator class for anymultirange; member of multirange_ops."], "comparison_data": {"kind": "class", "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", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}, "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": "1acceaa5ec09bef5035c014a60901726caca947af289a1f4945d7815e9545de8", "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": {"class": {"name": "multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}, "facts": [{"label": "Object kind", "value": "Operator class"}, {"label": "Index AM", "value": "GiST"}, {"label": "Input type", "value": "anymultirange"}, {"label": "Stored key type", "value": "anyrange"}, {"label": "Default class", "value": "yes"}], "tables": [{"key": "operators", "rows": [{"scope": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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"}, {"url": "/wiki/opclass/family-gist-multirange_ops/?v=18", "label": "multirange_ops family"}, {"url": "/wiki/type/anymultirange/?v=18", "label": "anymultirange data type"}, {"url": "/wiki/type/anyrange/?v=18", "label": "anyrange data type"}], "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-opclass.html", "path": "catalog-pg-opclass.html", "label": "PostgreSQL 18 English manual: catalog-pg-opclass.html", "sha256": "6f131a502f81b813d447e746fc39ee28e5bdfb3ce8e8baea36a71ad0fde78c40"}, {"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": "", "description": ["GiST operator class for anymultirange; member of multirange_ops."], "comparison_data": {"kind": "class", "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", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}, "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": "557b94ee1c5676d01ad8694fcc03a384dfd01ceda0aaebea4bc0154f2298c20e", "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": {"class": {"name": "multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}, "facts": [{"label": "Object kind", "value": "Operator class"}, {"label": "Index AM", "value": "GiST"}, {"label": "Input type", "value": "anymultirange"}, {"label": "Stored key type", "value": "anyrange"}, {"label": "Default class", "value": "yes"}], "tables": [{"key": "operators", "rows": [{"scope": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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"}, {"url": "/wiki/opclass/family-gist-multirange_ops/?v=19", "label": "multirange_ops family"}, {"url": "/wiki/type/anymultirange/?v=19", "label": "anymultirange data type"}, {"url": "/wiki/type/anyrange/?v=19", "label": "anyrange data type"}], "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-opclass.html", "path": "catalog-pg-opclass.html", "label": "PostgreSQL 19 English manual: catalog-pg-opclass.html", "sha256": "e204d4682013f05c202b6a0df0b7b178ac74d17fceb8936cc97dc3d98e7d530b"}, {"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": "", "description": ["GiST operator class for anymultirange; member of multirange_ops."], "comparison_data": {"kind": "class", "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", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}, "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": "557b94ee1c5676d01ad8694fcc03a384dfd01ceda0aaebea4bc0154f2298c20e", "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": {"class": {"name": "multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}, "facts": [{"label": "Object kind", "value": "Operator class"}, {"label": "Index AM", "value": "GiST"}, {"label": "Input type", "value": "anymultirange"}, {"label": "Stored key type", "value": "anyrange"}, {"label": "Default class", "value": "yes"}], "tables": [{"key": "operators", "rows": [{"scope": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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"}, {"url": "/wiki/opclass/family-gist-multirange_ops/?v=20", "label": "multirange_ops family"}, {"url": "/wiki/type/anymultirange/?v=20", "label": "anymultirange data type"}, {"url": "/wiki/type/anyrange/?v=20", "label": "anyrange data type"}], "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-opclass.html", "path": "catalog-pg-opclass.html", "label": "PostgreSQL 20 English manual: catalog-pg-opclass.html", "sha256": "ff36405486ec573922caff5bcf9cf5f8f8375c9371968fbd3ebc8c435a780ce8"}, {"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": "", "description": ["GiST operator class for anymultirange; member of multirange_ops."], "comparison_data": {"kind": "class", "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", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}, "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": "557b94ee1c5676d01ad8694fcc03a384dfd01ceda0aaebea4bc0154f2298c20e", "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": {"class": {"name": "multirange_ops", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}, "facts": [{"label": "Object kind", "value": "Operator class"}, {"label": "Index AM", "value": "GiST"}, {"label": "Input type", "value": "anymultirange"}, {"label": "Stored key type", "value": "anyrange"}, {"label": "Default class", "value": "yes"}], "tables": [{"key": "operators", "rows": [{"scope": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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": "Class input pair", "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"}, {"url": "/wiki/opclass/family-gist-multirange_ops/?v=18", "label": "multirange_ops family"}, {"url": "/wiki/type/anymultirange/?v=18", "label": "anymultirange data type"}, {"url": "/wiki/type/anyrange/?v=18", "label": "anyrange data type"}], "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-opclass.html", "path": "catalog-pg-opclass.html", "label": "PostgreSQL 18 English manual: catalog-pg-opclass.html", "sha256": "6f131a502f81b813d447e746fc39ee28e5bdfb3ce8e8baea36a71ad0fde78c40"}, {"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": "", "description": ["GiST operator class for anymultirange; member of multirange_ops."], "comparison_data": {"kind": "class", "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", "family": "multirange_ops", "method": "gist", "default": "t", "key_type": "anyrange", "input_type": "anymultirange"}, "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": "557b94ee1c5676d01ad8694fcc03a384dfd01ceda0aaebea4bc0154f2298c20e", "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,259 @@\n-Not recorded in this version\n+{\n+  \"attributes\": {\n+    \"default\": \"t\",\n+    \"family\": \"multirange_ops\",\n+    \"input_type\": \"anymultirange\",\n+    \"key_type\": \"anyrange\",\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\": \"class\",\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+}"}}