pg_amproc.dat 107 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984
  1. #----------------------------------------------------------------------
  2. #
  3. # pg_amproc.dat
  4. # Initial contents of the pg_amproc system catalog.
  5. #
  6. # Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
  7. # Portions Copyright (c) 1994, Regents of the University of California
  8. #
  9. # src/include/catalog/pg_amproc.dat
  10. #
  11. #----------------------------------------------------------------------
  12. [
  13. # btree
  14. { amprocfamily => 'btree/array_ops', amproclefttype => 'anyarray',
  15. amprocrighttype => 'anyarray', amprocnum => '1', amproc => 'btarraycmp' },
  16. { amprocfamily => 'btree/bit_ops', amproclefttype => 'bit',
  17. amprocrighttype => 'bit', amprocnum => '1', amproc => 'bitcmp' },
  18. { amprocfamily => 'btree/bit_ops', amproclefttype => 'bit',
  19. amprocrighttype => 'bit', amprocnum => '4', amproc => 'btequalimage' },
  20. { amprocfamily => 'btree/bool_ops', amproclefttype => 'bool',
  21. amprocrighttype => 'bool', amprocnum => '1', amproc => 'btboolcmp' },
  22. { amprocfamily => 'btree/bool_ops', amproclefttype => 'bool',
  23. amprocrighttype => 'bool', amprocnum => '4', amproc => 'btequalimage' },
  24. { amprocfamily => 'btree/bpchar_ops', amproclefttype => 'bpchar',
  25. amprocrighttype => 'bpchar', amprocnum => '1', amproc => 'bpcharcmp' },
  26. { amprocfamily => 'btree/bpchar_ops', amproclefttype => 'bpchar',
  27. amprocrighttype => 'bpchar', amprocnum => '2',
  28. amproc => 'bpchar_sortsupport' },
  29. { amprocfamily => 'btree/bpchar_ops', amproclefttype => 'bpchar',
  30. amprocrighttype => 'bpchar', amprocnum => '4',
  31. amproc => 'btvarstrequalimage' },
  32. { amprocfamily => 'btree/bytea_ops', amproclefttype => 'bytea',
  33. amprocrighttype => 'bytea', amprocnum => '1', amproc => 'byteacmp' },
  34. { amprocfamily => 'btree/bytea_ops', amproclefttype => 'bytea',
  35. amprocrighttype => 'bytea', amprocnum => '2', amproc => 'bytea_sortsupport' },
  36. { amprocfamily => 'btree/bytea_ops', amproclefttype => 'bytea',
  37. amprocrighttype => 'bytea', amprocnum => '4', amproc => 'btequalimage' },
  38. { amprocfamily => 'btree/char_ops', amproclefttype => 'char',
  39. amprocrighttype => 'char', amprocnum => '1', amproc => 'btcharcmp' },
  40. { amprocfamily => 'btree/char_ops', amproclefttype => 'char',
  41. amprocrighttype => 'char', amprocnum => '4', amproc => 'btequalimage' },
  42. { amprocfamily => 'btree/datetime_ops', amproclefttype => 'date',
  43. amprocrighttype => 'date', amprocnum => '1', amproc => 'date_cmp' },
  44. { amprocfamily => 'btree/datetime_ops', amproclefttype => 'date',
  45. amprocrighttype => 'date', amprocnum => '2', amproc => 'date_sortsupport' },
  46. { amprocfamily => 'btree/datetime_ops', amproclefttype => 'date',
  47. amprocrighttype => 'date', amprocnum => '4', amproc => 'btequalimage' },
  48. { amprocfamily => 'btree/datetime_ops', amproclefttype => 'date',
  49. amprocrighttype => 'timestamp', amprocnum => '1',
  50. amproc => 'date_cmp_timestamp' },
  51. { amprocfamily => 'btree/datetime_ops', amproclefttype => 'date',
  52. amprocrighttype => 'timestamptz', amprocnum => '1',
  53. amproc => 'date_cmp_timestamptz' },
  54. { amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamp',
  55. amprocrighttype => 'timestamp', amprocnum => '1', amproc => 'timestamp_cmp' },
  56. { amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamp',
  57. amprocrighttype => 'timestamp', amprocnum => '2',
  58. amproc => 'timestamp_sortsupport' },
  59. { amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamp',
  60. amprocrighttype => 'timestamp', amprocnum => '4', amproc => 'btequalimage' },
  61. { amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamp',
  62. amprocrighttype => 'date', amprocnum => '1', amproc => 'timestamp_cmp_date' },
  63. { amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamp',
  64. amprocrighttype => 'timestamptz', amprocnum => '1',
  65. amproc => 'timestamp_cmp_timestamptz' },
  66. { amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamptz',
  67. amprocrighttype => 'timestamptz', amprocnum => '1',
  68. amproc => 'timestamptz_cmp' },
  69. { amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamptz',
  70. amprocrighttype => 'timestamptz', amprocnum => '2',
  71. amproc => 'timestamp_sortsupport' },
  72. { amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamptz',
  73. amprocrighttype => 'timestamptz', amprocnum => '4',
  74. amproc => 'btequalimage' },
  75. { amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamptz',
  76. amprocrighttype => 'date', amprocnum => '1',
  77. amproc => 'timestamptz_cmp_date' },
  78. { amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamptz',
  79. amprocrighttype => 'timestamp', amprocnum => '1',
  80. amproc => 'timestamptz_cmp_timestamp' },
  81. { amprocfamily => 'btree/datetime_ops', amproclefttype => 'date',
  82. amprocrighttype => 'interval', amprocnum => '3',
  83. amproc => 'in_range(date,date,interval,bool,bool)' },
  84. { amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamp',
  85. amprocrighttype => 'interval', amprocnum => '3',
  86. amproc => 'in_range(timestamp,timestamp,interval,bool,bool)' },
  87. { amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamptz',
  88. amprocrighttype => 'interval', amprocnum => '3',
  89. amproc => 'in_range(timestamptz,timestamptz,interval,bool,bool)' },
  90. { amprocfamily => 'btree/float_ops', amproclefttype => 'float4',
  91. amprocrighttype => 'float4', amprocnum => '1', amproc => 'btfloat4cmp' },
  92. { amprocfamily => 'btree/float_ops', amproclefttype => 'float4',
  93. amprocrighttype => 'float4', amprocnum => '2',
  94. amproc => 'btfloat4sortsupport' },
  95. { amprocfamily => 'btree/float_ops', amproclefttype => 'float4',
  96. amprocrighttype => 'float8', amprocnum => '1', amproc => 'btfloat48cmp' },
  97. { amprocfamily => 'btree/float_ops', amproclefttype => 'float8',
  98. amprocrighttype => 'float8', amprocnum => '1', amproc => 'btfloat8cmp' },
  99. { amprocfamily => 'btree/float_ops', amproclefttype => 'float8',
  100. amprocrighttype => 'float8', amprocnum => '2',
  101. amproc => 'btfloat8sortsupport' },
  102. { amprocfamily => 'btree/float_ops', amproclefttype => 'float8',
  103. amprocrighttype => 'float4', amprocnum => '1', amproc => 'btfloat84cmp' },
  104. { amprocfamily => 'btree/float_ops', amproclefttype => 'float8',
  105. amprocrighttype => 'float8', amprocnum => '3',
  106. amproc => 'in_range(float8,float8,float8,bool,bool)' },
  107. { amprocfamily => 'btree/float_ops', amproclefttype => 'float4',
  108. amprocrighttype => 'float8', amprocnum => '3',
  109. amproc => 'in_range(float4,float4,float8,bool,bool)' },
  110. { amprocfamily => 'btree/network_ops', amproclefttype => 'inet',
  111. amprocrighttype => 'inet', amprocnum => '1', amproc => 'network_cmp' },
  112. { amprocfamily => 'btree/network_ops', amproclefttype => 'inet',
  113. amprocrighttype => 'inet', amprocnum => '2',
  114. amproc => 'network_sortsupport' },
  115. { amprocfamily => 'btree/network_ops', amproclefttype => 'inet',
  116. amprocrighttype => 'inet', amprocnum => '4', amproc => 'btequalimage' },
  117. { amprocfamily => 'btree/integer_ops', amproclefttype => 'int2',
  118. amprocrighttype => 'int2', amprocnum => '1', amproc => 'btint2cmp' },
  119. { amprocfamily => 'btree/integer_ops', amproclefttype => 'int2',
  120. amprocrighttype => 'int2', amprocnum => '2', amproc => 'btint2sortsupport' },
  121. { amprocfamily => 'btree/integer_ops', amproclefttype => 'int2',
  122. amprocrighttype => 'int2', amprocnum => '4', amproc => 'btequalimage' },
  123. { amprocfamily => 'btree/integer_ops', amproclefttype => 'int2',
  124. amprocrighttype => 'int4', amprocnum => '1', amproc => 'btint24cmp' },
  125. { amprocfamily => 'btree/integer_ops', amproclefttype => 'int2',
  126. amprocrighttype => 'int8', amprocnum => '1', amproc => 'btint28cmp' },
  127. { amprocfamily => 'btree/integer_ops', amproclefttype => 'int2',
  128. amprocrighttype => 'int8', amprocnum => '3',
  129. amproc => 'in_range(int2,int2,int8,bool,bool)' },
  130. { amprocfamily => 'btree/integer_ops', amproclefttype => 'int2',
  131. amprocrighttype => 'int4', amprocnum => '3',
  132. amproc => 'in_range(int2,int2,int4,bool,bool)' },
  133. { amprocfamily => 'btree/integer_ops', amproclefttype => 'int2',
  134. amprocrighttype => 'int2', amprocnum => '3',
  135. amproc => 'in_range(int2,int2,int2,bool,bool)' },
  136. { amprocfamily => 'btree/integer_ops', amproclefttype => 'int4',
  137. amprocrighttype => 'int4', amprocnum => '1', amproc => 'btint4cmp' },
  138. { amprocfamily => 'btree/integer_ops', amproclefttype => 'int4',
  139. amprocrighttype => 'int4', amprocnum => '2', amproc => 'btint4sortsupport' },
  140. { amprocfamily => 'btree/integer_ops', amproclefttype => 'int4',
  141. amprocrighttype => 'int4', amprocnum => '4', amproc => 'btequalimage' },
  142. { amprocfamily => 'btree/integer_ops', amproclefttype => 'int4',
  143. amprocrighttype => 'int8', amprocnum => '1', amproc => 'btint48cmp' },
  144. { amprocfamily => 'btree/integer_ops', amproclefttype => 'int4',
  145. amprocrighttype => 'int2', amprocnum => '1', amproc => 'btint42cmp' },
  146. { amprocfamily => 'btree/integer_ops', amproclefttype => 'int4',
  147. amprocrighttype => 'int8', amprocnum => '3',
  148. amproc => 'in_range(int4,int4,int8,bool,bool)' },
  149. { amprocfamily => 'btree/integer_ops', amproclefttype => 'int4',
  150. amprocrighttype => 'int4', amprocnum => '3',
  151. amproc => 'in_range(int4,int4,int4,bool,bool)' },
  152. { amprocfamily => 'btree/integer_ops', amproclefttype => 'int4',
  153. amprocrighttype => 'int2', amprocnum => '3',
  154. amproc => 'in_range(int4,int4,int2,bool,bool)' },
  155. { amprocfamily => 'btree/integer_ops', amproclefttype => 'int8',
  156. amprocrighttype => 'int8', amprocnum => '1', amproc => 'btint8cmp' },
  157. { amprocfamily => 'btree/integer_ops', amproclefttype => 'int8',
  158. amprocrighttype => 'int8', amprocnum => '2', amproc => 'btint8sortsupport' },
  159. { amprocfamily => 'btree/integer_ops', amproclefttype => 'int8',
  160. amprocrighttype => 'int8', amprocnum => '4', amproc => 'btequalimage' },
  161. { amprocfamily => 'btree/integer_ops', amproclefttype => 'int8',
  162. amprocrighttype => 'int4', amprocnum => '1', amproc => 'btint84cmp' },
  163. { amprocfamily => 'btree/integer_ops', amproclefttype => 'int8',
  164. amprocrighttype => 'int2', amprocnum => '1', amproc => 'btint82cmp' },
  165. { amprocfamily => 'btree/integer_ops', amproclefttype => 'int8',
  166. amprocrighttype => 'int8', amprocnum => '3',
  167. amproc => 'in_range(int8,int8,int8,bool,bool)' },
  168. { amprocfamily => 'btree/interval_ops', amproclefttype => 'interval',
  169. amprocrighttype => 'interval', amprocnum => '1', amproc => 'interval_cmp' },
  170. { amprocfamily => 'btree/interval_ops', amproclefttype => 'interval',
  171. amprocrighttype => 'interval', amprocnum => '3',
  172. amproc => 'in_range(interval,interval,interval,bool,bool)' },
  173. { amprocfamily => 'btree/interval_ops', amproclefttype => 'interval',
  174. amprocrighttype => 'interval', amprocnum => '4', amproc => 'btequalimage' },
  175. { amprocfamily => 'btree/macaddr_ops', amproclefttype => 'macaddr',
  176. amprocrighttype => 'macaddr', amprocnum => '1', amproc => 'macaddr_cmp' },
  177. { amprocfamily => 'btree/macaddr_ops', amproclefttype => 'macaddr',
  178. amprocrighttype => 'macaddr', amprocnum => '2',
  179. amproc => 'macaddr_sortsupport' },
  180. { amprocfamily => 'btree/macaddr_ops', amproclefttype => 'macaddr',
  181. amprocrighttype => 'macaddr', amprocnum => '4', amproc => 'btequalimage' },
  182. { amprocfamily => 'btree/numeric_ops', amproclefttype => 'numeric',
  183. amprocrighttype => 'numeric', amprocnum => '1', amproc => 'numeric_cmp' },
  184. { amprocfamily => 'btree/numeric_ops', amproclefttype => 'numeric',
  185. amprocrighttype => 'numeric', amprocnum => '2',
  186. amproc => 'numeric_sortsupport' },
  187. { amprocfamily => 'btree/numeric_ops', amproclefttype => 'numeric',
  188. amprocrighttype => 'numeric', amprocnum => '3',
  189. amproc => 'in_range(numeric,numeric,numeric,bool,bool)' },
  190. { amprocfamily => 'btree/oid_ops', amproclefttype => 'oid',
  191. amprocrighttype => 'oid', amprocnum => '1', amproc => 'btoidcmp' },
  192. { amprocfamily => 'btree/oid_ops', amproclefttype => 'oid',
  193. amprocrighttype => 'oid', amprocnum => '2', amproc => 'btoidsortsupport' },
  194. { amprocfamily => 'btree/oid_ops', amproclefttype => 'oid',
  195. amprocrighttype => 'oid', amprocnum => '4', amproc => 'btequalimage' },
  196. { amprocfamily => 'btree/oidvector_ops', amproclefttype => 'oidvector',
  197. amprocrighttype => 'oidvector', amprocnum => '1',
  198. amproc => 'btoidvectorcmp' },
  199. { amprocfamily => 'btree/oidvector_ops', amproclefttype => 'oidvector',
  200. amprocrighttype => 'oidvector', amprocnum => '4', amproc => 'btequalimage' },
  201. { amprocfamily => 'btree/text_ops', amproclefttype => 'text',
  202. amprocrighttype => 'text', amprocnum => '1', amproc => 'bttextcmp' },
  203. { amprocfamily => 'btree/text_ops', amproclefttype => 'text',
  204. amprocrighttype => 'text', amprocnum => '2', amproc => 'bttextsortsupport' },
  205. { amprocfamily => 'btree/text_ops', amproclefttype => 'text',
  206. amprocrighttype => 'text', amprocnum => '4', amproc => 'btvarstrequalimage' },
  207. { amprocfamily => 'btree/text_ops', amproclefttype => 'name',
  208. amprocrighttype => 'name', amprocnum => '1', amproc => 'btnamecmp' },
  209. { amprocfamily => 'btree/text_ops', amproclefttype => 'name',
  210. amprocrighttype => 'name', amprocnum => '2', amproc => 'btnamesortsupport' },
  211. { amprocfamily => 'btree/text_ops', amproclefttype => 'name',
  212. amprocrighttype => 'name', amprocnum => '4', amproc => 'btvarstrequalimage' },
  213. { amprocfamily => 'btree/text_ops', amproclefttype => 'name',
  214. amprocrighttype => 'text', amprocnum => '1', amproc => 'btnametextcmp' },
  215. { amprocfamily => 'btree/text_ops', amproclefttype => 'text',
  216. amprocrighttype => 'name', amprocnum => '1', amproc => 'bttextnamecmp' },
  217. { amprocfamily => 'btree/time_ops', amproclefttype => 'time',
  218. amprocrighttype => 'time', amprocnum => '1', amproc => 'time_cmp' },
  219. { amprocfamily => 'btree/time_ops', amproclefttype => 'time',
  220. amprocrighttype => 'time', amprocnum => '4', amproc => 'btequalimage' },
  221. { amprocfamily => 'btree/time_ops', amproclefttype => 'time',
  222. amprocrighttype => 'interval', amprocnum => '3',
  223. amproc => 'in_range(time,time,interval,bool,bool)' },
  224. { amprocfamily => 'btree/timetz_ops', amproclefttype => 'timetz',
  225. amprocrighttype => 'timetz', amprocnum => '1', amproc => 'timetz_cmp' },
  226. { amprocfamily => 'btree/timetz_ops', amproclefttype => 'timetz',
  227. amprocrighttype => 'timetz', amprocnum => '4', amproc => 'btequalimage' },
  228. { amprocfamily => 'btree/timetz_ops', amproclefttype => 'timetz',
  229. amprocrighttype => 'interval', amprocnum => '3',
  230. amproc => 'in_range(timetz,timetz,interval,bool,bool)' },
  231. { amprocfamily => 'btree/varbit_ops', amproclefttype => 'varbit',
  232. amprocrighttype => 'varbit', amprocnum => '1', amproc => 'varbitcmp' },
  233. { amprocfamily => 'btree/varbit_ops', amproclefttype => 'varbit',
  234. amprocrighttype => 'varbit', amprocnum => '4', amproc => 'btequalimage' },
  235. { amprocfamily => 'btree/text_pattern_ops', amproclefttype => 'text',
  236. amprocrighttype => 'text', amprocnum => '1', amproc => 'bttext_pattern_cmp' },
  237. { amprocfamily => 'btree/text_pattern_ops', amproclefttype => 'text',
  238. amprocrighttype => 'text', amprocnum => '2',
  239. amproc => 'bttext_pattern_sortsupport' },
  240. { amprocfamily => 'btree/text_pattern_ops', amproclefttype => 'text',
  241. amprocrighttype => 'text', amprocnum => '4', amproc => 'btequalimage' },
  242. { amprocfamily => 'btree/bpchar_pattern_ops', amproclefttype => 'bpchar',
  243. amprocrighttype => 'bpchar', amprocnum => '1',
  244. amproc => 'btbpchar_pattern_cmp' },
  245. { amprocfamily => 'btree/bpchar_pattern_ops', amproclefttype => 'bpchar',
  246. amprocrighttype => 'bpchar', amprocnum => '2',
  247. amproc => 'btbpchar_pattern_sortsupport' },
  248. { amprocfamily => 'btree/bpchar_pattern_ops', amproclefttype => 'bpchar',
  249. amprocrighttype => 'bpchar', amprocnum => '4', amproc => 'btequalimage' },
  250. { amprocfamily => 'btree/money_ops', amproclefttype => 'money',
  251. amprocrighttype => 'money', amprocnum => '1', amproc => 'cash_cmp' },
  252. { amprocfamily => 'btree/money_ops', amproclefttype => 'money',
  253. amprocrighttype => 'money', amprocnum => '4', amproc => 'btequalimage' },
  254. { amprocfamily => 'btree/tid_ops', amproclefttype => 'tid',
  255. amprocrighttype => 'tid', amprocnum => '1', amproc => 'bttidcmp' },
  256. { amprocfamily => 'btree/tid_ops', amproclefttype => 'tid',
  257. amprocrighttype => 'tid', amprocnum => '4', amproc => 'btequalimage' },
  258. { amprocfamily => 'btree/uuid_ops', amproclefttype => 'uuid',
  259. amprocrighttype => 'uuid', amprocnum => '1', amproc => 'uuid_cmp' },
  260. { amprocfamily => 'btree/uuid_ops', amproclefttype => 'uuid',
  261. amprocrighttype => 'uuid', amprocnum => '2', amproc => 'uuid_sortsupport' },
  262. { amprocfamily => 'btree/uuid_ops', amproclefttype => 'uuid',
  263. amprocrighttype => 'uuid', amprocnum => '4', amproc => 'btequalimage' },
  264. { amprocfamily => 'btree/record_ops', amproclefttype => 'record',
  265. amprocrighttype => 'record', amprocnum => '1', amproc => 'btrecordcmp' },
  266. { amprocfamily => 'btree/record_image_ops', amproclefttype => 'record',
  267. amprocrighttype => 'record', amprocnum => '1', amproc => 'btrecordimagecmp' },
  268. { amprocfamily => 'btree/pg_lsn_ops', amproclefttype => 'pg_lsn',
  269. amprocrighttype => 'pg_lsn', amprocnum => '1', amproc => 'pg_lsn_cmp' },
  270. { amprocfamily => 'btree/pg_lsn_ops', amproclefttype => 'pg_lsn',
  271. amprocrighttype => 'pg_lsn', amprocnum => '4', amproc => 'btequalimage' },
  272. { amprocfamily => 'btree/macaddr8_ops', amproclefttype => 'macaddr8',
  273. amprocrighttype => 'macaddr8', amprocnum => '1', amproc => 'macaddr8_cmp' },
  274. { amprocfamily => 'btree/macaddr8_ops', amproclefttype => 'macaddr8',
  275. amprocrighttype => 'macaddr8', amprocnum => '4', amproc => 'btequalimage' },
  276. { amprocfamily => 'btree/enum_ops', amproclefttype => 'anyenum',
  277. amprocrighttype => 'anyenum', amprocnum => '1', amproc => 'enum_cmp' },
  278. { amprocfamily => 'btree/enum_ops', amproclefttype => 'anyenum',
  279. amprocrighttype => 'anyenum', amprocnum => '4', amproc => 'btequalimage' },
  280. { amprocfamily => 'btree/tsvector_ops', amproclefttype => 'tsvector',
  281. amprocrighttype => 'tsvector', amprocnum => '1', amproc => 'tsvector_cmp' },
  282. { amprocfamily => 'btree/tsquery_ops', amproclefttype => 'tsquery',
  283. amprocrighttype => 'tsquery', amprocnum => '1', amproc => 'tsquery_cmp' },
  284. { amprocfamily => 'btree/range_ops', amproclefttype => 'anyrange',
  285. amprocrighttype => 'anyrange', amprocnum => '1', amproc => 'range_cmp' },
  286. { amprocfamily => 'btree/multirange_ops', amproclefttype => 'anymultirange',
  287. amprocrighttype => 'anymultirange', amprocnum => '1',
  288. amproc => 'multirange_cmp' },
  289. { amprocfamily => 'btree/jsonb_ops', amproclefttype => 'jsonb',
  290. amprocrighttype => 'jsonb', amprocnum => '1', amproc => 'jsonb_cmp' },
  291. { amprocfamily => 'btree/xid8_ops', amproclefttype => 'xid8',
  292. amprocrighttype => 'xid8', amprocnum => '1', amproc => 'xid8cmp' },
  293. { amprocfamily => 'btree/xid8_ops', amproclefttype => 'xid8',
  294. amprocrighttype => 'xid8', amprocnum => '4', amproc => 'btequalimage' },
  295. # hash
  296. { amprocfamily => 'hash/bpchar_ops', amproclefttype => 'bpchar',
  297. amprocrighttype => 'bpchar', amprocnum => '1', amproc => 'hashbpchar' },
  298. { amprocfamily => 'hash/bpchar_ops', amproclefttype => 'bpchar',
  299. amprocrighttype => 'bpchar', amprocnum => '2',
  300. amproc => 'hashbpcharextended' },
  301. { amprocfamily => 'hash/char_ops', amproclefttype => 'char',
  302. amprocrighttype => 'char', amprocnum => '1', amproc => 'hashchar' },
  303. { amprocfamily => 'hash/char_ops', amproclefttype => 'char',
  304. amprocrighttype => 'char', amprocnum => '2', amproc => 'hashcharextended' },
  305. { amprocfamily => 'hash/date_ops', amproclefttype => 'date',
  306. amprocrighttype => 'date', amprocnum => '1', amproc => 'hashint4' },
  307. { amprocfamily => 'hash/date_ops', amproclefttype => 'date',
  308. amprocrighttype => 'date', amprocnum => '2', amproc => 'hashint4extended' },
  309. { amprocfamily => 'hash/array_ops', amproclefttype => 'anyarray',
  310. amprocrighttype => 'anyarray', amprocnum => '1', amproc => 'hash_array' },
  311. { amprocfamily => 'hash/array_ops', amproclefttype => 'anyarray',
  312. amprocrighttype => 'anyarray', amprocnum => '2',
  313. amproc => 'hash_array_extended' },
  314. { amprocfamily => 'hash/float_ops', amproclefttype => 'float4',
  315. amprocrighttype => 'float4', amprocnum => '1', amproc => 'hashfloat4' },
  316. { amprocfamily => 'hash/float_ops', amproclefttype => 'float4',
  317. amprocrighttype => 'float4', amprocnum => '2',
  318. amproc => 'hashfloat4extended' },
  319. { amprocfamily => 'hash/float_ops', amproclefttype => 'float8',
  320. amprocrighttype => 'float8', amprocnum => '1', amproc => 'hashfloat8' },
  321. { amprocfamily => 'hash/float_ops', amproclefttype => 'float8',
  322. amprocrighttype => 'float8', amprocnum => '2',
  323. amproc => 'hashfloat8extended' },
  324. { amprocfamily => 'hash/network_ops', amproclefttype => 'inet',
  325. amprocrighttype => 'inet', amprocnum => '1', amproc => 'hashinet' },
  326. { amprocfamily => 'hash/network_ops', amproclefttype => 'inet',
  327. amprocrighttype => 'inet', amprocnum => '2', amproc => 'hashinetextended' },
  328. { amprocfamily => 'hash/integer_ops', amproclefttype => 'int2',
  329. amprocrighttype => 'int2', amprocnum => '1', amproc => 'hashint2' },
  330. { amprocfamily => 'hash/integer_ops', amproclefttype => 'int2',
  331. amprocrighttype => 'int2', amprocnum => '2', amproc => 'hashint2extended' },
  332. { amprocfamily => 'hash/integer_ops', amproclefttype => 'int4',
  333. amprocrighttype => 'int4', amprocnum => '1', amproc => 'hashint4' },
  334. { amprocfamily => 'hash/integer_ops', amproclefttype => 'int4',
  335. amprocrighttype => 'int4', amprocnum => '2', amproc => 'hashint4extended' },
  336. { amprocfamily => 'hash/integer_ops', amproclefttype => 'int8',
  337. amprocrighttype => 'int8', amprocnum => '1', amproc => 'hashint8' },
  338. { amprocfamily => 'hash/integer_ops', amproclefttype => 'int8',
  339. amprocrighttype => 'int8', amprocnum => '2', amproc => 'hashint8extended' },
  340. { amprocfamily => 'hash/interval_ops', amproclefttype => 'interval',
  341. amprocrighttype => 'interval', amprocnum => '1', amproc => 'interval_hash' },
  342. { amprocfamily => 'hash/interval_ops', amproclefttype => 'interval',
  343. amprocrighttype => 'interval', amprocnum => '2',
  344. amproc => 'interval_hash_extended' },
  345. { amprocfamily => 'hash/macaddr_ops', amproclefttype => 'macaddr',
  346. amprocrighttype => 'macaddr', amprocnum => '1', amproc => 'hashmacaddr' },
  347. { amprocfamily => 'hash/macaddr_ops', amproclefttype => 'macaddr',
  348. amprocrighttype => 'macaddr', amprocnum => '2',
  349. amproc => 'hashmacaddrextended' },
  350. { amprocfamily => 'hash/oid_ops', amproclefttype => 'oid',
  351. amprocrighttype => 'oid', amprocnum => '1', amproc => 'hashoid' },
  352. { amprocfamily => 'hash/oid_ops', amproclefttype => 'oid',
  353. amprocrighttype => 'oid', amprocnum => '2', amproc => 'hashoidextended' },
  354. { amprocfamily => 'hash/oidvector_ops', amproclefttype => 'oidvector',
  355. amprocrighttype => 'oidvector', amprocnum => '1', amproc => 'hashoidvector' },
  356. { amprocfamily => 'hash/oidvector_ops', amproclefttype => 'oidvector',
  357. amprocrighttype => 'oidvector', amprocnum => '2',
  358. amproc => 'hashoidvectorextended' },
  359. { amprocfamily => 'hash/text_ops', amproclefttype => 'text',
  360. amprocrighttype => 'text', amprocnum => '1', amproc => 'hashtext' },
  361. { amprocfamily => 'hash/text_ops', amproclefttype => 'text',
  362. amprocrighttype => 'text', amprocnum => '2', amproc => 'hashtextextended' },
  363. { amprocfamily => 'hash/text_ops', amproclefttype => 'name',
  364. amprocrighttype => 'name', amprocnum => '1', amproc => 'hashname' },
  365. { amprocfamily => 'hash/text_ops', amproclefttype => 'name',
  366. amprocrighttype => 'name', amprocnum => '2', amproc => 'hashnameextended' },
  367. { amprocfamily => 'hash/time_ops', amproclefttype => 'time',
  368. amprocrighttype => 'time', amprocnum => '1', amproc => 'time_hash' },
  369. { amprocfamily => 'hash/time_ops', amproclefttype => 'time',
  370. amprocrighttype => 'time', amprocnum => '2', amproc => 'time_hash_extended' },
  371. { amprocfamily => 'hash/numeric_ops', amproclefttype => 'numeric',
  372. amprocrighttype => 'numeric', amprocnum => '1', amproc => 'hash_numeric' },
  373. { amprocfamily => 'hash/numeric_ops', amproclefttype => 'numeric',
  374. amprocrighttype => 'numeric', amprocnum => '2',
  375. amproc => 'hash_numeric_extended' },
  376. { amprocfamily => 'hash/timestamptz_ops', amproclefttype => 'timestamptz',
  377. amprocrighttype => 'timestamptz', amprocnum => '1',
  378. amproc => 'timestamp_hash' },
  379. { amprocfamily => 'hash/timestamptz_ops', amproclefttype => 'timestamptz',
  380. amprocrighttype => 'timestamptz', amprocnum => '2',
  381. amproc => 'timestamp_hash_extended' },
  382. { amprocfamily => 'hash/timetz_ops', amproclefttype => 'timetz',
  383. amprocrighttype => 'timetz', amprocnum => '1', amproc => 'timetz_hash' },
  384. { amprocfamily => 'hash/timetz_ops', amproclefttype => 'timetz',
  385. amprocrighttype => 'timetz', amprocnum => '2',
  386. amproc => 'timetz_hash_extended' },
  387. { amprocfamily => 'hash/timestamp_ops', amproclefttype => 'timestamp',
  388. amprocrighttype => 'timestamp', amprocnum => '1',
  389. amproc => 'timestamp_hash' },
  390. { amprocfamily => 'hash/timestamp_ops', amproclefttype => 'timestamp',
  391. amprocrighttype => 'timestamp', amprocnum => '2',
  392. amproc => 'timestamp_hash_extended' },
  393. { amprocfamily => 'hash/bool_ops', amproclefttype => 'bool',
  394. amprocrighttype => 'bool', amprocnum => '1', amproc => 'hashchar' },
  395. { amprocfamily => 'hash/bool_ops', amproclefttype => 'bool',
  396. amprocrighttype => 'bool', amprocnum => '2', amproc => 'hashcharextended' },
  397. { amprocfamily => 'hash/bytea_ops', amproclefttype => 'bytea',
  398. amprocrighttype => 'bytea', amprocnum => '1', amproc => 'hashvarlena' },
  399. { amprocfamily => 'hash/bytea_ops', amproclefttype => 'bytea',
  400. amprocrighttype => 'bytea', amprocnum => '2',
  401. amproc => 'hashvarlenaextended' },
  402. { amprocfamily => 'hash/xid_ops', amproclefttype => 'xid',
  403. amprocrighttype => 'xid', amprocnum => '1', amproc => 'hashint4' },
  404. { amprocfamily => 'hash/xid_ops', amproclefttype => 'xid',
  405. amprocrighttype => 'xid', amprocnum => '2', amproc => 'hashint4extended' },
  406. { amprocfamily => 'hash/xid8_ops', amproclefttype => 'xid8',
  407. amprocrighttype => 'xid8', amprocnum => '1', amproc => 'hashint8' },
  408. { amprocfamily => 'hash/xid8_ops', amproclefttype => 'xid8',
  409. amprocrighttype => 'xid8', amprocnum => '2', amproc => 'hashint8extended' },
  410. { amprocfamily => 'hash/cid_ops', amproclefttype => 'cid',
  411. amprocrighttype => 'cid', amprocnum => '1', amproc => 'hashint4' },
  412. { amprocfamily => 'hash/cid_ops', amproclefttype => 'cid',
  413. amprocrighttype => 'cid', amprocnum => '2', amproc => 'hashint4extended' },
  414. { amprocfamily => 'hash/tid_ops', amproclefttype => 'tid',
  415. amprocrighttype => 'tid', amprocnum => '1', amproc => 'hashtid' },
  416. { amprocfamily => 'hash/tid_ops', amproclefttype => 'tid',
  417. amprocrighttype => 'tid', amprocnum => '2', amproc => 'hashtidextended' },
  418. { amprocfamily => 'hash/text_pattern_ops', amproclefttype => 'text',
  419. amprocrighttype => 'text', amprocnum => '1', amproc => 'hashtext' },
  420. { amprocfamily => 'hash/text_pattern_ops', amproclefttype => 'text',
  421. amprocrighttype => 'text', amprocnum => '2', amproc => 'hashtextextended' },
  422. { amprocfamily => 'hash/bpchar_pattern_ops', amproclefttype => 'bpchar',
  423. amprocrighttype => 'bpchar', amprocnum => '1', amproc => 'hashbpchar' },
  424. { amprocfamily => 'hash/bpchar_pattern_ops', amproclefttype => 'bpchar',
  425. amprocrighttype => 'bpchar', amprocnum => '2',
  426. amproc => 'hashbpcharextended' },
  427. { amprocfamily => 'hash/aclitem_ops', amproclefttype => 'aclitem',
  428. amprocrighttype => 'aclitem', amprocnum => '1', amproc => 'hash_aclitem' },
  429. { amprocfamily => 'hash/aclitem_ops', amproclefttype => 'aclitem',
  430. amprocrighttype => 'aclitem', amprocnum => '2',
  431. amproc => 'hash_aclitem_extended' },
  432. { amprocfamily => 'hash/uuid_ops', amproclefttype => 'uuid',
  433. amprocrighttype => 'uuid', amprocnum => '1', amproc => 'uuid_hash' },
  434. { amprocfamily => 'hash/uuid_ops', amproclefttype => 'uuid',
  435. amprocrighttype => 'uuid', amprocnum => '2', amproc => 'uuid_hash_extended' },
  436. { amprocfamily => 'hash/record_ops', amproclefttype => 'record',
  437. amprocrighttype => 'record', amprocnum => '1', amproc => 'hash_record' },
  438. { amprocfamily => 'hash/record_ops', amproclefttype => 'record',
  439. amprocrighttype => 'record', amprocnum => '2',
  440. amproc => 'hash_record_extended' },
  441. { amprocfamily => 'hash/pg_lsn_ops', amproclefttype => 'pg_lsn',
  442. amprocrighttype => 'pg_lsn', amprocnum => '1', amproc => 'pg_lsn_hash' },
  443. { amprocfamily => 'hash/pg_lsn_ops', amproclefttype => 'pg_lsn',
  444. amprocrighttype => 'pg_lsn', amprocnum => '2',
  445. amproc => 'pg_lsn_hash_extended' },
  446. { amprocfamily => 'hash/macaddr8_ops', amproclefttype => 'macaddr8',
  447. amprocrighttype => 'macaddr8', amprocnum => '1', amproc => 'hashmacaddr8' },
  448. { amprocfamily => 'hash/macaddr8_ops', amproclefttype => 'macaddr8',
  449. amprocrighttype => 'macaddr8', amprocnum => '2',
  450. amproc => 'hashmacaddr8extended' },
  451. { amprocfamily => 'hash/enum_ops', amproclefttype => 'anyenum',
  452. amprocrighttype => 'anyenum', amprocnum => '1', amproc => 'hashenum' },
  453. { amprocfamily => 'hash/enum_ops', amproclefttype => 'anyenum',
  454. amprocrighttype => 'anyenum', amprocnum => '2',
  455. amproc => 'hashenumextended' },
  456. { amprocfamily => 'hash/range_ops', amproclefttype => 'anyrange',
  457. amprocrighttype => 'anyrange', amprocnum => '1', amproc => 'hash_range' },
  458. { amprocfamily => 'hash/range_ops', amproclefttype => 'anyrange',
  459. amprocrighttype => 'anyrange', amprocnum => '2',
  460. amproc => 'hash_range_extended' },
  461. { amprocfamily => 'hash/multirange_ops', amproclefttype => 'anymultirange',
  462. amprocrighttype => 'anymultirange', amprocnum => '1',
  463. amproc => 'hash_multirange' },
  464. { amprocfamily => 'hash/multirange_ops', amproclefttype => 'anymultirange',
  465. amprocrighttype => 'anymultirange', amprocnum => '2',
  466. amproc => 'hash_multirange_extended' },
  467. { amprocfamily => 'hash/jsonb_ops', amproclefttype => 'jsonb',
  468. amprocrighttype => 'jsonb', amprocnum => '1', amproc => 'jsonb_hash' },
  469. { amprocfamily => 'hash/jsonb_ops', amproclefttype => 'jsonb',
  470. amprocrighttype => 'jsonb', amprocnum => '2',
  471. amproc => 'jsonb_hash_extended' },
  472. # gist
  473. { amprocfamily => 'gist/point_ops', amproclefttype => 'point',
  474. amprocrighttype => 'point', amprocnum => '1',
  475. amproc => 'gist_point_consistent' },
  476. { amprocfamily => 'gist/point_ops', amproclefttype => 'point',
  477. amprocrighttype => 'point', amprocnum => '2', amproc => 'gist_box_union' },
  478. { amprocfamily => 'gist/point_ops', amproclefttype => 'point',
  479. amprocrighttype => 'point', amprocnum => '3',
  480. amproc => 'gist_point_compress' },
  481. { amprocfamily => 'gist/point_ops', amproclefttype => 'point',
  482. amprocrighttype => 'point', amprocnum => '5', amproc => 'gist_box_penalty' },
  483. { amprocfamily => 'gist/point_ops', amproclefttype => 'point',
  484. amprocrighttype => 'point', amprocnum => '6',
  485. amproc => 'gist_box_picksplit' },
  486. { amprocfamily => 'gist/point_ops', amproclefttype => 'point',
  487. amprocrighttype => 'point', amprocnum => '7', amproc => 'gist_box_same' },
  488. { amprocfamily => 'gist/point_ops', amproclefttype => 'point',
  489. amprocrighttype => 'point', amprocnum => '8',
  490. amproc => 'gist_point_distance' },
  491. { amprocfamily => 'gist/point_ops', amproclefttype => 'point',
  492. amprocrighttype => 'point', amprocnum => '9', amproc => 'gist_point_fetch' },
  493. { amprocfamily => 'gist/point_ops', amproclefttype => 'point',
  494. amprocrighttype => 'point', amprocnum => '11',
  495. amproc => 'gist_point_sortsupport' },
  496. { amprocfamily => 'gist/box_ops', amproclefttype => 'box',
  497. amprocrighttype => 'box', amprocnum => '1', amproc => 'gist_box_consistent' },
  498. { amprocfamily => 'gist/box_ops', amproclefttype => 'box',
  499. amprocrighttype => 'box', amprocnum => '2', amproc => 'gist_box_union' },
  500. { amprocfamily => 'gist/box_ops', amproclefttype => 'box',
  501. amprocrighttype => 'box', amprocnum => '5', amproc => 'gist_box_penalty' },
  502. { amprocfamily => 'gist/box_ops', amproclefttype => 'box',
  503. amprocrighttype => 'box', amprocnum => '6', amproc => 'gist_box_picksplit' },
  504. { amprocfamily => 'gist/box_ops', amproclefttype => 'box',
  505. amprocrighttype => 'box', amprocnum => '7', amproc => 'gist_box_same' },
  506. { amprocfamily => 'gist/box_ops', amproclefttype => 'box',
  507. amprocrighttype => 'box', amprocnum => '8', amproc => 'gist_box_distance' },
  508. { amprocfamily => 'gist/poly_ops', amproclefttype => 'polygon',
  509. amprocrighttype => 'polygon', amprocnum => '1',
  510. amproc => 'gist_poly_consistent' },
  511. { amprocfamily => 'gist/poly_ops', amproclefttype => 'polygon',
  512. amprocrighttype => 'polygon', amprocnum => '2', amproc => 'gist_box_union' },
  513. { amprocfamily => 'gist/poly_ops', amproclefttype => 'polygon',
  514. amprocrighttype => 'polygon', amprocnum => '3',
  515. amproc => 'gist_poly_compress' },
  516. { amprocfamily => 'gist/poly_ops', amproclefttype => 'polygon',
  517. amprocrighttype => 'polygon', amprocnum => '5',
  518. amproc => 'gist_box_penalty' },
  519. { amprocfamily => 'gist/poly_ops', amproclefttype => 'polygon',
  520. amprocrighttype => 'polygon', amprocnum => '6',
  521. amproc => 'gist_box_picksplit' },
  522. { amprocfamily => 'gist/poly_ops', amproclefttype => 'polygon',
  523. amprocrighttype => 'polygon', amprocnum => '7', amproc => 'gist_box_same' },
  524. { amprocfamily => 'gist/poly_ops', amproclefttype => 'polygon',
  525. amprocrighttype => 'polygon', amprocnum => '8',
  526. amproc => 'gist_poly_distance' },
  527. { amprocfamily => 'gist/circle_ops', amproclefttype => 'circle',
  528. amprocrighttype => 'circle', amprocnum => '1',
  529. amproc => 'gist_circle_consistent' },
  530. { amprocfamily => 'gist/circle_ops', amproclefttype => 'circle',
  531. amprocrighttype => 'circle', amprocnum => '2', amproc => 'gist_box_union' },
  532. { amprocfamily => 'gist/circle_ops', amproclefttype => 'circle',
  533. amprocrighttype => 'circle', amprocnum => '3',
  534. amproc => 'gist_circle_compress' },
  535. { amprocfamily => 'gist/circle_ops', amproclefttype => 'circle',
  536. amprocrighttype => 'circle', amprocnum => '5', amproc => 'gist_box_penalty' },
  537. { amprocfamily => 'gist/circle_ops', amproclefttype => 'circle',
  538. amprocrighttype => 'circle', amprocnum => '6',
  539. amproc => 'gist_box_picksplit' },
  540. { amprocfamily => 'gist/circle_ops', amproclefttype => 'circle',
  541. amprocrighttype => 'circle', amprocnum => '7', amproc => 'gist_box_same' },
  542. { amprocfamily => 'gist/circle_ops', amproclefttype => 'circle',
  543. amprocrighttype => 'circle', amprocnum => '8',
  544. amproc => 'gist_circle_distance' },
  545. { amprocfamily => 'gist/tsvector_ops', amproclefttype => 'tsvector',
  546. amprocrighttype => 'tsvector', amprocnum => '1',
  547. amproc => 'gtsvector_consistent(internal,tsvector,int2,oid,internal)' },
  548. { amprocfamily => 'gist/tsvector_ops', amproclefttype => 'tsvector',
  549. amprocrighttype => 'tsvector', amprocnum => '2',
  550. amproc => 'gtsvector_union' },
  551. { amprocfamily => 'gist/tsvector_ops', amproclefttype => 'tsvector',
  552. amprocrighttype => 'tsvector', amprocnum => '3',
  553. amproc => 'gtsvector_compress' },
  554. { amprocfamily => 'gist/tsvector_ops', amproclefttype => 'tsvector',
  555. amprocrighttype => 'tsvector', amprocnum => '4',
  556. amproc => 'gtsvector_decompress' },
  557. { amprocfamily => 'gist/tsvector_ops', amproclefttype => 'tsvector',
  558. amprocrighttype => 'tsvector', amprocnum => '5',
  559. amproc => 'gtsvector_penalty' },
  560. { amprocfamily => 'gist/tsvector_ops', amproclefttype => 'tsvector',
  561. amprocrighttype => 'tsvector', amprocnum => '6',
  562. amproc => 'gtsvector_picksplit' },
  563. { amprocfamily => 'gist/tsvector_ops', amproclefttype => 'tsvector',
  564. amprocrighttype => 'tsvector', amprocnum => '7', amproc => 'gtsvector_same' },
  565. { amprocfamily => 'gist/tsvector_ops', amproclefttype => 'tsvector',
  566. amprocrighttype => 'tsvector', amprocnum => '10',
  567. amproc => 'gtsvector_options' },
  568. { amprocfamily => 'gist/tsquery_ops', amproclefttype => 'tsquery',
  569. amprocrighttype => 'tsquery', amprocnum => '1',
  570. amproc => 'gtsquery_consistent(internal,tsquery,int2,oid,internal)' },
  571. { amprocfamily => 'gist/tsquery_ops', amproclefttype => 'tsquery',
  572. amprocrighttype => 'tsquery', amprocnum => '2', amproc => 'gtsquery_union' },
  573. { amprocfamily => 'gist/tsquery_ops', amproclefttype => 'tsquery',
  574. amprocrighttype => 'tsquery', amprocnum => '3',
  575. amproc => 'gtsquery_compress' },
  576. { amprocfamily => 'gist/tsquery_ops', amproclefttype => 'tsquery',
  577. amprocrighttype => 'tsquery', amprocnum => '5',
  578. amproc => 'gtsquery_penalty' },
  579. { amprocfamily => 'gist/tsquery_ops', amproclefttype => 'tsquery',
  580. amprocrighttype => 'tsquery', amprocnum => '6',
  581. amproc => 'gtsquery_picksplit' },
  582. { amprocfamily => 'gist/tsquery_ops', amproclefttype => 'tsquery',
  583. amprocrighttype => 'tsquery', amprocnum => '7', amproc => 'gtsquery_same' },
  584. { amprocfamily => 'gist/range_ops', amproclefttype => 'anyrange',
  585. amprocrighttype => 'anyrange', amprocnum => '1',
  586. amproc => 'range_gist_consistent' },
  587. { amprocfamily => 'gist/range_ops', amproclefttype => 'anyrange',
  588. amprocrighttype => 'anyrange', amprocnum => '2',
  589. amproc => 'range_gist_union' },
  590. { amprocfamily => 'gist/range_ops', amproclefttype => 'anyrange',
  591. amprocrighttype => 'anyrange', amprocnum => '5',
  592. amproc => 'range_gist_penalty' },
  593. { amprocfamily => 'gist/range_ops', amproclefttype => 'anyrange',
  594. amprocrighttype => 'anyrange', amprocnum => '6',
  595. amproc => 'range_gist_picksplit' },
  596. { amprocfamily => 'gist/range_ops', amproclefttype => 'anyrange',
  597. amprocrighttype => 'anyrange', amprocnum => '7',
  598. amproc => 'range_gist_same' },
  599. { amprocfamily => 'gist/network_ops', amproclefttype => 'inet',
  600. amprocrighttype => 'inet', amprocnum => '1',
  601. amproc => 'inet_gist_consistent' },
  602. { amprocfamily => 'gist/network_ops', amproclefttype => 'inet',
  603. amprocrighttype => 'inet', amprocnum => '2', amproc => 'inet_gist_union' },
  604. { amprocfamily => 'gist/network_ops', amproclefttype => 'inet',
  605. amprocrighttype => 'inet', amprocnum => '3', amproc => 'inet_gist_compress' },
  606. { amprocfamily => 'gist/network_ops', amproclefttype => 'inet',
  607. amprocrighttype => 'inet', amprocnum => '5', amproc => 'inet_gist_penalty' },
  608. { amprocfamily => 'gist/network_ops', amproclefttype => 'inet',
  609. amprocrighttype => 'inet', amprocnum => '6',
  610. amproc => 'inet_gist_picksplit' },
  611. { amprocfamily => 'gist/network_ops', amproclefttype => 'inet',
  612. amprocrighttype => 'inet', amprocnum => '7', amproc => 'inet_gist_same' },
  613. { amprocfamily => 'gist/network_ops', amproclefttype => 'inet',
  614. amprocrighttype => 'inet', amprocnum => '9', amproc => 'inet_gist_fetch' },
  615. { amprocfamily => 'gist/multirange_ops', amproclefttype => 'anymultirange',
  616. amprocrighttype => 'anymultirange', amprocnum => '1',
  617. amproc => 'multirange_gist_consistent' },
  618. { amprocfamily => 'gist/multirange_ops', amproclefttype => 'anymultirange',
  619. amprocrighttype => 'anymultirange', amprocnum => '2',
  620. amproc => 'range_gist_union' },
  621. { amprocfamily => 'gist/multirange_ops', amproclefttype => 'anymultirange',
  622. amprocrighttype => 'anymultirange', amprocnum => '3',
  623. amproc => 'multirange_gist_compress' },
  624. { amprocfamily => 'gist/multirange_ops', amproclefttype => 'anymultirange',
  625. amprocrighttype => 'anymultirange', amprocnum => '5',
  626. amproc => 'range_gist_penalty' },
  627. { amprocfamily => 'gist/multirange_ops', amproclefttype => 'anymultirange',
  628. amprocrighttype => 'anymultirange', amprocnum => '6',
  629. amproc => 'range_gist_picksplit' },
  630. { amprocfamily => 'gist/multirange_ops', amproclefttype => 'anymultirange',
  631. amprocrighttype => 'anymultirange', amprocnum => '7',
  632. amproc => 'range_gist_same' },
  633. # gin
  634. { amprocfamily => 'gin/array_ops', amproclefttype => 'anyarray',
  635. amprocrighttype => 'anyarray', amprocnum => '2',
  636. amproc => 'ginarrayextract(anyarray,internal,internal)' },
  637. { amprocfamily => 'gin/array_ops', amproclefttype => 'anyarray',
  638. amprocrighttype => 'anyarray', amprocnum => '3',
  639. amproc => 'ginqueryarrayextract' },
  640. { amprocfamily => 'gin/array_ops', amproclefttype => 'anyarray',
  641. amprocrighttype => 'anyarray', amprocnum => '4',
  642. amproc => 'ginarrayconsistent' },
  643. { amprocfamily => 'gin/array_ops', amproclefttype => 'anyarray',
  644. amprocrighttype => 'anyarray', amprocnum => '6',
  645. amproc => 'ginarraytriconsistent' },
  646. { amprocfamily => 'gin/tsvector_ops', amproclefttype => 'tsvector',
  647. amprocrighttype => 'tsvector', amprocnum => '1',
  648. amproc => 'gin_cmp_tslexeme' },
  649. { amprocfamily => 'gin/tsvector_ops', amproclefttype => 'tsvector',
  650. amprocrighttype => 'tsvector', amprocnum => '2',
  651. amproc => 'gin_extract_tsvector(tsvector,internal,internal)' },
  652. { amprocfamily => 'gin/tsvector_ops', amproclefttype => 'tsvector',
  653. amprocrighttype => 'tsvector', amprocnum => '3',
  654. amproc => 'gin_extract_tsquery(tsvector,internal,int2,internal,internal,internal,internal)' },
  655. { amprocfamily => 'gin/tsvector_ops', amproclefttype => 'tsvector',
  656. amprocrighttype => 'tsvector', amprocnum => '4',
  657. amproc => 'gin_tsquery_consistent(internal,int2,tsvector,int4,internal,internal,internal,internal)' },
  658. { amprocfamily => 'gin/tsvector_ops', amproclefttype => 'tsvector',
  659. amprocrighttype => 'tsvector', amprocnum => '5', amproc => 'gin_cmp_prefix' },
  660. { amprocfamily => 'gin/tsvector_ops', amproclefttype => 'tsvector',
  661. amprocrighttype => 'tsvector', amprocnum => '6',
  662. amproc => 'gin_tsquery_triconsistent' },
  663. { amprocfamily => 'gin/jsonb_ops', amproclefttype => 'jsonb',
  664. amprocrighttype => 'jsonb', amprocnum => '1', amproc => 'gin_compare_jsonb' },
  665. { amprocfamily => 'gin/jsonb_ops', amproclefttype => 'jsonb',
  666. amprocrighttype => 'jsonb', amprocnum => '2', amproc => 'gin_extract_jsonb' },
  667. { amprocfamily => 'gin/jsonb_ops', amproclefttype => 'jsonb',
  668. amprocrighttype => 'jsonb', amprocnum => '3',
  669. amproc => 'gin_extract_jsonb_query' },
  670. { amprocfamily => 'gin/jsonb_ops', amproclefttype => 'jsonb',
  671. amprocrighttype => 'jsonb', amprocnum => '4',
  672. amproc => 'gin_consistent_jsonb' },
  673. { amprocfamily => 'gin/jsonb_ops', amproclefttype => 'jsonb',
  674. amprocrighttype => 'jsonb', amprocnum => '6',
  675. amproc => 'gin_triconsistent_jsonb' },
  676. { amprocfamily => 'gin/jsonb_path_ops', amproclefttype => 'jsonb',
  677. amprocrighttype => 'jsonb', amprocnum => '1', amproc => 'btint4cmp' },
  678. { amprocfamily => 'gin/jsonb_path_ops', amproclefttype => 'jsonb',
  679. amprocrighttype => 'jsonb', amprocnum => '2',
  680. amproc => 'gin_extract_jsonb_path' },
  681. { amprocfamily => 'gin/jsonb_path_ops', amproclefttype => 'jsonb',
  682. amprocrighttype => 'jsonb', amprocnum => '3',
  683. amproc => 'gin_extract_jsonb_query_path' },
  684. { amprocfamily => 'gin/jsonb_path_ops', amproclefttype => 'jsonb',
  685. amprocrighttype => 'jsonb', amprocnum => '4',
  686. amproc => 'gin_consistent_jsonb_path' },
  687. { amprocfamily => 'gin/jsonb_path_ops', amproclefttype => 'jsonb',
  688. amprocrighttype => 'jsonb', amprocnum => '6',
  689. amproc => 'gin_triconsistent_jsonb_path' },
  690. # sp-gist
  691. { amprocfamily => 'spgist/range_ops', amproclefttype => 'anyrange',
  692. amprocrighttype => 'anyrange', amprocnum => '1',
  693. amproc => 'spg_range_quad_config' },
  694. { amprocfamily => 'spgist/range_ops', amproclefttype => 'anyrange',
  695. amprocrighttype => 'anyrange', amprocnum => '2',
  696. amproc => 'spg_range_quad_choose' },
  697. { amprocfamily => 'spgist/range_ops', amproclefttype => 'anyrange',
  698. amprocrighttype => 'anyrange', amprocnum => '3',
  699. amproc => 'spg_range_quad_picksplit' },
  700. { amprocfamily => 'spgist/range_ops', amproclefttype => 'anyrange',
  701. amprocrighttype => 'anyrange', amprocnum => '4',
  702. amproc => 'spg_range_quad_inner_consistent' },
  703. { amprocfamily => 'spgist/range_ops', amproclefttype => 'anyrange',
  704. amprocrighttype => 'anyrange', amprocnum => '5',
  705. amproc => 'spg_range_quad_leaf_consistent' },
  706. { amprocfamily => 'spgist/network_ops', amproclefttype => 'inet',
  707. amprocrighttype => 'inet', amprocnum => '1', amproc => 'inet_spg_config' },
  708. { amprocfamily => 'spgist/network_ops', amproclefttype => 'inet',
  709. amprocrighttype => 'inet', amprocnum => '2', amproc => 'inet_spg_choose' },
  710. { amprocfamily => 'spgist/network_ops', amproclefttype => 'inet',
  711. amprocrighttype => 'inet', amprocnum => '3', amproc => 'inet_spg_picksplit' },
  712. { amprocfamily => 'spgist/network_ops', amproclefttype => 'inet',
  713. amprocrighttype => 'inet', amprocnum => '4',
  714. amproc => 'inet_spg_inner_consistent' },
  715. { amprocfamily => 'spgist/network_ops', amproclefttype => 'inet',
  716. amprocrighttype => 'inet', amprocnum => '5',
  717. amproc => 'inet_spg_leaf_consistent' },
  718. { amprocfamily => 'spgist/quad_point_ops', amproclefttype => 'point',
  719. amprocrighttype => 'point', amprocnum => '1', amproc => 'spg_quad_config' },
  720. { amprocfamily => 'spgist/quad_point_ops', amproclefttype => 'point',
  721. amprocrighttype => 'point', amprocnum => '2', amproc => 'spg_quad_choose' },
  722. { amprocfamily => 'spgist/quad_point_ops', amproclefttype => 'point',
  723. amprocrighttype => 'point', amprocnum => '3',
  724. amproc => 'spg_quad_picksplit' },
  725. { amprocfamily => 'spgist/quad_point_ops', amproclefttype => 'point',
  726. amprocrighttype => 'point', amprocnum => '4',
  727. amproc => 'spg_quad_inner_consistent' },
  728. { amprocfamily => 'spgist/quad_point_ops', amproclefttype => 'point',
  729. amprocrighttype => 'point', amprocnum => '5',
  730. amproc => 'spg_quad_leaf_consistent' },
  731. { amprocfamily => 'spgist/kd_point_ops', amproclefttype => 'point',
  732. amprocrighttype => 'point', amprocnum => '1', amproc => 'spg_kd_config' },
  733. { amprocfamily => 'spgist/kd_point_ops', amproclefttype => 'point',
  734. amprocrighttype => 'point', amprocnum => '2', amproc => 'spg_kd_choose' },
  735. { amprocfamily => 'spgist/kd_point_ops', amproclefttype => 'point',
  736. amprocrighttype => 'point', amprocnum => '3', amproc => 'spg_kd_picksplit' },
  737. { amprocfamily => 'spgist/kd_point_ops', amproclefttype => 'point',
  738. amprocrighttype => 'point', amprocnum => '4',
  739. amproc => 'spg_kd_inner_consistent' },
  740. { amprocfamily => 'spgist/kd_point_ops', amproclefttype => 'point',
  741. amprocrighttype => 'point', amprocnum => '5',
  742. amproc => 'spg_quad_leaf_consistent' },
  743. { amprocfamily => 'spgist/text_ops', amproclefttype => 'text',
  744. amprocrighttype => 'text', amprocnum => '1', amproc => 'spg_text_config' },
  745. { amprocfamily => 'spgist/text_ops', amproclefttype => 'text',
  746. amprocrighttype => 'text', amprocnum => '2', amproc => 'spg_text_choose' },
  747. { amprocfamily => 'spgist/text_ops', amproclefttype => 'text',
  748. amprocrighttype => 'text', amprocnum => '3', amproc => 'spg_text_picksplit' },
  749. { amprocfamily => 'spgist/text_ops', amproclefttype => 'text',
  750. amprocrighttype => 'text', amprocnum => '4',
  751. amproc => 'spg_text_inner_consistent' },
  752. { amprocfamily => 'spgist/text_ops', amproclefttype => 'text',
  753. amprocrighttype => 'text', amprocnum => '5',
  754. amproc => 'spg_text_leaf_consistent' },
  755. { amprocfamily => 'spgist/box_ops', amproclefttype => 'box',
  756. amprocrighttype => 'box', amprocnum => '1', amproc => 'spg_box_quad_config' },
  757. { amprocfamily => 'spgist/box_ops', amproclefttype => 'box',
  758. amprocrighttype => 'box', amprocnum => '2', amproc => 'spg_box_quad_choose' },
  759. { amprocfamily => 'spgist/box_ops', amproclefttype => 'box',
  760. amprocrighttype => 'box', amprocnum => '3',
  761. amproc => 'spg_box_quad_picksplit' },
  762. { amprocfamily => 'spgist/box_ops', amproclefttype => 'box',
  763. amprocrighttype => 'box', amprocnum => '4',
  764. amproc => 'spg_box_quad_inner_consistent' },
  765. { amprocfamily => 'spgist/box_ops', amproclefttype => 'box',
  766. amprocrighttype => 'box', amprocnum => '5',
  767. amproc => 'spg_box_quad_leaf_consistent' },
  768. { amprocfamily => 'spgist/poly_ops', amproclefttype => 'polygon',
  769. amprocrighttype => 'polygon', amprocnum => '1',
  770. amproc => 'spg_bbox_quad_config' },
  771. { amprocfamily => 'spgist/poly_ops', amproclefttype => 'polygon',
  772. amprocrighttype => 'polygon', amprocnum => '2',
  773. amproc => 'spg_box_quad_choose' },
  774. { amprocfamily => 'spgist/poly_ops', amproclefttype => 'polygon',
  775. amprocrighttype => 'polygon', amprocnum => '3',
  776. amproc => 'spg_box_quad_picksplit' },
  777. { amprocfamily => 'spgist/poly_ops', amproclefttype => 'polygon',
  778. amprocrighttype => 'polygon', amprocnum => '4',
  779. amproc => 'spg_box_quad_inner_consistent' },
  780. { amprocfamily => 'spgist/poly_ops', amproclefttype => 'polygon',
  781. amprocrighttype => 'polygon', amprocnum => '5',
  782. amproc => 'spg_box_quad_leaf_consistent' },
  783. { amprocfamily => 'spgist/poly_ops', amproclefttype => 'polygon',
  784. amprocrighttype => 'polygon', amprocnum => '6',
  785. amproc => 'spg_poly_quad_compress' },
  786. # BRIN opclasses
  787. # minmax bytea
  788. { amprocfamily => 'brin/bytea_minmax_ops', amproclefttype => 'bytea',
  789. amprocrighttype => 'bytea', amprocnum => '1',
  790. amproc => 'brin_minmax_opcinfo' },
  791. { amprocfamily => 'brin/bytea_minmax_ops', amproclefttype => 'bytea',
  792. amprocrighttype => 'bytea', amprocnum => '2',
  793. amproc => 'brin_minmax_add_value' },
  794. { amprocfamily => 'brin/bytea_minmax_ops', amproclefttype => 'bytea',
  795. amprocrighttype => 'bytea', amprocnum => '3',
  796. amproc => 'brin_minmax_consistent' },
  797. { amprocfamily => 'brin/bytea_minmax_ops', amproclefttype => 'bytea',
  798. amprocrighttype => 'bytea', amprocnum => '4', amproc => 'brin_minmax_union' },
  799. # bloom bytea
  800. { amprocfamily => 'brin/bytea_bloom_ops', amproclefttype => 'bytea',
  801. amprocrighttype => 'bytea', amprocnum => '1',
  802. amproc => 'brin_bloom_opcinfo' },
  803. { amprocfamily => 'brin/bytea_bloom_ops', amproclefttype => 'bytea',
  804. amprocrighttype => 'bytea', amprocnum => '2',
  805. amproc => 'brin_bloom_add_value' },
  806. { amprocfamily => 'brin/bytea_bloom_ops', amproclefttype => 'bytea',
  807. amprocrighttype => 'bytea', amprocnum => '3',
  808. amproc => 'brin_bloom_consistent' },
  809. { amprocfamily => 'brin/bytea_bloom_ops', amproclefttype => 'bytea',
  810. amprocrighttype => 'bytea', amprocnum => '4', amproc => 'brin_bloom_union' },
  811. { amprocfamily => 'brin/bytea_bloom_ops', amproclefttype => 'bytea',
  812. amprocrighttype => 'bytea', amprocnum => '5',
  813. amproc => 'brin_bloom_options' },
  814. { amprocfamily => 'brin/bytea_bloom_ops', amproclefttype => 'bytea',
  815. amprocrighttype => 'bytea', amprocnum => '11', amproc => 'hashvarlena' },
  816. # minmax "char"
  817. { amprocfamily => 'brin/char_minmax_ops', amproclefttype => 'char',
  818. amprocrighttype => 'char', amprocnum => '1',
  819. amproc => 'brin_minmax_opcinfo' },
  820. { amprocfamily => 'brin/char_minmax_ops', amproclefttype => 'char',
  821. amprocrighttype => 'char', amprocnum => '2',
  822. amproc => 'brin_minmax_add_value' },
  823. { amprocfamily => 'brin/char_minmax_ops', amproclefttype => 'char',
  824. amprocrighttype => 'char', amprocnum => '3',
  825. amproc => 'brin_minmax_consistent' },
  826. { amprocfamily => 'brin/char_minmax_ops', amproclefttype => 'char',
  827. amprocrighttype => 'char', amprocnum => '4', amproc => 'brin_minmax_union' },
  828. # bloom "char"
  829. { amprocfamily => 'brin/char_bloom_ops', amproclefttype => 'char',
  830. amprocrighttype => 'char', amprocnum => '1', amproc => 'brin_bloom_opcinfo' },
  831. { amprocfamily => 'brin/char_bloom_ops', amproclefttype => 'char',
  832. amprocrighttype => 'char', amprocnum => '2',
  833. amproc => 'brin_bloom_add_value' },
  834. { amprocfamily => 'brin/char_bloom_ops', amproclefttype => 'char',
  835. amprocrighttype => 'char', amprocnum => '3',
  836. amproc => 'brin_bloom_consistent' },
  837. { amprocfamily => 'brin/char_bloom_ops', amproclefttype => 'char',
  838. amprocrighttype => 'char', amprocnum => '4', amproc => 'brin_bloom_union' },
  839. { amprocfamily => 'brin/char_bloom_ops', amproclefttype => 'char',
  840. amprocrighttype => 'char', amprocnum => '5', amproc => 'brin_bloom_options' },
  841. { amprocfamily => 'brin/char_bloom_ops', amproclefttype => 'char',
  842. amprocrighttype => 'char', amprocnum => '11', amproc => 'hashchar' },
  843. # minmax name
  844. { amprocfamily => 'brin/name_minmax_ops', amproclefttype => 'name',
  845. amprocrighttype => 'name', amprocnum => '1',
  846. amproc => 'brin_minmax_opcinfo' },
  847. { amprocfamily => 'brin/name_minmax_ops', amproclefttype => 'name',
  848. amprocrighttype => 'name', amprocnum => '2',
  849. amproc => 'brin_minmax_add_value' },
  850. { amprocfamily => 'brin/name_minmax_ops', amproclefttype => 'name',
  851. amprocrighttype => 'name', amprocnum => '3',
  852. amproc => 'brin_minmax_consistent' },
  853. { amprocfamily => 'brin/name_minmax_ops', amproclefttype => 'name',
  854. amprocrighttype => 'name', amprocnum => '4', amproc => 'brin_minmax_union' },
  855. # bloom name
  856. { amprocfamily => 'brin/name_bloom_ops', amproclefttype => 'name',
  857. amprocrighttype => 'name', amprocnum => '1', amproc => 'brin_bloom_opcinfo' },
  858. { amprocfamily => 'brin/name_bloom_ops', amproclefttype => 'name',
  859. amprocrighttype => 'name', amprocnum => '2',
  860. amproc => 'brin_bloom_add_value' },
  861. { amprocfamily => 'brin/name_bloom_ops', amproclefttype => 'name',
  862. amprocrighttype => 'name', amprocnum => '3',
  863. amproc => 'brin_bloom_consistent' },
  864. { amprocfamily => 'brin/name_bloom_ops', amproclefttype => 'name',
  865. amprocrighttype => 'name', amprocnum => '4', amproc => 'brin_bloom_union' },
  866. { amprocfamily => 'brin/name_bloom_ops', amproclefttype => 'name',
  867. amprocrighttype => 'name', amprocnum => '5', amproc => 'brin_bloom_options' },
  868. { amprocfamily => 'brin/name_bloom_ops', amproclefttype => 'name',
  869. amprocrighttype => 'name', amprocnum => '11', amproc => 'hashname' },
  870. # minmax integer: int2, int4, int8
  871. { amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int8',
  872. amprocrighttype => 'int8', amprocnum => '1',
  873. amproc => 'brin_minmax_opcinfo' },
  874. { amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int8',
  875. amprocrighttype => 'int8', amprocnum => '2',
  876. amproc => 'brin_minmax_add_value' },
  877. { amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int8',
  878. amprocrighttype => 'int8', amprocnum => '3',
  879. amproc => 'brin_minmax_consistent' },
  880. { amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int8',
  881. amprocrighttype => 'int8', amprocnum => '4', amproc => 'brin_minmax_union' },
  882. { amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int2',
  883. amprocrighttype => 'int2', amprocnum => '1',
  884. amproc => 'brin_minmax_opcinfo' },
  885. { amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int2',
  886. amprocrighttype => 'int2', amprocnum => '2',
  887. amproc => 'brin_minmax_add_value' },
  888. { amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int2',
  889. amprocrighttype => 'int2', amprocnum => '3',
  890. amproc => 'brin_minmax_consistent' },
  891. { amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int2',
  892. amprocrighttype => 'int2', amprocnum => '4', amproc => 'brin_minmax_union' },
  893. { amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int4',
  894. amprocrighttype => 'int4', amprocnum => '1',
  895. amproc => 'brin_minmax_opcinfo' },
  896. { amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int4',
  897. amprocrighttype => 'int4', amprocnum => '2',
  898. amproc => 'brin_minmax_add_value' },
  899. { amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int4',
  900. amprocrighttype => 'int4', amprocnum => '3',
  901. amproc => 'brin_minmax_consistent' },
  902. { amprocfamily => 'brin/integer_minmax_ops', amproclefttype => 'int4',
  903. amprocrighttype => 'int4', amprocnum => '4', amproc => 'brin_minmax_union' },
  904. # minmax multi integer: int2, int4, int8
  905. { amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int2',
  906. amprocrighttype => 'int2', amprocnum => '1',
  907. amproc => 'brin_minmax_multi_opcinfo' },
  908. { amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int2',
  909. amprocrighttype => 'int2', amprocnum => '2',
  910. amproc => 'brin_minmax_multi_add_value' },
  911. { amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int2',
  912. amprocrighttype => 'int2', amprocnum => '3',
  913. amproc => 'brin_minmax_multi_consistent' },
  914. { amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int2',
  915. amprocrighttype => 'int2', amprocnum => '4',
  916. amproc => 'brin_minmax_multi_union' },
  917. { amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int2',
  918. amprocrighttype => 'int2', amprocnum => '5',
  919. amproc => 'brin_minmax_multi_options' },
  920. { amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int2',
  921. amprocrighttype => 'int2', amprocnum => '11',
  922. amproc => 'brin_minmax_multi_distance_int2' },
  923. { amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int4',
  924. amprocrighttype => 'int4', amprocnum => '1',
  925. amproc => 'brin_minmax_multi_opcinfo' },
  926. { amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int4',
  927. amprocrighttype => 'int4', amprocnum => '2',
  928. amproc => 'brin_minmax_multi_add_value' },
  929. { amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int4',
  930. amprocrighttype => 'int4', amprocnum => '3',
  931. amproc => 'brin_minmax_multi_consistent' },
  932. { amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int4',
  933. amprocrighttype => 'int4', amprocnum => '4',
  934. amproc => 'brin_minmax_multi_union' },
  935. { amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int4',
  936. amprocrighttype => 'int4', amprocnum => '5',
  937. amproc => 'brin_minmax_multi_options' },
  938. { amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int4',
  939. amprocrighttype => 'int4', amprocnum => '11',
  940. amproc => 'brin_minmax_multi_distance_int4' },
  941. { amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int8',
  942. amprocrighttype => 'int8', amprocnum => '1',
  943. amproc => 'brin_minmax_multi_opcinfo' },
  944. { amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int8',
  945. amprocrighttype => 'int8', amprocnum => '2',
  946. amproc => 'brin_minmax_multi_add_value' },
  947. { amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int8',
  948. amprocrighttype => 'int8', amprocnum => '3',
  949. amproc => 'brin_minmax_multi_consistent' },
  950. { amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int8',
  951. amprocrighttype => 'int8', amprocnum => '4',
  952. amproc => 'brin_minmax_multi_union' },
  953. { amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int8',
  954. amprocrighttype => 'int8', amprocnum => '5',
  955. amproc => 'brin_minmax_multi_options' },
  956. { amprocfamily => 'brin/integer_minmax_multi_ops', amproclefttype => 'int8',
  957. amprocrighttype => 'int8', amprocnum => '11',
  958. amproc => 'brin_minmax_multi_distance_int8' },
  959. # bloom integer: int2, int4, int8
  960. { amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int8',
  961. amprocrighttype => 'int8', amprocnum => '1', amproc => 'brin_bloom_opcinfo' },
  962. { amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int8',
  963. amprocrighttype => 'int8', amprocnum => '2',
  964. amproc => 'brin_bloom_add_value' },
  965. { amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int8',
  966. amprocrighttype => 'int8', amprocnum => '3',
  967. amproc => 'brin_bloom_consistent' },
  968. { amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int8',
  969. amprocrighttype => 'int8', amprocnum => '4', amproc => 'brin_bloom_union' },
  970. { amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int8',
  971. amprocrighttype => 'int8', amprocnum => '5', amproc => 'brin_bloom_options' },
  972. { amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int8',
  973. amprocrighttype => 'int8', amprocnum => '11', amproc => 'hashint8' },
  974. { amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int2',
  975. amprocrighttype => 'int2', amprocnum => '1', amproc => 'brin_bloom_opcinfo' },
  976. { amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int2',
  977. amprocrighttype => 'int2', amprocnum => '2',
  978. amproc => 'brin_bloom_add_value' },
  979. { amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int2',
  980. amprocrighttype => 'int2', amprocnum => '3',
  981. amproc => 'brin_bloom_consistent' },
  982. { amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int2',
  983. amprocrighttype => 'int2', amprocnum => '4', amproc => 'brin_bloom_union' },
  984. { amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int2',
  985. amprocrighttype => 'int2', amprocnum => '5', amproc => 'brin_bloom_options' },
  986. { amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int2',
  987. amprocrighttype => 'int2', amprocnum => '11', amproc => 'hashint2' },
  988. { amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int4',
  989. amprocrighttype => 'int4', amprocnum => '1', amproc => 'brin_bloom_opcinfo' },
  990. { amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int4',
  991. amprocrighttype => 'int4', amprocnum => '2',
  992. amproc => 'brin_bloom_add_value' },
  993. { amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int4',
  994. amprocrighttype => 'int4', amprocnum => '3',
  995. amproc => 'brin_bloom_consistent' },
  996. { amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int4',
  997. amprocrighttype => 'int4', amprocnum => '4', amproc => 'brin_bloom_union' },
  998. { amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int4',
  999. amprocrighttype => 'int4', amprocnum => '5', amproc => 'brin_bloom_options' },
  1000. { amprocfamily => 'brin/integer_bloom_ops', amproclefttype => 'int4',
  1001. amprocrighttype => 'int4', amprocnum => '11', amproc => 'hashint4' },
  1002. # minmax text
  1003. { amprocfamily => 'brin/text_minmax_ops', amproclefttype => 'text',
  1004. amprocrighttype => 'text', amprocnum => '1',
  1005. amproc => 'brin_minmax_opcinfo' },
  1006. { amprocfamily => 'brin/text_minmax_ops', amproclefttype => 'text',
  1007. amprocrighttype => 'text', amprocnum => '2',
  1008. amproc => 'brin_minmax_add_value' },
  1009. { amprocfamily => 'brin/text_minmax_ops', amproclefttype => 'text',
  1010. amprocrighttype => 'text', amprocnum => '3',
  1011. amproc => 'brin_minmax_consistent' },
  1012. { amprocfamily => 'brin/text_minmax_ops', amproclefttype => 'text',
  1013. amprocrighttype => 'text', amprocnum => '4', amproc => 'brin_minmax_union' },
  1014. # bloom text
  1015. { amprocfamily => 'brin/text_bloom_ops', amproclefttype => 'text',
  1016. amprocrighttype => 'text', amprocnum => '1', amproc => 'brin_bloom_opcinfo' },
  1017. { amprocfamily => 'brin/text_bloom_ops', amproclefttype => 'text',
  1018. amprocrighttype => 'text', amprocnum => '2',
  1019. amproc => 'brin_bloom_add_value' },
  1020. { amprocfamily => 'brin/text_bloom_ops', amproclefttype => 'text',
  1021. amprocrighttype => 'text', amprocnum => '3',
  1022. amproc => 'brin_bloom_consistent' },
  1023. { amprocfamily => 'brin/text_bloom_ops', amproclefttype => 'text',
  1024. amprocrighttype => 'text', amprocnum => '4', amproc => 'brin_bloom_union' },
  1025. { amprocfamily => 'brin/text_bloom_ops', amproclefttype => 'text',
  1026. amprocrighttype => 'text', amprocnum => '5', amproc => 'brin_bloom_options' },
  1027. { amprocfamily => 'brin/text_bloom_ops', amproclefttype => 'text',
  1028. amprocrighttype => 'text', amprocnum => '11', amproc => 'hashtext' },
  1029. # minmax oid
  1030. { amprocfamily => 'brin/oid_minmax_ops', amproclefttype => 'oid',
  1031. amprocrighttype => 'oid', amprocnum => '1', amproc => 'brin_minmax_opcinfo' },
  1032. { amprocfamily => 'brin/oid_minmax_ops', amproclefttype => 'oid',
  1033. amprocrighttype => 'oid', amprocnum => '2',
  1034. amproc => 'brin_minmax_add_value' },
  1035. { amprocfamily => 'brin/oid_minmax_ops', amproclefttype => 'oid',
  1036. amprocrighttype => 'oid', amprocnum => '3',
  1037. amproc => 'brin_minmax_consistent' },
  1038. { amprocfamily => 'brin/oid_minmax_ops', amproclefttype => 'oid',
  1039. amprocrighttype => 'oid', amprocnum => '4', amproc => 'brin_minmax_union' },
  1040. # minmax multi oid
  1041. { amprocfamily => 'brin/oid_minmax_multi_ops', amproclefttype => 'oid',
  1042. amprocrighttype => 'oid', amprocnum => '1',
  1043. amproc => 'brin_minmax_multi_opcinfo' },
  1044. { amprocfamily => 'brin/oid_minmax_multi_ops', amproclefttype => 'oid',
  1045. amprocrighttype => 'oid', amprocnum => '2',
  1046. amproc => 'brin_minmax_multi_add_value' },
  1047. { amprocfamily => 'brin/oid_minmax_multi_ops', amproclefttype => 'oid',
  1048. amprocrighttype => 'oid', amprocnum => '3',
  1049. amproc => 'brin_minmax_multi_consistent' },
  1050. { amprocfamily => 'brin/oid_minmax_multi_ops', amproclefttype => 'oid',
  1051. amprocrighttype => 'oid', amprocnum => '4',
  1052. amproc => 'brin_minmax_multi_union' },
  1053. { amprocfamily => 'brin/oid_minmax_multi_ops', amproclefttype => 'oid',
  1054. amprocrighttype => 'oid', amprocnum => '5',
  1055. amproc => 'brin_minmax_multi_options' },
  1056. { amprocfamily => 'brin/oid_minmax_multi_ops', amproclefttype => 'oid',
  1057. amprocrighttype => 'oid', amprocnum => '11',
  1058. amproc => 'brin_minmax_multi_distance_int4' },
  1059. # bloom oid
  1060. { amprocfamily => 'brin/oid_bloom_ops', amproclefttype => 'oid',
  1061. amprocrighttype => 'oid', amprocnum => '1', amproc => 'brin_bloom_opcinfo' },
  1062. { amprocfamily => 'brin/oid_bloom_ops', amproclefttype => 'oid',
  1063. amprocrighttype => 'oid', amprocnum => '2',
  1064. amproc => 'brin_bloom_add_value' },
  1065. { amprocfamily => 'brin/oid_bloom_ops', amproclefttype => 'oid',
  1066. amprocrighttype => 'oid', amprocnum => '3',
  1067. amproc => 'brin_bloom_consistent' },
  1068. { amprocfamily => 'brin/oid_bloom_ops', amproclefttype => 'oid',
  1069. amprocrighttype => 'oid', amprocnum => '4', amproc => 'brin_bloom_union' },
  1070. { amprocfamily => 'brin/oid_bloom_ops', amproclefttype => 'oid',
  1071. amprocrighttype => 'oid', amprocnum => '5', amproc => 'brin_bloom_options' },
  1072. { amprocfamily => 'brin/oid_bloom_ops', amproclefttype => 'oid',
  1073. amprocrighttype => 'oid', amprocnum => '11', amproc => 'hashoid' },
  1074. # minmax tid
  1075. { amprocfamily => 'brin/tid_minmax_ops', amproclefttype => 'tid',
  1076. amprocrighttype => 'tid', amprocnum => '1', amproc => 'brin_minmax_opcinfo' },
  1077. { amprocfamily => 'brin/tid_minmax_ops', amproclefttype => 'tid',
  1078. amprocrighttype => 'tid', amprocnum => '2',
  1079. amproc => 'brin_minmax_add_value' },
  1080. { amprocfamily => 'brin/tid_minmax_ops', amproclefttype => 'tid',
  1081. amprocrighttype => 'tid', amprocnum => '3',
  1082. amproc => 'brin_minmax_consistent' },
  1083. { amprocfamily => 'brin/tid_minmax_ops', amproclefttype => 'tid',
  1084. amprocrighttype => 'tid', amprocnum => '4', amproc => 'brin_minmax_union' },
  1085. # bloom tid
  1086. { amprocfamily => 'brin/tid_bloom_ops', amproclefttype => 'tid',
  1087. amprocrighttype => 'tid', amprocnum => '1', amproc => 'brin_bloom_opcinfo' },
  1088. { amprocfamily => 'brin/tid_bloom_ops', amproclefttype => 'tid',
  1089. amprocrighttype => 'tid', amprocnum => '2',
  1090. amproc => 'brin_bloom_add_value' },
  1091. { amprocfamily => 'brin/tid_bloom_ops', amproclefttype => 'tid',
  1092. amprocrighttype => 'tid', amprocnum => '3',
  1093. amproc => 'brin_bloom_consistent' },
  1094. { amprocfamily => 'brin/tid_bloom_ops', amproclefttype => 'tid',
  1095. amprocrighttype => 'tid', amprocnum => '4', amproc => 'brin_bloom_union' },
  1096. { amprocfamily => 'brin/tid_bloom_ops', amproclefttype => 'tid',
  1097. amprocrighttype => 'tid', amprocnum => '5', amproc => 'brin_bloom_options' },
  1098. { amprocfamily => 'brin/tid_bloom_ops', amproclefttype => 'tid',
  1099. amprocrighttype => 'tid', amprocnum => '11', amproc => 'hashtid' },
  1100. # minmax multi tid
  1101. { amprocfamily => 'brin/tid_minmax_multi_ops', amproclefttype => 'tid',
  1102. amprocrighttype => 'tid', amprocnum => '1',
  1103. amproc => 'brin_minmax_multi_opcinfo' },
  1104. { amprocfamily => 'brin/tid_minmax_multi_ops', amproclefttype => 'tid',
  1105. amprocrighttype => 'tid', amprocnum => '2',
  1106. amproc => 'brin_minmax_multi_add_value' },
  1107. { amprocfamily => 'brin/tid_minmax_multi_ops', amproclefttype => 'tid',
  1108. amprocrighttype => 'tid', amprocnum => '3',
  1109. amproc => 'brin_minmax_multi_consistent' },
  1110. { amprocfamily => 'brin/tid_minmax_multi_ops', amproclefttype => 'tid',
  1111. amprocrighttype => 'tid', amprocnum => '4',
  1112. amproc => 'brin_minmax_multi_union' },
  1113. { amprocfamily => 'brin/tid_minmax_multi_ops', amproclefttype => 'tid',
  1114. amprocrighttype => 'tid', amprocnum => '5',
  1115. amproc => 'brin_minmax_multi_options' },
  1116. { amprocfamily => 'brin/tid_minmax_multi_ops', amproclefttype => 'tid',
  1117. amprocrighttype => 'tid', amprocnum => '11',
  1118. amproc => 'brin_minmax_multi_distance_tid' },
  1119. # minmax float
  1120. { amprocfamily => 'brin/float_minmax_ops', amproclefttype => 'float4',
  1121. amprocrighttype => 'float4', amprocnum => '1',
  1122. amproc => 'brin_minmax_opcinfo' },
  1123. { amprocfamily => 'brin/float_minmax_ops', amproclefttype => 'float4',
  1124. amprocrighttype => 'float4', amprocnum => '2',
  1125. amproc => 'brin_minmax_add_value' },
  1126. { amprocfamily => 'brin/float_minmax_ops', amproclefttype => 'float4',
  1127. amprocrighttype => 'float4', amprocnum => '3',
  1128. amproc => 'brin_minmax_consistent' },
  1129. { amprocfamily => 'brin/float_minmax_ops', amproclefttype => 'float4',
  1130. amprocrighttype => 'float4', amprocnum => '4',
  1131. amproc => 'brin_minmax_union' },
  1132. { amprocfamily => 'brin/float_minmax_ops', amproclefttype => 'float8',
  1133. amprocrighttype => 'float8', amprocnum => '1',
  1134. amproc => 'brin_minmax_opcinfo' },
  1135. { amprocfamily => 'brin/float_minmax_ops', amproclefttype => 'float8',
  1136. amprocrighttype => 'float8', amprocnum => '2',
  1137. amproc => 'brin_minmax_add_value' },
  1138. { amprocfamily => 'brin/float_minmax_ops', amproclefttype => 'float8',
  1139. amprocrighttype => 'float8', amprocnum => '3',
  1140. amproc => 'brin_minmax_consistent' },
  1141. { amprocfamily => 'brin/float_minmax_ops', amproclefttype => 'float8',
  1142. amprocrighttype => 'float8', amprocnum => '4',
  1143. amproc => 'brin_minmax_union' },
  1144. # minmax multi float
  1145. { amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float4',
  1146. amprocrighttype => 'float4', amprocnum => '1',
  1147. amproc => 'brin_minmax_multi_opcinfo' },
  1148. { amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float4',
  1149. amprocrighttype => 'float4', amprocnum => '2',
  1150. amproc => 'brin_minmax_multi_add_value' },
  1151. { amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float4',
  1152. amprocrighttype => 'float4', amprocnum => '3',
  1153. amproc => 'brin_minmax_multi_consistent' },
  1154. { amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float4',
  1155. amprocrighttype => 'float4', amprocnum => '4',
  1156. amproc => 'brin_minmax_multi_union' },
  1157. { amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float4',
  1158. amprocrighttype => 'float4', amprocnum => '5',
  1159. amproc => 'brin_minmax_multi_options' },
  1160. { amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float4',
  1161. amprocrighttype => 'float4', amprocnum => '11',
  1162. amproc => 'brin_minmax_multi_distance_float4' },
  1163. { amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float8',
  1164. amprocrighttype => 'float8', amprocnum => '1',
  1165. amproc => 'brin_minmax_multi_opcinfo' },
  1166. { amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float8',
  1167. amprocrighttype => 'float8', amprocnum => '2',
  1168. amproc => 'brin_minmax_multi_add_value' },
  1169. { amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float8',
  1170. amprocrighttype => 'float8', amprocnum => '3',
  1171. amproc => 'brin_minmax_multi_consistent' },
  1172. { amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float8',
  1173. amprocrighttype => 'float8', amprocnum => '4',
  1174. amproc => 'brin_minmax_multi_union' },
  1175. { amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float8',
  1176. amprocrighttype => 'float8', amprocnum => '5',
  1177. amproc => 'brin_minmax_multi_options' },
  1178. { amprocfamily => 'brin/float_minmax_multi_ops', amproclefttype => 'float8',
  1179. amprocrighttype => 'float8', amprocnum => '11',
  1180. amproc => 'brin_minmax_multi_distance_float8' },
  1181. # bloom float
  1182. { amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float4',
  1183. amprocrighttype => 'float4', amprocnum => '1',
  1184. amproc => 'brin_bloom_opcinfo' },
  1185. { amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float4',
  1186. amprocrighttype => 'float4', amprocnum => '2',
  1187. amproc => 'brin_bloom_add_value' },
  1188. { amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float4',
  1189. amprocrighttype => 'float4', amprocnum => '3',
  1190. amproc => 'brin_bloom_consistent' },
  1191. { amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float4',
  1192. amprocrighttype => 'float4', amprocnum => '4', amproc => 'brin_bloom_union' },
  1193. { amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float4',
  1194. amprocrighttype => 'float4', amprocnum => '5',
  1195. amproc => 'brin_bloom_options' },
  1196. { amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float4',
  1197. amprocrighttype => 'float4', amprocnum => '11', amproc => 'hashfloat4' },
  1198. { amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float8',
  1199. amprocrighttype => 'float8', amprocnum => '1',
  1200. amproc => 'brin_bloom_opcinfo' },
  1201. { amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float8',
  1202. amprocrighttype => 'float8', amprocnum => '2',
  1203. amproc => 'brin_bloom_add_value' },
  1204. { amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float8',
  1205. amprocrighttype => 'float8', amprocnum => '3',
  1206. amproc => 'brin_bloom_consistent' },
  1207. { amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float8',
  1208. amprocrighttype => 'float8', amprocnum => '4', amproc => 'brin_bloom_union' },
  1209. { amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float8',
  1210. amprocrighttype => 'float8', amprocnum => '5',
  1211. amproc => 'brin_bloom_options' },
  1212. { amprocfamily => 'brin/float_bloom_ops', amproclefttype => 'float8',
  1213. amprocrighttype => 'float8', amprocnum => '11', amproc => 'hashfloat8' },
  1214. # minmax macaddr
  1215. { amprocfamily => 'brin/macaddr_minmax_ops', amproclefttype => 'macaddr',
  1216. amprocrighttype => 'macaddr', amprocnum => '1',
  1217. amproc => 'brin_minmax_opcinfo' },
  1218. { amprocfamily => 'brin/macaddr_minmax_ops', amproclefttype => 'macaddr',
  1219. amprocrighttype => 'macaddr', amprocnum => '2',
  1220. amproc => 'brin_minmax_add_value' },
  1221. { amprocfamily => 'brin/macaddr_minmax_ops', amproclefttype => 'macaddr',
  1222. amprocrighttype => 'macaddr', amprocnum => '3',
  1223. amproc => 'brin_minmax_consistent' },
  1224. { amprocfamily => 'brin/macaddr_minmax_ops', amproclefttype => 'macaddr',
  1225. amprocrighttype => 'macaddr', amprocnum => '4',
  1226. amproc => 'brin_minmax_union' },
  1227. # minmax multi macaddr
  1228. { amprocfamily => 'brin/macaddr_minmax_multi_ops', amproclefttype => 'macaddr',
  1229. amprocrighttype => 'macaddr', amprocnum => '1',
  1230. amproc => 'brin_minmax_multi_opcinfo' },
  1231. { amprocfamily => 'brin/macaddr_minmax_multi_ops', amproclefttype => 'macaddr',
  1232. amprocrighttype => 'macaddr', amprocnum => '2',
  1233. amproc => 'brin_minmax_multi_add_value' },
  1234. { amprocfamily => 'brin/macaddr_minmax_multi_ops', amproclefttype => 'macaddr',
  1235. amprocrighttype => 'macaddr', amprocnum => '3',
  1236. amproc => 'brin_minmax_multi_consistent' },
  1237. { amprocfamily => 'brin/macaddr_minmax_multi_ops', amproclefttype => 'macaddr',
  1238. amprocrighttype => 'macaddr', amprocnum => '4',
  1239. amproc => 'brin_minmax_multi_union' },
  1240. { amprocfamily => 'brin/macaddr_minmax_multi_ops', amproclefttype => 'macaddr',
  1241. amprocrighttype => 'macaddr', amprocnum => '5',
  1242. amproc => 'brin_minmax_multi_options' },
  1243. { amprocfamily => 'brin/macaddr_minmax_multi_ops', amproclefttype => 'macaddr',
  1244. amprocrighttype => 'macaddr', amprocnum => '11',
  1245. amproc => 'brin_minmax_multi_distance_macaddr' },
  1246. # bloom macaddr
  1247. { amprocfamily => 'brin/macaddr_bloom_ops', amproclefttype => 'macaddr',
  1248. amprocrighttype => 'macaddr', amprocnum => '1',
  1249. amproc => 'brin_bloom_opcinfo' },
  1250. { amprocfamily => 'brin/macaddr_bloom_ops', amproclefttype => 'macaddr',
  1251. amprocrighttype => 'macaddr', amprocnum => '2',
  1252. amproc => 'brin_bloom_add_value' },
  1253. { amprocfamily => 'brin/macaddr_bloom_ops', amproclefttype => 'macaddr',
  1254. amprocrighttype => 'macaddr', amprocnum => '3',
  1255. amproc => 'brin_bloom_consistent' },
  1256. { amprocfamily => 'brin/macaddr_bloom_ops', amproclefttype => 'macaddr',
  1257. amprocrighttype => 'macaddr', amprocnum => '4',
  1258. amproc => 'brin_bloom_union' },
  1259. { amprocfamily => 'brin/macaddr_bloom_ops', amproclefttype => 'macaddr',
  1260. amprocrighttype => 'macaddr', amprocnum => '5',
  1261. amproc => 'brin_bloom_options' },
  1262. { amprocfamily => 'brin/macaddr_bloom_ops', amproclefttype => 'macaddr',
  1263. amprocrighttype => 'macaddr', amprocnum => '11', amproc => 'hashmacaddr' },
  1264. # minmax macaddr8
  1265. { amprocfamily => 'brin/macaddr8_minmax_ops', amproclefttype => 'macaddr8',
  1266. amprocrighttype => 'macaddr8', amprocnum => '1',
  1267. amproc => 'brin_minmax_opcinfo' },
  1268. { amprocfamily => 'brin/macaddr8_minmax_ops', amproclefttype => 'macaddr8',
  1269. amprocrighttype => 'macaddr8', amprocnum => '2',
  1270. amproc => 'brin_minmax_add_value' },
  1271. { amprocfamily => 'brin/macaddr8_minmax_ops', amproclefttype => 'macaddr8',
  1272. amprocrighttype => 'macaddr8', amprocnum => '3',
  1273. amproc => 'brin_minmax_consistent' },
  1274. { amprocfamily => 'brin/macaddr8_minmax_ops', amproclefttype => 'macaddr8',
  1275. amprocrighttype => 'macaddr8', amprocnum => '4',
  1276. amproc => 'brin_minmax_union' },
  1277. # minmax multi macaddr8
  1278. { amprocfamily => 'brin/macaddr8_minmax_multi_ops',
  1279. amproclefttype => 'macaddr8', amprocrighttype => 'macaddr8', amprocnum => '1',
  1280. amproc => 'brin_minmax_multi_opcinfo' },
  1281. { amprocfamily => 'brin/macaddr8_minmax_multi_ops',
  1282. amproclefttype => 'macaddr8', amprocrighttype => 'macaddr8', amprocnum => '2',
  1283. amproc => 'brin_minmax_multi_add_value' },
  1284. { amprocfamily => 'brin/macaddr8_minmax_multi_ops',
  1285. amproclefttype => 'macaddr8', amprocrighttype => 'macaddr8', amprocnum => '3',
  1286. amproc => 'brin_minmax_multi_consistent' },
  1287. { amprocfamily => 'brin/macaddr8_minmax_multi_ops',
  1288. amproclefttype => 'macaddr8', amprocrighttype => 'macaddr8', amprocnum => '4',
  1289. amproc => 'brin_minmax_multi_union' },
  1290. { amprocfamily => 'brin/macaddr8_minmax_multi_ops',
  1291. amproclefttype => 'macaddr8', amprocrighttype => 'macaddr8', amprocnum => '5',
  1292. amproc => 'brin_minmax_multi_options' },
  1293. { amprocfamily => 'brin/macaddr8_minmax_multi_ops',
  1294. amproclefttype => 'macaddr8', amprocrighttype => 'macaddr8',
  1295. amprocnum => '11', amproc => 'brin_minmax_multi_distance_macaddr8' },
  1296. # bloom macaddr8
  1297. { amprocfamily => 'brin/macaddr8_bloom_ops', amproclefttype => 'macaddr8',
  1298. amprocrighttype => 'macaddr8', amprocnum => '1',
  1299. amproc => 'brin_bloom_opcinfo' },
  1300. { amprocfamily => 'brin/macaddr8_bloom_ops', amproclefttype => 'macaddr8',
  1301. amprocrighttype => 'macaddr8', amprocnum => '2',
  1302. amproc => 'brin_bloom_add_value' },
  1303. { amprocfamily => 'brin/macaddr8_bloom_ops', amproclefttype => 'macaddr8',
  1304. amprocrighttype => 'macaddr8', amprocnum => '3',
  1305. amproc => 'brin_bloom_consistent' },
  1306. { amprocfamily => 'brin/macaddr8_bloom_ops', amproclefttype => 'macaddr8',
  1307. amprocrighttype => 'macaddr8', amprocnum => '4',
  1308. amproc => 'brin_bloom_union' },
  1309. { amprocfamily => 'brin/macaddr8_bloom_ops', amproclefttype => 'macaddr8',
  1310. amprocrighttype => 'macaddr8', amprocnum => '5',
  1311. amproc => 'brin_bloom_options' },
  1312. { amprocfamily => 'brin/macaddr8_bloom_ops', amproclefttype => 'macaddr8',
  1313. amprocrighttype => 'macaddr8', amprocnum => '11', amproc => 'hashmacaddr8' },
  1314. # minmax inet
  1315. { amprocfamily => 'brin/network_minmax_ops', amproclefttype => 'inet',
  1316. amprocrighttype => 'inet', amprocnum => '1',
  1317. amproc => 'brin_minmax_opcinfo' },
  1318. { amprocfamily => 'brin/network_minmax_ops', amproclefttype => 'inet',
  1319. amprocrighttype => 'inet', amprocnum => '2',
  1320. amproc => 'brin_minmax_add_value' },
  1321. { amprocfamily => 'brin/network_minmax_ops', amproclefttype => 'inet',
  1322. amprocrighttype => 'inet', amprocnum => '3',
  1323. amproc => 'brin_minmax_consistent' },
  1324. { amprocfamily => 'brin/network_minmax_ops', amproclefttype => 'inet',
  1325. amprocrighttype => 'inet', amprocnum => '4', amproc => 'brin_minmax_union' },
  1326. # minmax multi inet
  1327. { amprocfamily => 'brin/network_minmax_multi_ops', amproclefttype => 'inet',
  1328. amprocrighttype => 'inet', amprocnum => '1',
  1329. amproc => 'brin_minmax_multi_opcinfo' },
  1330. { amprocfamily => 'brin/network_minmax_multi_ops', amproclefttype => 'inet',
  1331. amprocrighttype => 'inet', amprocnum => '2',
  1332. amproc => 'brin_minmax_multi_add_value' },
  1333. { amprocfamily => 'brin/network_minmax_multi_ops', amproclefttype => 'inet',
  1334. amprocrighttype => 'inet', amprocnum => '3',
  1335. amproc => 'brin_minmax_multi_consistent' },
  1336. { amprocfamily => 'brin/network_minmax_multi_ops', amproclefttype => 'inet',
  1337. amprocrighttype => 'inet', amprocnum => '4',
  1338. amproc => 'brin_minmax_multi_union' },
  1339. { amprocfamily => 'brin/network_minmax_multi_ops', amproclefttype => 'inet',
  1340. amprocrighttype => 'inet', amprocnum => '5',
  1341. amproc => 'brin_minmax_multi_options' },
  1342. { amprocfamily => 'brin/network_minmax_multi_ops', amproclefttype => 'inet',
  1343. amprocrighttype => 'inet', amprocnum => '11',
  1344. amproc => 'brin_minmax_multi_distance_inet' },
  1345. # bloom inet
  1346. { amprocfamily => 'brin/network_bloom_ops', amproclefttype => 'inet',
  1347. amprocrighttype => 'inet', amprocnum => '1', amproc => 'brin_bloom_opcinfo' },
  1348. { amprocfamily => 'brin/network_bloom_ops', amproclefttype => 'inet',
  1349. amprocrighttype => 'inet', amprocnum => '2',
  1350. amproc => 'brin_bloom_add_value' },
  1351. { amprocfamily => 'brin/network_bloom_ops', amproclefttype => 'inet',
  1352. amprocrighttype => 'inet', amprocnum => '3',
  1353. amproc => 'brin_bloom_consistent' },
  1354. { amprocfamily => 'brin/network_bloom_ops', amproclefttype => 'inet',
  1355. amprocrighttype => 'inet', amprocnum => '4', amproc => 'brin_bloom_union' },
  1356. { amprocfamily => 'brin/network_bloom_ops', amproclefttype => 'inet',
  1357. amprocrighttype => 'inet', amprocnum => '5', amproc => 'brin_bloom_options' },
  1358. { amprocfamily => 'brin/network_bloom_ops', amproclefttype => 'inet',
  1359. amprocrighttype => 'inet', amprocnum => '11', amproc => 'hashinet' },
  1360. # inclusion inet
  1361. { amprocfamily => 'brin/network_inclusion_ops', amproclefttype => 'inet',
  1362. amprocrighttype => 'inet', amprocnum => '1',
  1363. amproc => 'brin_inclusion_opcinfo' },
  1364. { amprocfamily => 'brin/network_inclusion_ops', amproclefttype => 'inet',
  1365. amprocrighttype => 'inet', amprocnum => '2',
  1366. amproc => 'brin_inclusion_add_value' },
  1367. { amprocfamily => 'brin/network_inclusion_ops', amproclefttype => 'inet',
  1368. amprocrighttype => 'inet', amprocnum => '3',
  1369. amproc => 'brin_inclusion_consistent' },
  1370. { amprocfamily => 'brin/network_inclusion_ops', amproclefttype => 'inet',
  1371. amprocrighttype => 'inet', amprocnum => '4',
  1372. amproc => 'brin_inclusion_union' },
  1373. { amprocfamily => 'brin/network_inclusion_ops', amproclefttype => 'inet',
  1374. amprocrighttype => 'inet', amprocnum => '11', amproc => 'inet_merge' },
  1375. { amprocfamily => 'brin/network_inclusion_ops', amproclefttype => 'inet',
  1376. amprocrighttype => 'inet', amprocnum => '12', amproc => 'inet_same_family' },
  1377. { amprocfamily => 'brin/network_inclusion_ops', amproclefttype => 'inet',
  1378. amprocrighttype => 'inet', amprocnum => '13', amproc => 'network_supeq' },
  1379. # minmax character
  1380. { amprocfamily => 'brin/bpchar_minmax_ops', amproclefttype => 'bpchar',
  1381. amprocrighttype => 'bpchar', amprocnum => '1',
  1382. amproc => 'brin_minmax_opcinfo' },
  1383. { amprocfamily => 'brin/bpchar_minmax_ops', amproclefttype => 'bpchar',
  1384. amprocrighttype => 'bpchar', amprocnum => '2',
  1385. amproc => 'brin_minmax_add_value' },
  1386. { amprocfamily => 'brin/bpchar_minmax_ops', amproclefttype => 'bpchar',
  1387. amprocrighttype => 'bpchar', amprocnum => '3',
  1388. amproc => 'brin_minmax_consistent' },
  1389. { amprocfamily => 'brin/bpchar_minmax_ops', amproclefttype => 'bpchar',
  1390. amprocrighttype => 'bpchar', amprocnum => '4',
  1391. amproc => 'brin_minmax_union' },
  1392. # bloom character
  1393. { amprocfamily => 'brin/bpchar_bloom_ops', amproclefttype => 'bpchar',
  1394. amprocrighttype => 'bpchar', amprocnum => '1',
  1395. amproc => 'brin_bloom_opcinfo' },
  1396. { amprocfamily => 'brin/bpchar_bloom_ops', amproclefttype => 'bpchar',
  1397. amprocrighttype => 'bpchar', amprocnum => '2',
  1398. amproc => 'brin_bloom_add_value' },
  1399. { amprocfamily => 'brin/bpchar_bloom_ops', amproclefttype => 'bpchar',
  1400. amprocrighttype => 'bpchar', amprocnum => '3',
  1401. amproc => 'brin_bloom_consistent' },
  1402. { amprocfamily => 'brin/bpchar_bloom_ops', amproclefttype => 'bpchar',
  1403. amprocrighttype => 'bpchar', amprocnum => '4', amproc => 'brin_bloom_union' },
  1404. { amprocfamily => 'brin/bpchar_bloom_ops', amproclefttype => 'bpchar',
  1405. amprocrighttype => 'bpchar', amprocnum => '5',
  1406. amproc => 'brin_bloom_options' },
  1407. { amprocfamily => 'brin/bpchar_bloom_ops', amproclefttype => 'bpchar',
  1408. amprocrighttype => 'bpchar', amprocnum => '11', amproc => 'hashbpchar' },
  1409. # minmax time without time zone
  1410. { amprocfamily => 'brin/time_minmax_ops', amproclefttype => 'time',
  1411. amprocrighttype => 'time', amprocnum => '1',
  1412. amproc => 'brin_minmax_opcinfo' },
  1413. { amprocfamily => 'brin/time_minmax_ops', amproclefttype => 'time',
  1414. amprocrighttype => 'time', amprocnum => '2',
  1415. amproc => 'brin_minmax_add_value' },
  1416. { amprocfamily => 'brin/time_minmax_ops', amproclefttype => 'time',
  1417. amprocrighttype => 'time', amprocnum => '3',
  1418. amproc => 'brin_minmax_consistent' },
  1419. { amprocfamily => 'brin/time_minmax_ops', amproclefttype => 'time',
  1420. amprocrighttype => 'time', amprocnum => '4', amproc => 'brin_minmax_union' },
  1421. # minmax multi time without time zone
  1422. { amprocfamily => 'brin/time_minmax_multi_ops', amproclefttype => 'time',
  1423. amprocrighttype => 'time', amprocnum => '1',
  1424. amproc => 'brin_minmax_multi_opcinfo' },
  1425. { amprocfamily => 'brin/time_minmax_multi_ops', amproclefttype => 'time',
  1426. amprocrighttype => 'time', amprocnum => '2',
  1427. amproc => 'brin_minmax_multi_add_value' },
  1428. { amprocfamily => 'brin/time_minmax_multi_ops', amproclefttype => 'time',
  1429. amprocrighttype => 'time', amprocnum => '3',
  1430. amproc => 'brin_minmax_multi_consistent' },
  1431. { amprocfamily => 'brin/time_minmax_multi_ops', amproclefttype => 'time',
  1432. amprocrighttype => 'time', amprocnum => '4',
  1433. amproc => 'brin_minmax_multi_union' },
  1434. { amprocfamily => 'brin/time_minmax_multi_ops', amproclefttype => 'time',
  1435. amprocrighttype => 'time', amprocnum => '5',
  1436. amproc => 'brin_minmax_multi_options' },
  1437. { amprocfamily => 'brin/time_minmax_multi_ops', amproclefttype => 'time',
  1438. amprocrighttype => 'time', amprocnum => '11',
  1439. amproc => 'brin_minmax_multi_distance_time' },
  1440. # bloom time without time zone
  1441. { amprocfamily => 'brin/time_bloom_ops', amproclefttype => 'time',
  1442. amprocrighttype => 'time', amprocnum => '1', amproc => 'brin_bloom_opcinfo' },
  1443. { amprocfamily => 'brin/time_bloom_ops', amproclefttype => 'time',
  1444. amprocrighttype => 'time', amprocnum => '2',
  1445. amproc => 'brin_bloom_add_value' },
  1446. { amprocfamily => 'brin/time_bloom_ops', amproclefttype => 'time',
  1447. amprocrighttype => 'time', amprocnum => '3',
  1448. amproc => 'brin_bloom_consistent' },
  1449. { amprocfamily => 'brin/time_bloom_ops', amproclefttype => 'time',
  1450. amprocrighttype => 'time', amprocnum => '4', amproc => 'brin_bloom_union' },
  1451. { amprocfamily => 'brin/time_bloom_ops', amproclefttype => 'time',
  1452. amprocrighttype => 'time', amprocnum => '5', amproc => 'brin_bloom_options' },
  1453. { amprocfamily => 'brin/time_bloom_ops', amproclefttype => 'time',
  1454. amprocrighttype => 'time', amprocnum => '11', amproc => 'time_hash' },
  1455. # minmax datetime (date, timestamp, timestamptz)
  1456. { amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'timestamp',
  1457. amprocrighttype => 'timestamp', amprocnum => '1',
  1458. amproc => 'brin_minmax_opcinfo' },
  1459. { amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'timestamp',
  1460. amprocrighttype => 'timestamp', amprocnum => '2',
  1461. amproc => 'brin_minmax_add_value' },
  1462. { amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'timestamp',
  1463. amprocrighttype => 'timestamp', amprocnum => '3',
  1464. amproc => 'brin_minmax_consistent' },
  1465. { amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'timestamp',
  1466. amprocrighttype => 'timestamp', amprocnum => '4',
  1467. amproc => 'brin_minmax_union' },
  1468. { amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'timestamptz',
  1469. amprocrighttype => 'timestamptz', amprocnum => '1',
  1470. amproc => 'brin_minmax_opcinfo' },
  1471. { amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'timestamptz',
  1472. amprocrighttype => 'timestamptz', amprocnum => '2',
  1473. amproc => 'brin_minmax_add_value' },
  1474. { amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'timestamptz',
  1475. amprocrighttype => 'timestamptz', amprocnum => '3',
  1476. amproc => 'brin_minmax_consistent' },
  1477. { amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'timestamptz',
  1478. amprocrighttype => 'timestamptz', amprocnum => '4',
  1479. amproc => 'brin_minmax_union' },
  1480. { amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'date',
  1481. amprocrighttype => 'date', amprocnum => '1',
  1482. amproc => 'brin_minmax_opcinfo' },
  1483. { amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'date',
  1484. amprocrighttype => 'date', amprocnum => '2',
  1485. amproc => 'brin_minmax_add_value' },
  1486. { amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'date',
  1487. amprocrighttype => 'date', amprocnum => '3',
  1488. amproc => 'brin_minmax_consistent' },
  1489. { amprocfamily => 'brin/datetime_minmax_ops', amproclefttype => 'date',
  1490. amprocrighttype => 'date', amprocnum => '4', amproc => 'brin_minmax_union' },
  1491. # minmax multi datetime (date, timestamp, timestamptz)
  1492. { amprocfamily => 'brin/datetime_minmax_multi_ops',
  1493. amproclefttype => 'timestamp', amprocrighttype => 'timestamp',
  1494. amprocnum => '1', amproc => 'brin_minmax_multi_opcinfo' },
  1495. { amprocfamily => 'brin/datetime_minmax_multi_ops',
  1496. amproclefttype => 'timestamp', amprocrighttype => 'timestamp',
  1497. amprocnum => '2', amproc => 'brin_minmax_multi_add_value' },
  1498. { amprocfamily => 'brin/datetime_minmax_multi_ops',
  1499. amproclefttype => 'timestamp', amprocrighttype => 'timestamp',
  1500. amprocnum => '3', amproc => 'brin_minmax_multi_consistent' },
  1501. { amprocfamily => 'brin/datetime_minmax_multi_ops',
  1502. amproclefttype => 'timestamp', amprocrighttype => 'timestamp',
  1503. amprocnum => '4', amproc => 'brin_minmax_multi_union' },
  1504. { amprocfamily => 'brin/datetime_minmax_multi_ops',
  1505. amproclefttype => 'timestamp', amprocrighttype => 'timestamp',
  1506. amprocnum => '5', amproc => 'brin_minmax_multi_options' },
  1507. { amprocfamily => 'brin/datetime_minmax_multi_ops',
  1508. amproclefttype => 'timestamp', amprocrighttype => 'timestamp',
  1509. amprocnum => '11', amproc => 'brin_minmax_multi_distance_timestamp' },
  1510. { amprocfamily => 'brin/datetime_minmax_multi_ops',
  1511. amproclefttype => 'timestamptz', amprocrighttype => 'timestamptz',
  1512. amprocnum => '1', amproc => 'brin_minmax_multi_opcinfo' },
  1513. { amprocfamily => 'brin/datetime_minmax_multi_ops',
  1514. amproclefttype => 'timestamptz', amprocrighttype => 'timestamptz',
  1515. amprocnum => '2', amproc => 'brin_minmax_multi_add_value' },
  1516. { amprocfamily => 'brin/datetime_minmax_multi_ops',
  1517. amproclefttype => 'timestamptz', amprocrighttype => 'timestamptz',
  1518. amprocnum => '3', amproc => 'brin_minmax_multi_consistent' },
  1519. { amprocfamily => 'brin/datetime_minmax_multi_ops',
  1520. amproclefttype => 'timestamptz', amprocrighttype => 'timestamptz',
  1521. amprocnum => '4', amproc => 'brin_minmax_multi_union' },
  1522. { amprocfamily => 'brin/datetime_minmax_multi_ops',
  1523. amproclefttype => 'timestamptz', amprocrighttype => 'timestamptz',
  1524. amprocnum => '5', amproc => 'brin_minmax_multi_options' },
  1525. { amprocfamily => 'brin/datetime_minmax_multi_ops',
  1526. amproclefttype => 'timestamptz', amprocrighttype => 'timestamptz',
  1527. amprocnum => '11', amproc => 'brin_minmax_multi_distance_timestamp' },
  1528. { amprocfamily => 'brin/datetime_minmax_multi_ops', amproclefttype => 'date',
  1529. amprocrighttype => 'date', amprocnum => '1',
  1530. amproc => 'brin_minmax_multi_opcinfo' },
  1531. { amprocfamily => 'brin/datetime_minmax_multi_ops', amproclefttype => 'date',
  1532. amprocrighttype => 'date', amprocnum => '2',
  1533. amproc => 'brin_minmax_multi_add_value' },
  1534. { amprocfamily => 'brin/datetime_minmax_multi_ops', amproclefttype => 'date',
  1535. amprocrighttype => 'date', amprocnum => '3',
  1536. amproc => 'brin_minmax_multi_consistent' },
  1537. { amprocfamily => 'brin/datetime_minmax_multi_ops', amproclefttype => 'date',
  1538. amprocrighttype => 'date', amprocnum => '4',
  1539. amproc => 'brin_minmax_multi_union' },
  1540. { amprocfamily => 'brin/datetime_minmax_multi_ops', amproclefttype => 'date',
  1541. amprocrighttype => 'date', amprocnum => '5',
  1542. amproc => 'brin_minmax_multi_options' },
  1543. { amprocfamily => 'brin/datetime_minmax_multi_ops', amproclefttype => 'date',
  1544. amprocrighttype => 'date', amprocnum => '11',
  1545. amproc => 'brin_minmax_multi_distance_date' },
  1546. # bloom datetime (date, timestamp, timestamptz)
  1547. { amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamp',
  1548. amprocrighttype => 'timestamp', amprocnum => '1',
  1549. amproc => 'brin_bloom_opcinfo' },
  1550. { amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamp',
  1551. amprocrighttype => 'timestamp', amprocnum => '2',
  1552. amproc => 'brin_bloom_add_value' },
  1553. { amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamp',
  1554. amprocrighttype => 'timestamp', amprocnum => '3',
  1555. amproc => 'brin_bloom_consistent' },
  1556. { amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamp',
  1557. amprocrighttype => 'timestamp', amprocnum => '4',
  1558. amproc => 'brin_bloom_union' },
  1559. { amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamp',
  1560. amprocrighttype => 'timestamp', amprocnum => '5',
  1561. amproc => 'brin_bloom_options' },
  1562. { amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamp',
  1563. amprocrighttype => 'timestamp', amprocnum => '11',
  1564. amproc => 'timestamp_hash' },
  1565. { amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamptz',
  1566. amprocrighttype => 'timestamptz', amprocnum => '1',
  1567. amproc => 'brin_bloom_opcinfo' },
  1568. { amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamptz',
  1569. amprocrighttype => 'timestamptz', amprocnum => '2',
  1570. amproc => 'brin_bloom_add_value' },
  1571. { amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamptz',
  1572. amprocrighttype => 'timestamptz', amprocnum => '3',
  1573. amproc => 'brin_bloom_consistent' },
  1574. { amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamptz',
  1575. amprocrighttype => 'timestamptz', amprocnum => '4',
  1576. amproc => 'brin_bloom_union' },
  1577. { amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamptz',
  1578. amprocrighttype => 'timestamptz', amprocnum => '5',
  1579. amproc => 'brin_bloom_options' },
  1580. { amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'timestamptz',
  1581. amprocrighttype => 'timestamptz', amprocnum => '11',
  1582. amproc => 'timestamp_hash' },
  1583. { amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'date',
  1584. amprocrighttype => 'date', amprocnum => '1', amproc => 'brin_bloom_opcinfo' },
  1585. { amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'date',
  1586. amprocrighttype => 'date', amprocnum => '2',
  1587. amproc => 'brin_bloom_add_value' },
  1588. { amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'date',
  1589. amprocrighttype => 'date', amprocnum => '3',
  1590. amproc => 'brin_bloom_consistent' },
  1591. { amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'date',
  1592. amprocrighttype => 'date', amprocnum => '4', amproc => 'brin_bloom_union' },
  1593. { amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'date',
  1594. amprocrighttype => 'date', amprocnum => '5', amproc => 'brin_bloom_options' },
  1595. { amprocfamily => 'brin/datetime_bloom_ops', amproclefttype => 'date',
  1596. amprocrighttype => 'date', amprocnum => '11', amproc => 'hashint4' },
  1597. # minmax interval
  1598. { amprocfamily => 'brin/interval_minmax_ops', amproclefttype => 'interval',
  1599. amprocrighttype => 'interval', amprocnum => '1',
  1600. amproc => 'brin_minmax_opcinfo' },
  1601. { amprocfamily => 'brin/interval_minmax_ops', amproclefttype => 'interval',
  1602. amprocrighttype => 'interval', amprocnum => '2',
  1603. amproc => 'brin_minmax_add_value' },
  1604. { amprocfamily => 'brin/interval_minmax_ops', amproclefttype => 'interval',
  1605. amprocrighttype => 'interval', amprocnum => '3',
  1606. amproc => 'brin_minmax_consistent' },
  1607. { amprocfamily => 'brin/interval_minmax_ops', amproclefttype => 'interval',
  1608. amprocrighttype => 'interval', amprocnum => '4',
  1609. amproc => 'brin_minmax_union' },
  1610. # minmax multi interval
  1611. { amprocfamily => 'brin/interval_minmax_multi_ops',
  1612. amproclefttype => 'interval', amprocrighttype => 'interval', amprocnum => '1',
  1613. amproc => 'brin_minmax_multi_opcinfo' },
  1614. { amprocfamily => 'brin/interval_minmax_multi_ops',
  1615. amproclefttype => 'interval', amprocrighttype => 'interval', amprocnum => '2',
  1616. amproc => 'brin_minmax_multi_add_value' },
  1617. { amprocfamily => 'brin/interval_minmax_multi_ops',
  1618. amproclefttype => 'interval', amprocrighttype => 'interval', amprocnum => '3',
  1619. amproc => 'brin_minmax_multi_consistent' },
  1620. { amprocfamily => 'brin/interval_minmax_multi_ops',
  1621. amproclefttype => 'interval', amprocrighttype => 'interval', amprocnum => '4',
  1622. amproc => 'brin_minmax_multi_union' },
  1623. { amprocfamily => 'brin/interval_minmax_multi_ops',
  1624. amproclefttype => 'interval', amprocrighttype => 'interval', amprocnum => '5',
  1625. amproc => 'brin_minmax_multi_options' },
  1626. { amprocfamily => 'brin/interval_minmax_multi_ops',
  1627. amproclefttype => 'interval', amprocrighttype => 'interval',
  1628. amprocnum => '11', amproc => 'brin_minmax_multi_distance_interval' },
  1629. # bloom interval
  1630. { amprocfamily => 'brin/interval_bloom_ops', amproclefttype => 'interval',
  1631. amprocrighttype => 'interval', amprocnum => '1',
  1632. amproc => 'brin_bloom_opcinfo' },
  1633. { amprocfamily => 'brin/interval_bloom_ops', amproclefttype => 'interval',
  1634. amprocrighttype => 'interval', amprocnum => '2',
  1635. amproc => 'brin_bloom_add_value' },
  1636. { amprocfamily => 'brin/interval_bloom_ops', amproclefttype => 'interval',
  1637. amprocrighttype => 'interval', amprocnum => '3',
  1638. amproc => 'brin_bloom_consistent' },
  1639. { amprocfamily => 'brin/interval_bloom_ops', amproclefttype => 'interval',
  1640. amprocrighttype => 'interval', amprocnum => '4',
  1641. amproc => 'brin_bloom_union' },
  1642. { amprocfamily => 'brin/interval_bloom_ops', amproclefttype => 'interval',
  1643. amprocrighttype => 'interval', amprocnum => '5',
  1644. amproc => 'brin_bloom_options' },
  1645. { amprocfamily => 'brin/interval_bloom_ops', amproclefttype => 'interval',
  1646. amprocrighttype => 'interval', amprocnum => '11', amproc => 'interval_hash' },
  1647. # minmax time with time zone
  1648. { amprocfamily => 'brin/timetz_minmax_ops', amproclefttype => 'timetz',
  1649. amprocrighttype => 'timetz', amprocnum => '1',
  1650. amproc => 'brin_minmax_opcinfo' },
  1651. { amprocfamily => 'brin/timetz_minmax_ops', amproclefttype => 'timetz',
  1652. amprocrighttype => 'timetz', amprocnum => '2',
  1653. amproc => 'brin_minmax_add_value' },
  1654. { amprocfamily => 'brin/timetz_minmax_ops', amproclefttype => 'timetz',
  1655. amprocrighttype => 'timetz', amprocnum => '3',
  1656. amproc => 'brin_minmax_consistent' },
  1657. { amprocfamily => 'brin/timetz_minmax_ops', amproclefttype => 'timetz',
  1658. amprocrighttype => 'timetz', amprocnum => '4',
  1659. amproc => 'brin_minmax_union' },
  1660. # minmax multi time with time zone
  1661. { amprocfamily => 'brin/timetz_minmax_multi_ops', amproclefttype => 'timetz',
  1662. amprocrighttype => 'timetz', amprocnum => '1',
  1663. amproc => 'brin_minmax_multi_opcinfo' },
  1664. { amprocfamily => 'brin/timetz_minmax_multi_ops', amproclefttype => 'timetz',
  1665. amprocrighttype => 'timetz', amprocnum => '2',
  1666. amproc => 'brin_minmax_multi_add_value' },
  1667. { amprocfamily => 'brin/timetz_minmax_multi_ops', amproclefttype => 'timetz',
  1668. amprocrighttype => 'timetz', amprocnum => '3',
  1669. amproc => 'brin_minmax_multi_consistent' },
  1670. { amprocfamily => 'brin/timetz_minmax_multi_ops', amproclefttype => 'timetz',
  1671. amprocrighttype => 'timetz', amprocnum => '4',
  1672. amproc => 'brin_minmax_multi_union' },
  1673. { amprocfamily => 'brin/timetz_minmax_multi_ops', amproclefttype => 'timetz',
  1674. amprocrighttype => 'timetz', amprocnum => '5',
  1675. amproc => 'brin_minmax_multi_options' },
  1676. { amprocfamily => 'brin/timetz_minmax_multi_ops', amproclefttype => 'timetz',
  1677. amprocrighttype => 'timetz', amprocnum => '11',
  1678. amproc => 'brin_minmax_multi_distance_timetz' },
  1679. # bloom time with time zone
  1680. { amprocfamily => 'brin/timetz_bloom_ops', amproclefttype => 'timetz',
  1681. amprocrighttype => 'timetz', amprocnum => '1',
  1682. amproc => 'brin_bloom_opcinfo' },
  1683. { amprocfamily => 'brin/timetz_bloom_ops', amproclefttype => 'timetz',
  1684. amprocrighttype => 'timetz', amprocnum => '2',
  1685. amproc => 'brin_bloom_add_value' },
  1686. { amprocfamily => 'brin/timetz_bloom_ops', amproclefttype => 'timetz',
  1687. amprocrighttype => 'timetz', amprocnum => '3',
  1688. amproc => 'brin_bloom_consistent' },
  1689. { amprocfamily => 'brin/timetz_bloom_ops', amproclefttype => 'timetz',
  1690. amprocrighttype => 'timetz', amprocnum => '4', amproc => 'brin_bloom_union' },
  1691. { amprocfamily => 'brin/timetz_bloom_ops', amproclefttype => 'timetz',
  1692. amprocrighttype => 'timetz', amprocnum => '5',
  1693. amproc => 'brin_bloom_options' },
  1694. { amprocfamily => 'brin/timetz_bloom_ops', amproclefttype => 'timetz',
  1695. amprocrighttype => 'timetz', amprocnum => '11', amproc => 'timetz_hash' },
  1696. # minmax bit
  1697. { amprocfamily => 'brin/bit_minmax_ops', amproclefttype => 'bit',
  1698. amprocrighttype => 'bit', amprocnum => '1', amproc => 'brin_minmax_opcinfo' },
  1699. { amprocfamily => 'brin/bit_minmax_ops', amproclefttype => 'bit',
  1700. amprocrighttype => 'bit', amprocnum => '2',
  1701. amproc => 'brin_minmax_add_value' },
  1702. { amprocfamily => 'brin/bit_minmax_ops', amproclefttype => 'bit',
  1703. amprocrighttype => 'bit', amprocnum => '3',
  1704. amproc => 'brin_minmax_consistent' },
  1705. { amprocfamily => 'brin/bit_minmax_ops', amproclefttype => 'bit',
  1706. amprocrighttype => 'bit', amprocnum => '4', amproc => 'brin_minmax_union' },
  1707. # minmax bit varying
  1708. { amprocfamily => 'brin/varbit_minmax_ops', amproclefttype => 'varbit',
  1709. amprocrighttype => 'varbit', amprocnum => '1',
  1710. amproc => 'brin_minmax_opcinfo' },
  1711. { amprocfamily => 'brin/varbit_minmax_ops', amproclefttype => 'varbit',
  1712. amprocrighttype => 'varbit', amprocnum => '2',
  1713. amproc => 'brin_minmax_add_value' },
  1714. { amprocfamily => 'brin/varbit_minmax_ops', amproclefttype => 'varbit',
  1715. amprocrighttype => 'varbit', amprocnum => '3',
  1716. amproc => 'brin_minmax_consistent' },
  1717. { amprocfamily => 'brin/varbit_minmax_ops', amproclefttype => 'varbit',
  1718. amprocrighttype => 'varbit', amprocnum => '4',
  1719. amproc => 'brin_minmax_union' },
  1720. # minmax numeric
  1721. { amprocfamily => 'brin/numeric_minmax_ops', amproclefttype => 'numeric',
  1722. amprocrighttype => 'numeric', amprocnum => '1',
  1723. amproc => 'brin_minmax_opcinfo' },
  1724. { amprocfamily => 'brin/numeric_minmax_ops', amproclefttype => 'numeric',
  1725. amprocrighttype => 'numeric', amprocnum => '2',
  1726. amproc => 'brin_minmax_add_value' },
  1727. { amprocfamily => 'brin/numeric_minmax_ops', amproclefttype => 'numeric',
  1728. amprocrighttype => 'numeric', amprocnum => '3',
  1729. amproc => 'brin_minmax_consistent' },
  1730. { amprocfamily => 'brin/numeric_minmax_ops', amproclefttype => 'numeric',
  1731. amprocrighttype => 'numeric', amprocnum => '4',
  1732. amproc => 'brin_minmax_union' },
  1733. # minmax multi numeric
  1734. { amprocfamily => 'brin/numeric_minmax_multi_ops', amproclefttype => 'numeric',
  1735. amprocrighttype => 'numeric', amprocnum => '1',
  1736. amproc => 'brin_minmax_multi_opcinfo' },
  1737. { amprocfamily => 'brin/numeric_minmax_multi_ops', amproclefttype => 'numeric',
  1738. amprocrighttype => 'numeric', amprocnum => '2',
  1739. amproc => 'brin_minmax_multi_add_value' },
  1740. { amprocfamily => 'brin/numeric_minmax_multi_ops', amproclefttype => 'numeric',
  1741. amprocrighttype => 'numeric', amprocnum => '3',
  1742. amproc => 'brin_minmax_multi_consistent' },
  1743. { amprocfamily => 'brin/numeric_minmax_multi_ops', amproclefttype => 'numeric',
  1744. amprocrighttype => 'numeric', amprocnum => '4',
  1745. amproc => 'brin_minmax_multi_union' },
  1746. { amprocfamily => 'brin/numeric_minmax_multi_ops', amproclefttype => 'numeric',
  1747. amprocrighttype => 'numeric', amprocnum => '5',
  1748. amproc => 'brin_minmax_multi_options' },
  1749. { amprocfamily => 'brin/numeric_minmax_multi_ops', amproclefttype => 'numeric',
  1750. amprocrighttype => 'numeric', amprocnum => '11',
  1751. amproc => 'brin_minmax_multi_distance_numeric' },
  1752. # bloom numeric
  1753. { amprocfamily => 'brin/numeric_bloom_ops', amproclefttype => 'numeric',
  1754. amprocrighttype => 'numeric', amprocnum => '1',
  1755. amproc => 'brin_bloom_opcinfo' },
  1756. { amprocfamily => 'brin/numeric_bloom_ops', amproclefttype => 'numeric',
  1757. amprocrighttype => 'numeric', amprocnum => '2',
  1758. amproc => 'brin_bloom_add_value' },
  1759. { amprocfamily => 'brin/numeric_bloom_ops', amproclefttype => 'numeric',
  1760. amprocrighttype => 'numeric', amprocnum => '3',
  1761. amproc => 'brin_bloom_consistent' },
  1762. { amprocfamily => 'brin/numeric_bloom_ops', amproclefttype => 'numeric',
  1763. amprocrighttype => 'numeric', amprocnum => '4',
  1764. amproc => 'brin_bloom_union' },
  1765. { amprocfamily => 'brin/numeric_bloom_ops', amproclefttype => 'numeric',
  1766. amprocrighttype => 'numeric', amprocnum => '5',
  1767. amproc => 'brin_bloom_options' },
  1768. { amprocfamily => 'brin/numeric_bloom_ops', amproclefttype => 'numeric',
  1769. amprocrighttype => 'numeric', amprocnum => '11', amproc => 'hash_numeric' },
  1770. # minmax uuid
  1771. { amprocfamily => 'brin/uuid_minmax_ops', amproclefttype => 'uuid',
  1772. amprocrighttype => 'uuid', amprocnum => '1',
  1773. amproc => 'brin_minmax_opcinfo' },
  1774. { amprocfamily => 'brin/uuid_minmax_ops', amproclefttype => 'uuid',
  1775. amprocrighttype => 'uuid', amprocnum => '2',
  1776. amproc => 'brin_minmax_add_value' },
  1777. { amprocfamily => 'brin/uuid_minmax_ops', amproclefttype => 'uuid',
  1778. amprocrighttype => 'uuid', amprocnum => '3',
  1779. amproc => 'brin_minmax_consistent' },
  1780. { amprocfamily => 'brin/uuid_minmax_ops', amproclefttype => 'uuid',
  1781. amprocrighttype => 'uuid', amprocnum => '4', amproc => 'brin_minmax_union' },
  1782. # minmax multi uuid
  1783. { amprocfamily => 'brin/uuid_minmax_multi_ops', amproclefttype => 'uuid',
  1784. amprocrighttype => 'uuid', amprocnum => '1',
  1785. amproc => 'brin_minmax_multi_opcinfo' },
  1786. { amprocfamily => 'brin/uuid_minmax_multi_ops', amproclefttype => 'uuid',
  1787. amprocrighttype => 'uuid', amprocnum => '2',
  1788. amproc => 'brin_minmax_multi_add_value' },
  1789. { amprocfamily => 'brin/uuid_minmax_multi_ops', amproclefttype => 'uuid',
  1790. amprocrighttype => 'uuid', amprocnum => '3',
  1791. amproc => 'brin_minmax_multi_consistent' },
  1792. { amprocfamily => 'brin/uuid_minmax_multi_ops', amproclefttype => 'uuid',
  1793. amprocrighttype => 'uuid', amprocnum => '4',
  1794. amproc => 'brin_minmax_multi_union' },
  1795. { amprocfamily => 'brin/uuid_minmax_multi_ops', amproclefttype => 'uuid',
  1796. amprocrighttype => 'uuid', amprocnum => '5',
  1797. amproc => 'brin_minmax_multi_options' },
  1798. { amprocfamily => 'brin/uuid_minmax_multi_ops', amproclefttype => 'uuid',
  1799. amprocrighttype => 'uuid', amprocnum => '11',
  1800. amproc => 'brin_minmax_multi_distance_uuid' },
  1801. # bloom uuid
  1802. { amprocfamily => 'brin/uuid_bloom_ops', amproclefttype => 'uuid',
  1803. amprocrighttype => 'uuid', amprocnum => '1', amproc => 'brin_bloom_opcinfo' },
  1804. { amprocfamily => 'brin/uuid_bloom_ops', amproclefttype => 'uuid',
  1805. amprocrighttype => 'uuid', amprocnum => '2',
  1806. amproc => 'brin_bloom_add_value' },
  1807. { amprocfamily => 'brin/uuid_bloom_ops', amproclefttype => 'uuid',
  1808. amprocrighttype => 'uuid', amprocnum => '3',
  1809. amproc => 'brin_bloom_consistent' },
  1810. { amprocfamily => 'brin/uuid_bloom_ops', amproclefttype => 'uuid',
  1811. amprocrighttype => 'uuid', amprocnum => '4', amproc => 'brin_bloom_union' },
  1812. { amprocfamily => 'brin/uuid_bloom_ops', amproclefttype => 'uuid',
  1813. amprocrighttype => 'uuid', amprocnum => '5', amproc => 'brin_bloom_options' },
  1814. { amprocfamily => 'brin/uuid_bloom_ops', amproclefttype => 'uuid',
  1815. amprocrighttype => 'uuid', amprocnum => '11', amproc => 'uuid_hash' },
  1816. # inclusion range types
  1817. { amprocfamily => 'brin/range_inclusion_ops', amproclefttype => 'anyrange',
  1818. amprocrighttype => 'anyrange', amprocnum => '1',
  1819. amproc => 'brin_inclusion_opcinfo' },
  1820. { amprocfamily => 'brin/range_inclusion_ops', amproclefttype => 'anyrange',
  1821. amprocrighttype => 'anyrange', amprocnum => '2',
  1822. amproc => 'brin_inclusion_add_value' },
  1823. { amprocfamily => 'brin/range_inclusion_ops', amproclefttype => 'anyrange',
  1824. amprocrighttype => 'anyrange', amprocnum => '3',
  1825. amproc => 'brin_inclusion_consistent' },
  1826. { amprocfamily => 'brin/range_inclusion_ops', amproclefttype => 'anyrange',
  1827. amprocrighttype => 'anyrange', amprocnum => '4',
  1828. amproc => 'brin_inclusion_union' },
  1829. { amprocfamily => 'brin/range_inclusion_ops', amproclefttype => 'anyrange',
  1830. amprocrighttype => 'anyrange', amprocnum => '11',
  1831. amproc => 'range_merge(anyrange,anyrange)' },
  1832. { amprocfamily => 'brin/range_inclusion_ops', amproclefttype => 'anyrange',
  1833. amprocrighttype => 'anyrange', amprocnum => '13',
  1834. amproc => 'range_contains' },
  1835. { amprocfamily => 'brin/range_inclusion_ops', amproclefttype => 'anyrange',
  1836. amprocrighttype => 'anyrange', amprocnum => '14',
  1837. amproc => 'isempty(anyrange)' },
  1838. # minmax pg_lsn
  1839. { amprocfamily => 'brin/pg_lsn_minmax_ops', amproclefttype => 'pg_lsn',
  1840. amprocrighttype => 'pg_lsn', amprocnum => '1',
  1841. amproc => 'brin_minmax_opcinfo' },
  1842. { amprocfamily => 'brin/pg_lsn_minmax_ops', amproclefttype => 'pg_lsn',
  1843. amprocrighttype => 'pg_lsn', amprocnum => '2',
  1844. amproc => 'brin_minmax_add_value' },
  1845. { amprocfamily => 'brin/pg_lsn_minmax_ops', amproclefttype => 'pg_lsn',
  1846. amprocrighttype => 'pg_lsn', amprocnum => '3',
  1847. amproc => 'brin_minmax_consistent' },
  1848. { amprocfamily => 'brin/pg_lsn_minmax_ops', amproclefttype => 'pg_lsn',
  1849. amprocrighttype => 'pg_lsn', amprocnum => '4',
  1850. amproc => 'brin_minmax_union' },
  1851. # minmax multi pg_lsn
  1852. { amprocfamily => 'brin/pg_lsn_minmax_multi_ops', amproclefttype => 'pg_lsn',
  1853. amprocrighttype => 'pg_lsn', amprocnum => '1',
  1854. amproc => 'brin_minmax_multi_opcinfo' },
  1855. { amprocfamily => 'brin/pg_lsn_minmax_multi_ops', amproclefttype => 'pg_lsn',
  1856. amprocrighttype => 'pg_lsn', amprocnum => '2',
  1857. amproc => 'brin_minmax_multi_add_value' },
  1858. { amprocfamily => 'brin/pg_lsn_minmax_multi_ops', amproclefttype => 'pg_lsn',
  1859. amprocrighttype => 'pg_lsn', amprocnum => '3',
  1860. amproc => 'brin_minmax_multi_consistent' },
  1861. { amprocfamily => 'brin/pg_lsn_minmax_multi_ops', amproclefttype => 'pg_lsn',
  1862. amprocrighttype => 'pg_lsn', amprocnum => '4',
  1863. amproc => 'brin_minmax_multi_union' },
  1864. { amprocfamily => 'brin/pg_lsn_minmax_multi_ops', amproclefttype => 'pg_lsn',
  1865. amprocrighttype => 'pg_lsn', amprocnum => '5',
  1866. amproc => 'brin_minmax_multi_options' },
  1867. { amprocfamily => 'brin/pg_lsn_minmax_multi_ops', amproclefttype => 'pg_lsn',
  1868. amprocrighttype => 'pg_lsn', amprocnum => '11',
  1869. amproc => 'brin_minmax_multi_distance_pg_lsn' },
  1870. # bloom pg_lsn
  1871. { amprocfamily => 'brin/pg_lsn_bloom_ops', amproclefttype => 'pg_lsn',
  1872. amprocrighttype => 'pg_lsn', amprocnum => '1',
  1873. amproc => 'brin_bloom_opcinfo' },
  1874. { amprocfamily => 'brin/pg_lsn_bloom_ops', amproclefttype => 'pg_lsn',
  1875. amprocrighttype => 'pg_lsn', amprocnum => '2',
  1876. amproc => 'brin_bloom_add_value' },
  1877. { amprocfamily => 'brin/pg_lsn_bloom_ops', amproclefttype => 'pg_lsn',
  1878. amprocrighttype => 'pg_lsn', amprocnum => '3',
  1879. amproc => 'brin_bloom_consistent' },
  1880. { amprocfamily => 'brin/pg_lsn_bloom_ops', amproclefttype => 'pg_lsn',
  1881. amprocrighttype => 'pg_lsn', amprocnum => '4', amproc => 'brin_bloom_union' },
  1882. { amprocfamily => 'brin/pg_lsn_bloom_ops', amproclefttype => 'pg_lsn',
  1883. amprocrighttype => 'pg_lsn', amprocnum => '5',
  1884. amproc => 'brin_bloom_options' },
  1885. { amprocfamily => 'brin/pg_lsn_bloom_ops', amproclefttype => 'pg_lsn',
  1886. amprocrighttype => 'pg_lsn', amprocnum => '11', amproc => 'pg_lsn_hash' },
  1887. # inclusion box
  1888. { amprocfamily => 'brin/box_inclusion_ops', amproclefttype => 'box',
  1889. amprocrighttype => 'box', amprocnum => '1',
  1890. amproc => 'brin_inclusion_opcinfo' },
  1891. { amprocfamily => 'brin/box_inclusion_ops', amproclefttype => 'box',
  1892. amprocrighttype => 'box', amprocnum => '2',
  1893. amproc => 'brin_inclusion_add_value' },
  1894. { amprocfamily => 'brin/box_inclusion_ops', amproclefttype => 'box',
  1895. amprocrighttype => 'box', amprocnum => '3',
  1896. amproc => 'brin_inclusion_consistent' },
  1897. { amprocfamily => 'brin/box_inclusion_ops', amproclefttype => 'box',
  1898. amprocrighttype => 'box', amprocnum => '4',
  1899. amproc => 'brin_inclusion_union' },
  1900. { amprocfamily => 'brin/box_inclusion_ops', amproclefttype => 'box',
  1901. amprocrighttype => 'box', amprocnum => '11', amproc => 'bound_box' },
  1902. { amprocfamily => 'brin/box_inclusion_ops', amproclefttype => 'box',
  1903. amprocrighttype => 'box', amprocnum => '13', amproc => 'box_contain' },
  1904. ]