commit 4b0eb505204b1be0bb7ba1171e288881e14a9b7c
Author: Anastasia <a.lubennikova@postgrespro.ru>
Date:   Mon Dec 23 19:43:57 2019 +0300

    v4-Opclass-bitwise-equality-0002.patch
    Mark nbtree opclasses as bitwise in pg_opclass.dat

diff --git a/src/include/catalog/pg_opclass.dat b/src/include/catalog/pg_opclass.dat
index 2d57510..72b563d 100644
--- a/src/include/catalog/pg_opclass.dat
+++ b/src/include/catalog/pg_opclass.dat
@@ -21,26 +21,26 @@
 { opcmethod => 'hash', opcname => 'array_ops', opcfamily => 'hash/array_ops',
   opcintype => 'anyarray' },
 { opcmethod => 'btree', opcname => 'bit_ops', opcfamily => 'btree/bit_ops',
-  opcintype => 'bit' },
+  opcintype => 'bit', opcisbitwise => 't' },
 { opcmethod => 'btree', opcname => 'bool_ops', opcfamily => 'btree/bool_ops',
-  opcintype => 'bool' },
+  opcintype => 'bool', opcisbitwise => 't' },
 { opcmethod => 'btree', opcname => 'bpchar_ops',
   opcfamily => 'btree/bpchar_ops', opcintype => 'bpchar' },
 { opcmethod => 'hash', opcname => 'bpchar_ops', opcfamily => 'hash/bpchar_ops',
   opcintype => 'bpchar' },
 { opcmethod => 'btree', opcname => 'bytea_ops', opcfamily => 'btree/bytea_ops',
-  opcintype => 'bytea' },
+  opcintype => 'bytea', opcisbitwise => 't' },
 { opcmethod => 'btree', opcname => 'char_ops', opcfamily => 'btree/char_ops',
-  opcintype => 'char' },
+  opcintype => 'char', opcisbitwise => 't' },
 { opcmethod => 'hash', opcname => 'char_ops', opcfamily => 'hash/char_ops',
   opcintype => 'char' },
 { opcmethod => 'btree', opcname => 'cidr_ops', opcfamily => 'btree/network_ops',
-  opcintype => 'inet', opcdefault => 'f' },
+  opcintype => 'inet', opcdefault => 'f', opcisbitwise => 't' },
 { opcmethod => 'hash', opcname => 'cidr_ops', opcfamily => 'hash/network_ops',
   opcintype => 'inet', opcdefault => 'f' },
 { oid => '3122', oid_symbol => 'DATE_BTREE_OPS_OID',
   opcmethod => 'btree', opcname => 'date_ops',
-  opcfamily => 'btree/datetime_ops', opcintype => 'date' },
+  opcfamily => 'btree/datetime_ops', opcintype => 'date', opcisbitwise => 't' },
 { opcmethod => 'hash', opcname => 'date_ops', opcfamily => 'hash/date_ops',
   opcintype => 'date' },
 { opcmethod => 'btree', opcname => 'float4_ops', opcfamily => 'btree/float_ops',
@@ -62,29 +62,29 @@
   opcfamily => 'spgist/network_ops', opcintype => 'inet' },
 { oid => '1979', oid_symbol => 'INT2_BTREE_OPS_OID',
   opcmethod => 'btree', opcname => 'int2_ops', opcfamily => 'btree/integer_ops',
-  opcintype => 'int2' },
+  opcintype => 'int2', opcisbitwise => 't' },
 { opcmethod => 'hash', opcname => 'int2_ops', opcfamily => 'hash/integer_ops',
   opcintype => 'int2' },
 { oid => '1978', oid_symbol => 'INT4_BTREE_OPS_OID',
   opcmethod => 'btree', opcname => 'int4_ops', opcfamily => 'btree/integer_ops',
-  opcintype => 'int4' },
+  opcintype => 'int4', opcisbitwise => 't' },
 { opcmethod => 'hash', opcname => 'int4_ops', opcfamily => 'hash/integer_ops',
   opcintype => 'int4' },
 { oid => '3124', oid_symbol => 'INT8_BTREE_OPS_OID',
   opcmethod => 'btree', opcname => 'int8_ops', opcfamily => 'btree/integer_ops',
-  opcintype => 'int8' },
+  opcintype => 'int8', opcisbitwise => 't' },
 { opcmethod => 'hash', opcname => 'int8_ops', opcfamily => 'hash/integer_ops',
   opcintype => 'int8' },
 { opcmethod => 'btree', opcname => 'interval_ops',
-  opcfamily => 'btree/interval_ops', opcintype => 'interval' },
+  opcfamily => 'btree/interval_ops', opcintype => 'interval', opcisbitwise => 't' },
 { opcmethod => 'hash', opcname => 'interval_ops',
   opcfamily => 'hash/interval_ops', opcintype => 'interval' },
 { opcmethod => 'btree', opcname => 'macaddr_ops',
-  opcfamily => 'btree/macaddr_ops', opcintype => 'macaddr' },
+  opcfamily => 'btree/macaddr_ops', opcintype => 'macaddr', opcisbitwise => 't' },
 { opcmethod => 'hash', opcname => 'macaddr_ops',
   opcfamily => 'hash/macaddr_ops', opcintype => 'macaddr' },
 { opcmethod => 'btree', opcname => 'macaddr8_ops',
-  opcfamily => 'btree/macaddr8_ops', opcintype => 'macaddr8' },
+  opcfamily => 'btree/macaddr8_ops', opcintype => 'macaddr8', opcisbitwise => 't' },
 { opcmethod => 'hash', opcname => 'macaddr8_ops',
   opcfamily => 'hash/macaddr8_ops', opcintype => 'macaddr8' },
 
@@ -105,11 +105,11 @@
   opcfamily => 'hash/numeric_ops', opcintype => 'numeric' },
 { oid => '1981', oid_symbol => 'OID_BTREE_OPS_OID',
   opcmethod => 'btree', opcname => 'oid_ops', opcfamily => 'btree/oid_ops',
-  opcintype => 'oid' },
+  opcintype => 'oid', opcisbitwise => 't' },
 { opcmethod => 'hash', opcname => 'oid_ops', opcfamily => 'hash/oid_ops',
   opcintype => 'oid' },
 { opcmethod => 'btree', opcname => 'oidvector_ops',
-  opcfamily => 'btree/oidvector_ops', opcintype => 'oidvector' },
+  opcfamily => 'btree/oidvector_ops', opcintype => 'oidvector', opcisbitwise => 't' },
 { opcmethod => 'hash', opcname => 'oidvector_ops',
   opcfamily => 'hash/oidvector_ops', opcintype => 'oidvector' },
 { opcmethod => 'btree', opcname => 'record_ops',
@@ -123,27 +123,27 @@
 { opcmethod => 'hash', opcname => 'text_ops', opcfamily => 'hash/text_ops',
   opcintype => 'text' },
 { opcmethod => 'btree', opcname => 'time_ops', opcfamily => 'btree/time_ops',
-  opcintype => 'time' },
+  opcintype => 'time', opcisbitwise => 't' },
 { opcmethod => 'hash', opcname => 'time_ops', opcfamily => 'hash/time_ops',
   opcintype => 'time' },
 { oid => '3127', oid_symbol => 'TIMESTAMPTZ_BTREE_OPS_OID',
   opcmethod => 'btree', opcname => 'timestamptz_ops',
-  opcfamily => 'btree/datetime_ops', opcintype => 'timestamptz' },
+  opcfamily => 'btree/datetime_ops', opcintype => 'timestamptz', opcisbitwise => 't' },
 { opcmethod => 'hash', opcname => 'timestamptz_ops',
   opcfamily => 'hash/timestamptz_ops', opcintype => 'timestamptz' },
 { opcmethod => 'btree', opcname => 'timetz_ops',
-  opcfamily => 'btree/timetz_ops', opcintype => 'timetz' },
+  opcfamily => 'btree/timetz_ops', opcintype => 'timetz', opcisbitwise => 't' },
 { opcmethod => 'hash', opcname => 'timetz_ops', opcfamily => 'hash/timetz_ops',
   opcintype => 'timetz' },
 { opcmethod => 'btree', opcname => 'varbit_ops',
-  opcfamily => 'btree/varbit_ops', opcintype => 'varbit' },
+  opcfamily => 'btree/varbit_ops', opcintype => 'varbit', opcisbitwise => 't' },
 { opcmethod => 'btree', opcname => 'varchar_ops', opcfamily => 'btree/text_ops',
   opcintype => 'text', opcdefault => 'f' },
 { opcmethod => 'hash', opcname => 'varchar_ops', opcfamily => 'hash/text_ops',
   opcintype => 'text', opcdefault => 'f' },
 { oid => '3128', oid_symbol => 'TIMESTAMP_BTREE_OPS_OID',
   opcmethod => 'btree', opcname => 'timestamp_ops',
-  opcfamily => 'btree/datetime_ops', opcintype => 'timestamp' },
+  opcfamily => 'btree/datetime_ops', opcintype => 'timestamp', opcisbitwise => 't' },
 { opcmethod => 'hash', opcname => 'timestamp_ops',
   opcfamily => 'hash/timestamp_ops', opcintype => 'timestamp' },
 { oid => '4217', oid_symbol => 'TEXT_BTREE_PATTERN_OPS_OID',
@@ -165,7 +165,7 @@
 { opcmethod => 'hash', opcname => 'bytea_ops', opcfamily => 'hash/bytea_ops',
   opcintype => 'bytea' },
 { opcmethod => 'btree', opcname => 'tid_ops', opcfamily => 'btree/tid_ops',
-  opcintype => 'tid' },
+  opcintype => 'tid', opcisbitwise => 't' },
 { opcmethod => 'hash', opcname => 'xid_ops', opcfamily => 'hash/xid_ops',
   opcintype => 'xid' },
 { opcmethod => 'hash', opcname => 'cid_ops', opcfamily => 'hash/cid_ops',
@@ -194,11 +194,11 @@
 { opcmethod => 'gin', opcname => 'array_ops', opcfamily => 'gin/array_ops',
   opcintype => 'anyarray', opckeytype => 'anyelement' },
 { opcmethod => 'btree', opcname => 'uuid_ops', opcfamily => 'btree/uuid_ops',
-  opcintype => 'uuid' },
+  opcintype => 'uuid', opcisbitwise => 't' },
 { opcmethod => 'hash', opcname => 'uuid_ops', opcfamily => 'hash/uuid_ops',
   opcintype => 'uuid' },
 { opcmethod => 'btree', opcname => 'pg_lsn_ops',
-  opcfamily => 'btree/pg_lsn_ops', opcintype => 'pg_lsn' },
+  opcfamily => 'btree/pg_lsn_ops', opcintype => 'pg_lsn', opcisbitwise => 't' },
 { opcmethod => 'hash', opcname => 'pg_lsn_ops', opcfamily => 'hash/pg_lsn_ops',
   opcintype => 'pg_lsn' },
 { opcmethod => 'btree', opcname => 'enum_ops', opcfamily => 'btree/enum_ops',
