From 95ceb4eca1bfce99d298475923062744120dced2 Mon Sep 17 00:00:00 2001 From: John Naylor Date: Thu, 14 Dec 2017 14:15:21 +0700 Subject: [PATCH 06/10] Hand edits of data files Re-doublequote values that are macros expanded by initdb.c, remove stray comments, fix up whitespace, and do a minimum of comment editing to reflect the new data format. --- src/include/catalog/pg_amop.dat | 72 ++++++++++++++++++++++++++++++++++++ src/include/catalog/pg_amproc.dat | 23 ++++++++++++ src/include/catalog/pg_authid.dat | 12 +++--- src/include/catalog/pg_cast.dat | 6 +++ src/include/catalog/pg_class.dat | 11 +----- src/include/catalog/pg_database.dat | 5 ++- src/include/catalog/pg_namespace.dat | 2 - src/include/catalog/pg_opclass.dat | 9 +++++ src/include/catalog/pg_operator.dat | 3 +- src/include/catalog/pg_proc.dat | 45 ++++++---------------- src/include/catalog/pg_range.dat | 2 - src/include/catalog/pg_type.dat | 44 +++++----------------- 12 files changed, 145 insertions(+), 89 deletions(-) diff --git a/src/include/catalog/pg_amop.dat b/src/include/catalog/pg_amop.dat index bec8094..3d1a8b9 100644 --- a/src/include/catalog/pg_amop.dat +++ b/src/include/catalog/pg_amop.dat @@ -9,48 +9,56 @@ { opf => '1976', lt => '21', rt => '21', str => '3', oper => '94', am => '403' }, { opf => '1976', lt => '21', rt => '21', str => '4', oper => '524', am => '403' }, { opf => '1976', lt => '21', rt => '21', str => '5', oper => '520', am => '403' }, + # crosstype operators int24 { opf => '1976', lt => '21', rt => '23', str => '1', oper => '534', am => '403' }, { opf => '1976', lt => '21', rt => '23', str => '2', oper => '540', am => '403' }, { opf => '1976', lt => '21', rt => '23', str => '3', oper => '532', am => '403' }, { opf => '1976', lt => '21', rt => '23', str => '4', oper => '542', am => '403' }, { opf => '1976', lt => '21', rt => '23', str => '5', oper => '536', am => '403' }, + # crosstype operators int28 { opf => '1976', lt => '21', rt => '20', str => '1', oper => '1864', am => '403' }, { opf => '1976', lt => '21', rt => '20', str => '2', oper => '1866', am => '403' }, { opf => '1976', lt => '21', rt => '20', str => '3', oper => '1862', am => '403' }, { opf => '1976', lt => '21', rt => '20', str => '4', oper => '1867', am => '403' }, { opf => '1976', lt => '21', rt => '20', str => '5', oper => '1865', am => '403' }, + # default operators int4 { opf => '1976', lt => '23', rt => '23', str => '1', oper => '97', am => '403' }, { opf => '1976', lt => '23', rt => '23', str => '2', oper => '523', am => '403' }, { opf => '1976', lt => '23', rt => '23', str => '3', oper => '96', am => '403' }, { opf => '1976', lt => '23', rt => '23', str => '4', oper => '525', am => '403' }, { opf => '1976', lt => '23', rt => '23', str => '5', oper => '521', am => '403' }, + # crosstype operators int42 { opf => '1976', lt => '23', rt => '21', str => '1', oper => '535', am => '403' }, { opf => '1976', lt => '23', rt => '21', str => '2', oper => '541', am => '403' }, { opf => '1976', lt => '23', rt => '21', str => '3', oper => '533', am => '403' }, { opf => '1976', lt => '23', rt => '21', str => '4', oper => '543', am => '403' }, { opf => '1976', lt => '23', rt => '21', str => '5', oper => '537', am => '403' }, + # crosstype operators int48 { opf => '1976', lt => '23', rt => '20', str => '1', oper => '37', am => '403' }, { opf => '1976', lt => '23', rt => '20', str => '2', oper => '80', am => '403' }, { opf => '1976', lt => '23', rt => '20', str => '3', oper => '15', am => '403' }, { opf => '1976', lt => '23', rt => '20', str => '4', oper => '82', am => '403' }, { opf => '1976', lt => '23', rt => '20', str => '5', oper => '76', am => '403' }, + # default operators int8 { opf => '1976', lt => '20', rt => '20', str => '1', oper => '412', am => '403' }, { opf => '1976', lt => '20', rt => '20', str => '2', oper => '414', am => '403' }, { opf => '1976', lt => '20', rt => '20', str => '3', oper => '410', am => '403' }, { opf => '1976', lt => '20', rt => '20', str => '4', oper => '415', am => '403' }, { opf => '1976', lt => '20', rt => '20', str => '5', oper => '413', am => '403' }, + # crosstype operators int82 { opf => '1976', lt => '20', rt => '21', str => '1', oper => '1870', am => '403' }, { opf => '1976', lt => '20', rt => '21', str => '2', oper => '1872', am => '403' }, { opf => '1976', lt => '20', rt => '21', str => '3', oper => '1868', am => '403' }, { opf => '1976', lt => '20', rt => '21', str => '4', oper => '1873', am => '403' }, { opf => '1976', lt => '20', rt => '21', str => '5', oper => '1871', am => '403' }, + # crosstype operators int84 { opf => '1976', lt => '20', rt => '23', str => '1', oper => '418', am => '403' }, { opf => '1976', lt => '20', rt => '23', str => '2', oper => '420', am => '403' }, @@ -90,18 +98,21 @@ { opf => '1970', lt => '700', rt => '700', str => '3', oper => '620', am => '403' }, { opf => '1970', lt => '700', rt => '700', str => '4', oper => '625', am => '403' }, { opf => '1970', lt => '700', rt => '700', str => '5', oper => '623', am => '403' }, + # crosstype operators float48 { opf => '1970', lt => '700', rt => '701', str => '1', oper => '1122', am => '403' }, { opf => '1970', lt => '700', rt => '701', str => '2', oper => '1124', am => '403' }, { opf => '1970', lt => '700', rt => '701', str => '3', oper => '1120', am => '403' }, { opf => '1970', lt => '700', rt => '701', str => '4', oper => '1125', am => '403' }, { opf => '1970', lt => '700', rt => '701', str => '5', oper => '1123', am => '403' }, + # default operators float8 { opf => '1970', lt => '701', rt => '701', str => '1', oper => '672', am => '403' }, { opf => '1970', lt => '701', rt => '701', str => '2', oper => '673', am => '403' }, { opf => '1970', lt => '701', rt => '701', str => '3', oper => '670', am => '403' }, { opf => '1970', lt => '701', rt => '701', str => '4', oper => '675', am => '403' }, { opf => '1970', lt => '701', rt => '701', str => '5', oper => '674', am => '403' }, + # crosstype operators float84 { opf => '1970', lt => '701', rt => '700', str => '1', oper => '1132', am => '403' }, { opf => '1970', lt => '701', rt => '700', str => '2', oper => '1134', am => '403' }, @@ -165,48 +176,56 @@ { opf => '434', lt => '1082', rt => '1082', str => '3', oper => '1093', am => '403' }, { opf => '434', lt => '1082', rt => '1082', str => '4', oper => '1098', am => '403' }, { opf => '434', lt => '1082', rt => '1082', str => '5', oper => '1097', am => '403' }, + # crosstype operators vs timestamp { opf => '434', lt => '1082', rt => '1114', str => '1', oper => '2345', am => '403' }, { opf => '434', lt => '1082', rt => '1114', str => '2', oper => '2346', am => '403' }, { opf => '434', lt => '1082', rt => '1114', str => '3', oper => '2347', am => '403' }, { opf => '434', lt => '1082', rt => '1114', str => '4', oper => '2348', am => '403' }, { opf => '434', lt => '1082', rt => '1114', str => '5', oper => '2349', am => '403' }, + # crosstype operators vs timestamptz { opf => '434', lt => '1082', rt => '1184', str => '1', oper => '2358', am => '403' }, { opf => '434', lt => '1082', rt => '1184', str => '2', oper => '2359', am => '403' }, { opf => '434', lt => '1082', rt => '1184', str => '3', oper => '2360', am => '403' }, { opf => '434', lt => '1082', rt => '1184', str => '4', oper => '2361', am => '403' }, { opf => '434', lt => '1082', rt => '1184', str => '5', oper => '2362', am => '403' }, + # default operators timestamp { opf => '434', lt => '1114', rt => '1114', str => '1', oper => '2062', am => '403' }, { opf => '434', lt => '1114', rt => '1114', str => '2', oper => '2063', am => '403' }, { opf => '434', lt => '1114', rt => '1114', str => '3', oper => '2060', am => '403' }, { opf => '434', lt => '1114', rt => '1114', str => '4', oper => '2065', am => '403' }, { opf => '434', lt => '1114', rt => '1114', str => '5', oper => '2064', am => '403' }, + # crosstype operators vs date { opf => '434', lt => '1114', rt => '1082', str => '1', oper => '2371', am => '403' }, { opf => '434', lt => '1114', rt => '1082', str => '2', oper => '2372', am => '403' }, { opf => '434', lt => '1114', rt => '1082', str => '3', oper => '2373', am => '403' }, { opf => '434', lt => '1114', rt => '1082', str => '4', oper => '2374', am => '403' }, { opf => '434', lt => '1114', rt => '1082', str => '5', oper => '2375', am => '403' }, + # crosstype operators vs timestamptz { opf => '434', lt => '1114', rt => '1184', str => '1', oper => '2534', am => '403' }, { opf => '434', lt => '1114', rt => '1184', str => '2', oper => '2535', am => '403' }, { opf => '434', lt => '1114', rt => '1184', str => '3', oper => '2536', am => '403' }, { opf => '434', lt => '1114', rt => '1184', str => '4', oper => '2537', am => '403' }, { opf => '434', lt => '1114', rt => '1184', str => '5', oper => '2538', am => '403' }, + # default operators timestamptz { opf => '434', lt => '1184', rt => '1184', str => '1', oper => '1322', am => '403' }, { opf => '434', lt => '1184', rt => '1184', str => '2', oper => '1323', am => '403' }, { opf => '434', lt => '1184', rt => '1184', str => '3', oper => '1320', am => '403' }, { opf => '434', lt => '1184', rt => '1184', str => '4', oper => '1325', am => '403' }, { opf => '434', lt => '1184', rt => '1184', str => '5', oper => '1324', am => '403' }, + # crosstype operators vs date { opf => '434', lt => '1184', rt => '1082', str => '1', oper => '2384', am => '403' }, { opf => '434', lt => '1184', rt => '1082', str => '2', oper => '2385', am => '403' }, { opf => '434', lt => '1184', rt => '1082', str => '3', oper => '2386', am => '403' }, { opf => '434', lt => '1184', rt => '1082', str => '4', oper => '2387', am => '403' }, { opf => '434', lt => '1184', rt => '1082', str => '5', oper => '2388', am => '403' }, + # crosstype operators vs timestamp { opf => '434', lt => '1184', rt => '1114', str => '1', oper => '2540', am => '403' }, { opf => '434', lt => '1184', rt => '1114', str => '2', oper => '2541', am => '403' }, @@ -378,17 +397,22 @@ # bpchar_ops { opf => '427', lt => '1042', rt => '1042', str => '1', oper => '1054', am => '405' }, + # char_ops { opf => '431', lt => '18', rt => '18', str => '1', oper => '92', am => '405' }, + # date_ops { opf => '435', lt => '1082', rt => '1082', str => '1', oper => '1093', am => '405' }, + # float_ops { opf => '1971', lt => '700', rt => '700', str => '1', oper => '620', am => '405' }, { opf => '1971', lt => '701', rt => '701', str => '1', oper => '670', am => '405' }, { opf => '1971', lt => '700', rt => '701', str => '1', oper => '1120', am => '405' }, { opf => '1971', lt => '701', rt => '700', str => '1', oper => '1130', am => '405' }, + # network_ops { opf => '1975', lt => '869', rt => '869', str => '1', oper => '1201', am => '405' }, + # integer_ops { opf => '1977', lt => '21', rt => '21', str => '1', oper => '94', am => '405' }, { opf => '1977', lt => '23', rt => '23', str => '1', oper => '96', am => '405' }, @@ -399,52 +423,76 @@ { opf => '1977', lt => '23', rt => '20', str => '1', oper => '15', am => '405' }, { opf => '1977', lt => '20', rt => '21', str => '1', oper => '1868', am => '405' }, { opf => '1977', lt => '20', rt => '23', str => '1', oper => '416', am => '405' }, + # interval_ops { opf => '1983', lt => '1186', rt => '1186', str => '1', oper => '1330', am => '405' }, + # macaddr_ops { opf => '1985', lt => '829', rt => '829', str => '1', oper => '1220', am => '405' }, + # macaddr8_ops { opf => '3372', lt => '774', rt => '774', str => '1', oper => '3362', am => '405' }, + # name_ops { opf => '1987', lt => '19', rt => '19', str => '1', oper => '93', am => '405' }, + # oid_ops { opf => '1990', lt => '26', rt => '26', str => '1', oper => '607', am => '405' }, + # oidvector_ops { opf => '1992', lt => '30', rt => '30', str => '1', oper => '649', am => '405' }, + # text_ops { opf => '1995', lt => '25', rt => '25', str => '1', oper => '98', am => '405' }, + # time_ops { opf => '1997', lt => '1083', rt => '1083', str => '1', oper => '1108', am => '405' }, + # timestamptz_ops { opf => '1999', lt => '1184', rt => '1184', str => '1', oper => '1320', am => '405' }, + # timetz_ops { opf => '2001', lt => '1266', rt => '1266', str => '1', oper => '1550', am => '405' }, + # timestamp_ops { opf => '2040', lt => '1114', rt => '1114', str => '1', oper => '2060', am => '405' }, + # bool_ops { opf => '2222', lt => '16', rt => '16', str => '1', oper => '91', am => '405' }, + # bytea_ops { opf => '2223', lt => '17', rt => '17', str => '1', oper => '1955', am => '405' }, + # xid_ops { opf => '2225', lt => '28', rt => '28', str => '1', oper => '352', am => '405' }, + # cid_ops { opf => '2226', lt => '29', rt => '29', str => '1', oper => '385', am => '405' }, + # abstime_ops { opf => '2227', lt => '702', rt => '702', str => '1', oper => '560', am => '405' }, + # reltime_ops { opf => '2228', lt => '703', rt => '703', str => '1', oper => '566', am => '405' }, + # text_pattern_ops { opf => '2229', lt => '25', rt => '25', str => '1', oper => '98', am => '405' }, + # bpchar_pattern_ops { opf => '2231', lt => '1042', rt => '1042', str => '1', oper => '1054', am => '405' }, + # aclitem_ops { opf => '2235', lt => '1033', rt => '1033', str => '1', oper => '974', am => '405' }, + # uuid_ops { opf => '2969', lt => '2950', rt => '2950', str => '1', oper => '2972', am => '405' }, + # pg_lsn_ops { opf => '3254', lt => '3220', rt => '3220', str => '1', oper => '3222', am => '405' }, + # numeric_ops { opf => '1998', lt => '1700', rt => '1700', str => '1', oper => '1752', am => '405' }, + # array_ops { opf => '627', lt => '2277', rt => '2277', str => '1', oper => '1070', am => '405' }, @@ -674,24 +722,28 @@ { opf => '3794', lt => '869', rt => '869', str => '27', oper => '934', am => '4000' }, # BRIN opclasses + # minmax bytea { opf => '4064', lt => '17', rt => '17', str => '1', oper => '1957', am => '3580' }, { opf => '4064', lt => '17', rt => '17', str => '2', oper => '1958', am => '3580' }, { opf => '4064', lt => '17', rt => '17', str => '3', oper => '1955', am => '3580' }, { opf => '4064', lt => '17', rt => '17', str => '4', oper => '1960', am => '3580' }, { opf => '4064', lt => '17', rt => '17', str => '5', oper => '1959', am => '3580' }, + # minmax "char" { opf => '4062', lt => '18', rt => '18', str => '1', oper => '631', am => '3580' }, { opf => '4062', lt => '18', rt => '18', str => '2', oper => '632', am => '3580' }, { opf => '4062', lt => '18', rt => '18', str => '3', oper => '92', am => '3580' }, { opf => '4062', lt => '18', rt => '18', str => '4', oper => '634', am => '3580' }, { opf => '4062', lt => '18', rt => '18', str => '5', oper => '633', am => '3580' }, + # minmax name { opf => '4065', lt => '19', rt => '19', str => '1', oper => '660', am => '3580' }, { opf => '4065', lt => '19', rt => '19', str => '2', oper => '661', am => '3580' }, { opf => '4065', lt => '19', rt => '19', str => '3', oper => '93', am => '3580' }, { opf => '4065', lt => '19', rt => '19', str => '4', oper => '663', am => '3580' }, { opf => '4065', lt => '19', rt => '19', str => '5', oper => '662', am => '3580' }, + # minmax integer { opf => '4054', lt => '20', rt => '20', str => '1', oper => '412', am => '3580' }, { opf => '4054', lt => '20', rt => '20', str => '2', oper => '414', am => '3580' }, @@ -745,18 +797,21 @@ { opf => '4056', lt => '25', rt => '25', str => '3', oper => '98', am => '3580' }, { opf => '4056', lt => '25', rt => '25', str => '4', oper => '667', am => '3580' }, { opf => '4056', lt => '25', rt => '25', str => '5', oper => '666', am => '3580' }, + # minmax oid { opf => '4068', lt => '26', rt => '26', str => '1', oper => '609', am => '3580' }, { opf => '4068', lt => '26', rt => '26', str => '2', oper => '611', am => '3580' }, { opf => '4068', lt => '26', rt => '26', str => '3', oper => '607', am => '3580' }, { opf => '4068', lt => '26', rt => '26', str => '4', oper => '612', am => '3580' }, { opf => '4068', lt => '26', rt => '26', str => '5', oper => '610', am => '3580' }, + # minmax tid { opf => '4069', lt => '27', rt => '27', str => '1', oper => '2799', am => '3580' }, { opf => '4069', lt => '27', rt => '27', str => '2', oper => '2801', am => '3580' }, { opf => '4069', lt => '27', rt => '27', str => '3', oper => '387', am => '3580' }, { opf => '4069', lt => '27', rt => '27', str => '4', oper => '2802', am => '3580' }, { opf => '4069', lt => '27', rt => '27', str => '5', oper => '2800', am => '3580' }, + # minmax float (float4, float8) { opf => '4070', lt => '700', rt => '700', str => '1', oper => '622', am => '3580' }, { opf => '4070', lt => '700', rt => '700', str => '2', oper => '624', am => '3580' }, @@ -785,30 +840,35 @@ { opf => '4072', lt => '702', rt => '702', str => '3', oper => '560', am => '3580' }, { opf => '4072', lt => '702', rt => '702', str => '4', oper => '565', am => '3580' }, { opf => '4072', lt => '702', rt => '702', str => '5', oper => '563', am => '3580' }, + # minmax reltime { opf => '4073', lt => '703', rt => '703', str => '1', oper => '568', am => '3580' }, { opf => '4073', lt => '703', rt => '703', str => '2', oper => '570', am => '3580' }, { opf => '4073', lt => '703', rt => '703', str => '3', oper => '566', am => '3580' }, { opf => '4073', lt => '703', rt => '703', str => '4', oper => '571', am => '3580' }, { opf => '4073', lt => '703', rt => '703', str => '5', oper => '569', am => '3580' }, + # minmax macaddr { opf => '4074', lt => '829', rt => '829', str => '1', oper => '1222', am => '3580' }, { opf => '4074', lt => '829', rt => '829', str => '2', oper => '1223', am => '3580' }, { opf => '4074', lt => '829', rt => '829', str => '3', oper => '1220', am => '3580' }, { opf => '4074', lt => '829', rt => '829', str => '4', oper => '1225', am => '3580' }, { opf => '4074', lt => '829', rt => '829', str => '5', oper => '1224', am => '3580' }, + # minmax macaddr8 { opf => '4109', lt => '774', rt => '774', str => '1', oper => '3364', am => '3580' }, { opf => '4109', lt => '774', rt => '774', str => '2', oper => '3365', am => '3580' }, { opf => '4109', lt => '774', rt => '774', str => '3', oper => '3362', am => '3580' }, { opf => '4109', lt => '774', rt => '774', str => '4', oper => '3367', am => '3580' }, { opf => '4109', lt => '774', rt => '774', str => '5', oper => '3366', am => '3580' }, + # minmax inet { opf => '4075', lt => '869', rt => '869', str => '1', oper => '1203', am => '3580' }, { opf => '4075', lt => '869', rt => '869', str => '2', oper => '1204', am => '3580' }, { opf => '4075', lt => '869', rt => '869', str => '3', oper => '1201', am => '3580' }, { opf => '4075', lt => '869', rt => '869', str => '4', oper => '1206', am => '3580' }, { opf => '4075', lt => '869', rt => '869', str => '5', oper => '1205', am => '3580' }, + # inclusion inet { opf => '4102', lt => '869', rt => '869', str => '3', oper => '3552', am => '3580' }, { opf => '4102', lt => '869', rt => '869', str => '7', oper => '934', am => '3580' }, @@ -816,18 +876,21 @@ { opf => '4102', lt => '869', rt => '869', str => '18', oper => '1201', am => '3580' }, { opf => '4102', lt => '869', rt => '869', str => '24', oper => '933', am => '3580' }, { opf => '4102', lt => '869', rt => '869', str => '26', oper => '931', am => '3580' }, + # minmax character { opf => '4076', lt => '1042', rt => '1042', str => '1', oper => '1058', am => '3580' }, { opf => '4076', lt => '1042', rt => '1042', str => '2', oper => '1059', am => '3580' }, { opf => '4076', lt => '1042', rt => '1042', str => '3', oper => '1054', am => '3580' }, { opf => '4076', lt => '1042', rt => '1042', str => '4', oper => '1061', am => '3580' }, { opf => '4076', lt => '1042', rt => '1042', str => '5', oper => '1060', am => '3580' }, + # minmax time without time zone { opf => '4077', lt => '1083', rt => '1083', str => '1', oper => '1110', am => '3580' }, { opf => '4077', lt => '1083', rt => '1083', str => '2', oper => '1111', am => '3580' }, { opf => '4077', lt => '1083', rt => '1083', str => '3', oper => '1108', am => '3580' }, { opf => '4077', lt => '1083', rt => '1083', str => '4', oper => '1113', am => '3580' }, { opf => '4077', lt => '1083', rt => '1083', str => '5', oper => '1112', am => '3580' }, + # minmax datetime (date, timestamp, timestamptz) { opf => '4059', lt => '1114', rt => '1114', str => '1', oper => '2062', am => '3580' }, { opf => '4059', lt => '1114', rt => '1114', str => '2', oper => '2063', am => '3580' }, @@ -881,36 +944,42 @@ { opf => '4078', lt => '1186', rt => '1186', str => '3', oper => '1330', am => '3580' }, { opf => '4078', lt => '1186', rt => '1186', str => '4', oper => '1335', am => '3580' }, { opf => '4078', lt => '1186', rt => '1186', str => '5', oper => '1334', am => '3580' }, + # minmax time with time zone { opf => '4058', lt => '1266', rt => '1266', str => '1', oper => '1552', am => '3580' }, { opf => '4058', lt => '1266', rt => '1266', str => '2', oper => '1553', am => '3580' }, { opf => '4058', lt => '1266', rt => '1266', str => '3', oper => '1550', am => '3580' }, { opf => '4058', lt => '1266', rt => '1266', str => '4', oper => '1555', am => '3580' }, { opf => '4058', lt => '1266', rt => '1266', str => '5', oper => '1554', am => '3580' }, + # minmax bit { opf => '4079', lt => '1560', rt => '1560', str => '1', oper => '1786', am => '3580' }, { opf => '4079', lt => '1560', rt => '1560', str => '2', oper => '1788', am => '3580' }, { opf => '4079', lt => '1560', rt => '1560', str => '3', oper => '1784', am => '3580' }, { opf => '4079', lt => '1560', rt => '1560', str => '4', oper => '1789', am => '3580' }, { opf => '4079', lt => '1560', rt => '1560', str => '5', oper => '1787', am => '3580' }, + # minmax bit varying { opf => '4080', lt => '1562', rt => '1562', str => '1', oper => '1806', am => '3580' }, { opf => '4080', lt => '1562', rt => '1562', str => '2', oper => '1808', am => '3580' }, { opf => '4080', lt => '1562', rt => '1562', str => '3', oper => '1804', am => '3580' }, { opf => '4080', lt => '1562', rt => '1562', str => '4', oper => '1809', am => '3580' }, { opf => '4080', lt => '1562', rt => '1562', str => '5', oper => '1807', am => '3580' }, + # minmax numeric { opf => '4055', lt => '1700', rt => '1700', str => '1', oper => '1754', am => '3580' }, { opf => '4055', lt => '1700', rt => '1700', str => '2', oper => '1755', am => '3580' }, { opf => '4055', lt => '1700', rt => '1700', str => '3', oper => '1752', am => '3580' }, { opf => '4055', lt => '1700', rt => '1700', str => '4', oper => '1757', am => '3580' }, { opf => '4055', lt => '1700', rt => '1700', str => '5', oper => '1756', am => '3580' }, + # minmax uuid { opf => '4081', lt => '2950', rt => '2950', str => '1', oper => '2974', am => '3580' }, { opf => '4081', lt => '2950', rt => '2950', str => '2', oper => '2976', am => '3580' }, { opf => '4081', lt => '2950', rt => '2950', str => '3', oper => '2972', am => '3580' }, { opf => '4081', lt => '2950', rt => '2950', str => '4', oper => '2977', am => '3580' }, { opf => '4081', lt => '2950', rt => '2950', str => '5', oper => '2975', am => '3580' }, + # inclusion range types { opf => '4103', lt => '3831', rt => '3831', str => '1', oper => '3893', am => '3580' }, { opf => '4103', lt => '3831', rt => '3831', str => '2', oper => '3895', am => '3580' }, @@ -926,12 +995,14 @@ { opf => '4103', lt => '3831', rt => '3831', str => '21', oper => '3885', am => '3580' }, { opf => '4103', lt => '3831', rt => '3831', str => '22', oper => '3887', am => '3580' }, { opf => '4103', lt => '3831', rt => '3831', str => '23', oper => '3886', am => '3580' }, + # minmax pg_lsn { opf => '4082', lt => '3220', rt => '3220', str => '1', oper => '3224', am => '3580' }, { opf => '4082', lt => '3220', rt => '3220', str => '2', oper => '3226', am => '3580' }, { opf => '4082', lt => '3220', rt => '3220', str => '3', oper => '3222', am => '3580' }, { opf => '4082', lt => '3220', rt => '3220', str => '4', oper => '3227', am => '3580' }, { opf => '4082', lt => '3220', rt => '3220', str => '5', oper => '3225', am => '3580' }, + # inclusion box { opf => '4104', lt => '603', rt => '603', str => '1', oper => '493', am => '3580' }, { opf => '4104', lt => '603', rt => '603', str => '2', oper => '494', am => '3580' }, @@ -945,6 +1016,7 @@ { opf => '4104', lt => '603', rt => '603', str => '10', oper => '2570', am => '3580' }, { opf => '4104', lt => '603', rt => '603', str => '11', oper => '2573', am => '3580' }, { opf => '4104', lt => '603', rt => '603', str => '12', oper => '2572', am => '3580' }, + # we could, but choose not to, supply entries for strategies 13 and 14 { opf => '4104', lt => '603', rt => '600', str => '7', oper => '433', am => '3580' }, diff --git a/src/include/catalog/pg_amproc.dat b/src/include/catalog/pg_amproc.dat index a165e06..6c25ebf 100644 --- a/src/include/catalog/pg_amproc.dat +++ b/src/include/catalog/pg_amproc.dat @@ -260,21 +260,25 @@ { opf => '5000', lt => '603', rt => '603', num => '5', amproc => '5016' }, # BRIN opclasses + # minmax bytea { opf => '4064', lt => '17', rt => '17', num => '1', amproc => '3383' }, { opf => '4064', lt => '17', rt => '17', num => '2', amproc => '3384' }, { opf => '4064', lt => '17', rt => '17', num => '3', amproc => '3385' }, { opf => '4064', lt => '17', rt => '17', num => '4', amproc => '3386' }, + # minmax "char" { opf => '4062', lt => '18', rt => '18', num => '1', amproc => '3383' }, { opf => '4062', lt => '18', rt => '18', num => '2', amproc => '3384' }, { opf => '4062', lt => '18', rt => '18', num => '3', amproc => '3385' }, { opf => '4062', lt => '18', rt => '18', num => '4', amproc => '3386' }, + # minmax name { opf => '4065', lt => '19', rt => '19', num => '1', amproc => '3383' }, { opf => '4065', lt => '19', rt => '19', num => '2', amproc => '3384' }, { opf => '4065', lt => '19', rt => '19', num => '3', amproc => '3385' }, { opf => '4065', lt => '19', rt => '19', num => '4', amproc => '3386' }, + # minmax integer: int2, int4, int8 { opf => '4054', lt => '20', rt => '20', num => '1', amproc => '3383' }, { opf => '4054', lt => '20', rt => '20', num => '2', amproc => '3384' }, @@ -320,16 +324,19 @@ { opf => '4056', lt => '25', rt => '25', num => '2', amproc => '3384' }, { opf => '4056', lt => '25', rt => '25', num => '3', amproc => '3385' }, { opf => '4056', lt => '25', rt => '25', num => '4', amproc => '3386' }, + # minmax oid { opf => '4068', lt => '26', rt => '26', num => '1', amproc => '3383' }, { opf => '4068', lt => '26', rt => '26', num => '2', amproc => '3384' }, { opf => '4068', lt => '26', rt => '26', num => '3', amproc => '3385' }, { opf => '4068', lt => '26', rt => '26', num => '4', amproc => '3386' }, + # minmax tid { opf => '4069', lt => '27', rt => '27', num => '1', amproc => '3383' }, { opf => '4069', lt => '27', rt => '27', num => '2', amproc => '3384' }, { opf => '4069', lt => '27', rt => '27', num => '3', amproc => '3385' }, { opf => '4069', lt => '27', rt => '27', num => '4', amproc => '3386' }, + # minmax float { opf => '4070', lt => '700', rt => '700', num => '1', amproc => '3383' }, { opf => '4070', lt => '700', rt => '700', num => '2', amproc => '3384' }, @@ -356,26 +363,31 @@ { opf => '4072', lt => '702', rt => '702', num => '2', amproc => '3384' }, { opf => '4072', lt => '702', rt => '702', num => '3', amproc => '3385' }, { opf => '4072', lt => '702', rt => '702', num => '4', amproc => '3386' }, + # minmax reltime { opf => '4073', lt => '703', rt => '703', num => '1', amproc => '3383' }, { opf => '4073', lt => '703', rt => '703', num => '2', amproc => '3384' }, { opf => '4073', lt => '703', rt => '703', num => '3', amproc => '3385' }, { opf => '4073', lt => '703', rt => '703', num => '4', amproc => '3386' }, + # minmax macaddr { opf => '4074', lt => '829', rt => '829', num => '1', amproc => '3383' }, { opf => '4074', lt => '829', rt => '829', num => '2', amproc => '3384' }, { opf => '4074', lt => '829', rt => '829', num => '3', amproc => '3385' }, { opf => '4074', lt => '829', rt => '829', num => '4', amproc => '3386' }, + # minmax macaddr8 { opf => '4109', lt => '774', rt => '774', num => '1', amproc => '3383' }, { opf => '4109', lt => '774', rt => '774', num => '2', amproc => '3384' }, { opf => '4109', lt => '774', rt => '774', num => '3', amproc => '3385' }, { opf => '4109', lt => '774', rt => '774', num => '4', amproc => '3386' }, + # minmax inet { opf => '4075', lt => '869', rt => '869', num => '1', amproc => '3383' }, { opf => '4075', lt => '869', rt => '869', num => '2', amproc => '3384' }, { opf => '4075', lt => '869', rt => '869', num => '3', amproc => '3385' }, { opf => '4075', lt => '869', rt => '869', num => '4', amproc => '3386' }, + # inclusion inet { opf => '4102', lt => '869', rt => '869', num => '1', amproc => '4105' }, { opf => '4102', lt => '869', rt => '869', num => '2', amproc => '4106' }, @@ -384,16 +396,19 @@ { opf => '4102', lt => '869', rt => '869', num => '11', amproc => '4063' }, { opf => '4102', lt => '869', rt => '869', num => '12', amproc => '4071' }, { opf => '4102', lt => '869', rt => '869', num => '13', amproc => '930' }, + # minmax character { opf => '4076', lt => '1042', rt => '1042', num => '1', amproc => '3383' }, { opf => '4076', lt => '1042', rt => '1042', num => '2', amproc => '3384' }, { opf => '4076', lt => '1042', rt => '1042', num => '3', amproc => '3385' }, { opf => '4076', lt => '1042', rt => '1042', num => '4', amproc => '3386' }, + # minmax time without time zone { opf => '4077', lt => '1083', rt => '1083', num => '1', amproc => '3383' }, { opf => '4077', lt => '1083', rt => '1083', num => '2', amproc => '3384' }, { opf => '4077', lt => '1083', rt => '1083', num => '3', amproc => '3385' }, { opf => '4077', lt => '1083', rt => '1083', num => '4', amproc => '3386' }, + # minmax datetime (date, timestamp, timestamptz) { opf => '4059', lt => '1114', rt => '1114', num => '1', amproc => '3383' }, { opf => '4059', lt => '1114', rt => '1114', num => '2', amproc => '3384' }, @@ -439,31 +454,37 @@ { opf => '4078', lt => '1186', rt => '1186', num => '2', amproc => '3384' }, { opf => '4078', lt => '1186', rt => '1186', num => '3', amproc => '3385' }, { opf => '4078', lt => '1186', rt => '1186', num => '4', amproc => '3386' }, + # minmax time with time zone { opf => '4058', lt => '1266', rt => '1266', num => '1', amproc => '3383' }, { opf => '4058', lt => '1266', rt => '1266', num => '2', amproc => '3384' }, { opf => '4058', lt => '1266', rt => '1266', num => '3', amproc => '3385' }, { opf => '4058', lt => '1266', rt => '1266', num => '4', amproc => '3386' }, + # minmax bit { opf => '4079', lt => '1560', rt => '1560', num => '1', amproc => '3383' }, { opf => '4079', lt => '1560', rt => '1560', num => '2', amproc => '3384' }, { opf => '4079', lt => '1560', rt => '1560', num => '3', amproc => '3385' }, { opf => '4079', lt => '1560', rt => '1560', num => '4', amproc => '3386' }, + # minmax bit varying { opf => '4080', lt => '1562', rt => '1562', num => '1', amproc => '3383' }, { opf => '4080', lt => '1562', rt => '1562', num => '2', amproc => '3384' }, { opf => '4080', lt => '1562', rt => '1562', num => '3', amproc => '3385' }, { opf => '4080', lt => '1562', rt => '1562', num => '4', amproc => '3386' }, + # minmax numeric { opf => '4055', lt => '1700', rt => '1700', num => '1', amproc => '3383' }, { opf => '4055', lt => '1700', rt => '1700', num => '2', amproc => '3384' }, { opf => '4055', lt => '1700', rt => '1700', num => '3', amproc => '3385' }, { opf => '4055', lt => '1700', rt => '1700', num => '4', amproc => '3386' }, + # minmax uuid { opf => '4081', lt => '2950', rt => '2950', num => '1', amproc => '3383' }, { opf => '4081', lt => '2950', rt => '2950', num => '2', amproc => '3384' }, { opf => '4081', lt => '2950', rt => '2950', num => '3', amproc => '3385' }, { opf => '4081', lt => '2950', rt => '2950', num => '4', amproc => '3386' }, + # inclusion range types { opf => '4103', lt => '3831', rt => '3831', num => '1', amproc => '4105' }, { opf => '4103', lt => '3831', rt => '3831', num => '2', amproc => '4106' }, @@ -472,11 +493,13 @@ { opf => '4103', lt => '3831', rt => '3831', num => '11', amproc => '4057' }, { opf => '4103', lt => '3831', rt => '3831', num => '13', amproc => '3859' }, { opf => '4103', lt => '3831', rt => '3831', num => '14', amproc => '3850' }, + # minmax pg_lsn { opf => '4082', lt => '3220', rt => '3220', num => '1', amproc => '3383' }, { opf => '4082', lt => '3220', rt => '3220', num => '2', amproc => '3384' }, { opf => '4082', lt => '3220', rt => '3220', num => '3', amproc => '3385' }, { opf => '4082', lt => '3220', rt => '3220', num => '4', amproc => '3386' }, + # inclusion box { opf => '4104', lt => '603', rt => '603', num => '1', amproc => '4105' }, { opf => '4104', lt => '603', rt => '603', num => '2', amproc => '4106' }, diff --git a/src/include/catalog/pg_authid.dat b/src/include/catalog/pg_authid.dat index 927128e..315b0d0 100644 --- a/src/include/catalog/pg_authid.dat +++ b/src/include/catalog/pg_authid.dat @@ -1,12 +1,14 @@ # pg_authid.dat [ -# The uppercase quantities will be replaced at initdb time with -# user choices. -# The C code typically refers to these roles using the #define symbols, -# so be sure to keep those in sync with the DATA lines. +# The C code typically refers to these roles using the #define symbols +# in pg_authid.h, so be sure to keep those in sync with the data here. + +# The uppercase quantities will be replaced at initdb time with user choices. +# so we must double-quote them. { oid => '10', - rolname => 'POSTGRES', rolsuper => 't', rolcreaterole => 't', rolcreatedb => 't', rolcanlogin => 't', rolreplication => 't', rolbypassrls => 't' }, + rolname => '"POSTGRES"', rolsuper => 't', rolcreaterole => 't', rolcreatedb => 't', rolcanlogin => 't', rolreplication => 't', rolbypassrls => 't' }, + { oid => '3373', rolname => 'pg_monitor' }, { oid => '3374', diff --git a/src/include/catalog/pg_cast.dat b/src/include/catalog/pg_cast.dat index a1fe83d..add77ad 100644 --- a/src/include/catalog/pg_cast.dat +++ b/src/include/catalog/pg_cast.dat @@ -54,6 +54,7 @@ # between alias types must pass through OID.) Lastly, there are implicit # casts from text and varchar to regclass, which exist mainly to support # legacy forms of nextval() and related functions. + { castsource => '20', casttarget => '26', castfunc => '1287', castcontext => 'i', castmethod => 'f' }, { castsource => '21', casttarget => '26', castfunc => '313', castcontext => 'i', castmethod => 'f' }, { castsource => '23', casttarget => '26', castfunc => '0', castcontext => 'i', castmethod => 'b' }, @@ -193,6 +194,7 @@ { castsource => '1186', casttarget => '703', castfunc => '1194', castcontext => 'a', castmethod => 'f' }, { castsource => '1186', casttarget => '1083', castfunc => '1419', castcontext => 'a', castmethod => 'f' }, { castsource => '1266', casttarget => '1083', castfunc => '2046', castcontext => 'a', castmethod => 'f' }, + # Cross-category casts between int4 and abstime, reltime { castsource => '23', casttarget => '702', castfunc => '0', castcontext => 'e', castmethod => 'b' }, { castsource => '702', casttarget => '23', castfunc => '0', castcontext => 'e', castmethod => 'b' }, @@ -227,6 +229,7 @@ # BitString category { castsource => '1560', casttarget => '1562', castfunc => '0', castcontext => 'i', castmethod => 'b' }, { castsource => '1562', casttarget => '1560', castfunc => '0', castcontext => 'i', castmethod => 'b' }, + # Cross-category casts between bit and int4, int8 { castsource => '20', casttarget => '1560', castfunc => '2075', castcontext => 'e', castmethod => 'f' }, { castsource => '23', casttarget => '1560', castfunc => '1683', castcontext => 'e', castmethod => 'f' }, @@ -241,6 +244,7 @@ # parse_coerce.c's automatic casts ('a' to text, 'e' from text) else odd # behavior will ensue when the automatic cast is applied instead of the # pg_cast entry! + { castsource => '650', casttarget => '25', castfunc => '730', castcontext => 'a', castmethod => 'f' }, { castsource => '869', casttarget => '25', castfunc => '730', castcontext => 'a', castmethod => 'f' }, { castsource => '16', casttarget => '25', castfunc => '2971', castcontext => 'a', castmethod => 'f' }, @@ -248,6 +252,7 @@ { castsource => '25', casttarget => '142', castfunc => '2896', castcontext => 'e', castmethod => 'f' }, # Cross-category casts to and from VARCHAR + # We support all the same casts as for TEXT. { castsource => '650', casttarget => '1043', castfunc => '730', castcontext => 'a', castmethod => 'f' }, { castsource => '869', casttarget => '1043', castfunc => '730', castcontext => 'a', castmethod => 'f' }, @@ -256,6 +261,7 @@ { castsource => '1043', casttarget => '142', castfunc => '2896', castcontext => 'e', castmethod => 'f' }, # Cross-category casts to and from BPCHAR + # We support all the same casts as for TEXT. { castsource => '650', casttarget => '1042', castfunc => '730', castcontext => 'a', castmethod => 'f' }, { castsource => '869', casttarget => '1042', castfunc => '730', castcontext => 'a', castmethod => 'f' }, diff --git a/src/include/catalog/pg_class.dat b/src/include/catalog/pg_class.dat index af762e8..d574ba8 100644 --- a/src/include/catalog/pg_class.dat +++ b/src/include/catalog/pg_class.dat @@ -1,12 +1,10 @@ # pg_class.dat [ -# NOTE: only "bootstrapped" relations need to be declared here. Be sure that +# Note: only "bootstrapped" relations need to be declared here. Be sure that # the OIDs listed here match those given in their CATALOG macros, and that # the relnatts values are correct. -# Note: "3" in the relfrozenxid column stands for FirstNormalTransactionId; -# similarly, "1" in relminmxid stands for FirstMultiXactId { oid => '1247', relname => 'pg_type', reltype => '71', relnatts => '30', relhasoids => 't' }, { oid => '1249', @@ -16,11 +14,4 @@ { oid => '1259', relname => 'pg_class', reltype => '83', relnatts => '33', relhasoids => 't' }, -# default selection for replica identity (primary key or nothing) -# no replica identity is logged for this relation -# all columns are logged as replica identity -# an explicitly chosen candidate key's columns are used as replica identity. -# Note this will still be set if the index has been dropped; in that case it -# has the same meaning as 'd'. - ] diff --git a/src/include/catalog/pg_database.dat b/src/include/catalog/pg_database.dat index bc4d41f..dfa1553 100644 --- a/src/include/catalog/pg_database.dat +++ b/src/include/catalog/pg_database.dat @@ -1,7 +1,10 @@ # pg_database.dat [ +# LC_COLLATE and LC_CTYPE will be replaced at initdb time with user choices +# that might contain non-word characters, so we must double-quote them. + { oid => '1', shdescr => 'default template for new databases', - datname => 'template1', datdba => 'PGUID', encoding => 'ENCODING', datcollate => 'LC_COLLATE', datctype => 'LC_CTYPE', datistemplate => 't', datallowconn => 't', datconnlimit => '-1', datlastsysoid => '0', datfrozenxid => '0', datminmxid => '1', dattablespace => '1663', datacl => '_null_' }, + datname => 'template1', datdba => 'PGUID', encoding => 'ENCODING', datcollate => '"LC_COLLATE"', datctype => '"LC_CTYPE"', datistemplate => 't', datallowconn => 't', datconnlimit => '-1', datlastsysoid => '0', datfrozenxid => '0', datminmxid => '1', dattablespace => '1663', datacl => '_null_' }, ] diff --git a/src/include/catalog/pg_namespace.dat b/src/include/catalog/pg_namespace.dat index 646fd30..3281eea 100644 --- a/src/include/catalog/pg_namespace.dat +++ b/src/include/catalog/pg_namespace.dat @@ -8,6 +8,4 @@ { oid => '2200', descr => 'standard public schema', nspname => 'public', nspowner => 'PGUID', nspacl => '_null_' }, -# prototypes for functions in pg_namespace.c - ] diff --git a/src/include/catalog/pg_opclass.dat b/src/include/catalog/pg_opclass.dat index b0f2e8c..8e4569e 100644 --- a/src/include/catalog/pg_opclass.dat +++ b/src/include/catalog/pg_opclass.dat @@ -44,12 +44,14 @@ { opcmethod => '405', opcname => 'macaddr_ops', opcfamily => '1985', opcintype => '829' }, { opcmethod => '403', opcname => 'macaddr8_ops', opcfamily => '3371', opcintype => '774' }, { opcmethod => '405', opcname => 'macaddr8_ops', opcfamily => '3372', opcintype => '774' }, + # Here's an ugly little hack to save space in the system catalog indexes. # btree doesn't ordinarily allow a storage type different from input type; # but cstring and name are the same thing except for trailing padding, # and we can safely omit that within an index entry. So we declare the # btree opclass for name as using cstring storage type. { opcmethod => '403', opcname => 'name_ops', opcfamily => '1986', opcintype => '19', opckeytype => '2275' }, + { opcmethod => '405', opcname => 'name_ops', opcfamily => '1987', opcintype => '19' }, { oid => '3125', opcmethod => '403', opcname => 'numeric_ops', opcfamily => '1988', opcintype => '1700' }, @@ -124,7 +126,9 @@ { opcmethod => '2742', opcname => 'jsonb_path_ops', opcfamily => '4037', opcintype => '3802', opcdefault => 'f', opckeytype => '23' }, # BRIN operator classes + # no brin opclass for bool + { opcmethod => '3580', opcname => 'bytea_minmax_ops', opcfamily => '4064', opcintype => '17', opckeytype => '17' }, { opcmethod => '3580', opcname => 'char_minmax_ops', opcfamily => '4062', opcintype => '18', opckeytype => '18' }, { opcmethod => '3580', opcname => 'name_minmax_ops', opcfamily => '4065', opcintype => '19', opckeytype => '19' }, @@ -152,12 +156,17 @@ { opcmethod => '3580', opcname => 'bit_minmax_ops', opcfamily => '4079', opcintype => '1560', opckeytype => '1560' }, { opcmethod => '3580', opcname => 'varbit_minmax_ops', opcfamily => '4080', opcintype => '1562', opckeytype => '1562' }, { opcmethod => '3580', opcname => 'numeric_minmax_ops', opcfamily => '4055', opcintype => '1700', opckeytype => '1700' }, + # no brin opclass for record, anyarray + { opcmethod => '3580', opcname => 'uuid_minmax_ops', opcfamily => '4081', opcintype => '2950', opckeytype => '2950' }, { opcmethod => '3580', opcname => 'range_inclusion_ops', opcfamily => '4103', opcintype => '3831', opckeytype => '3831' }, { opcmethod => '3580', opcname => 'pg_lsn_minmax_ops', opcfamily => '4082', opcintype => '3220', opckeytype => '3220' }, + # no brin opclass for enum, tsvector, tsquery, jsonb + { opcmethod => '3580', opcname => 'box_inclusion_ops', opcfamily => '4104', opcintype => '603', opckeytype => '603' }, + # no brin opclass for the geometric types except box ] diff --git a/src/include/catalog/pg_operator.dat b/src/include/catalog/pg_operator.dat index 1437225..898e2ae 100644 --- a/src/include/catalog/pg_operator.dat +++ b/src/include/catalog/pg_operator.dat @@ -1,7 +1,7 @@ # pg_operator.dat [ -# Note: every entry in pg_operator.h is expected to have a DESCR() comment. +# Note: every entry in pg_operator.h is expected to have a 'descr' comment. # If the operator is a deprecated equivalent of some other entry, be sure # to comment it as such so that initdb doesn't think it's a preferred name # for the underlying function. @@ -1581,6 +1581,7 @@ oprname => '&&', oprleft => '3615', oprright => '3615', oprresult => '3615', oprcode => 'tsquery_and' }, { oid => '3681', descr => 'OR-concatenate', oprname => '||', oprleft => '3615', oprright => '3615', oprresult => '3615', oprcode => 'tsquery_or' }, + # <-> operation calls tsquery_phrase, but function is polymorphic. So, point to OID of the tsquery_phrase { oid => '5005', descr => 'phrase-concatenate', oprname => '<->', oprleft => '3615', oprright => '3615', oprresult => '3615', oprcode => '5003' }, diff --git a/src/include/catalog/pg_proc.dat b/src/include/catalog/pg_proc.dat index ed5db1e..2aeb6e2 100644 --- a/src/include/catalog/pg_proc.dat +++ b/src/include/catalog/pg_proc.dat @@ -1,14 +1,16 @@ # pg_proc.dat [ -# Note: every entry in pg_proc.h is expected to have a DESCR() comment, -# except for functions that implement pg_operator.h operators and don't +# Note: every entry in pg_proc.dat is expected to have a 'descr' comment, +# except for functions that implement pg_operator.dat operators and don't # have a good reason to be called directly rather than via the operator. # (If you do expect such a function to be used directly, you should # duplicate the operator's comment.) initdb will supply suitable default # comments for functions referenced by pg_operator. + # Try to follow the style of existing functions' comments. # Some recommended conventions: + # "I/O" for typinput, typoutput, typreceive, typsend functions # "I/O typmod" for typmodin, typmodout functions # "aggregate transition function" for aggtransfn functions, unless @@ -17,7 +19,7 @@ # "convert srctypename to desttypename" for cast functions # "less-equal-greater" for B-tree comparison functions -# keep the following ordered by OID so that later changes can be made easier +# Keep the following ordered by OID so that later changes can be made easier # OIDS 1 - 99 @@ -1774,6 +1776,7 @@ # OIDs are not unique across system catalogs. Use the other form instead. { oid => '1348', descr => 'deprecated, use two-argument form instead', n => 'obj_description', prolang => '14', procost => '100', v => 's', p => 's', rt => '25', at => '26', s => 'select description from pg_catalog.pg_description where objoid = $1 and objsubid = 0' }, + { oid => '1349', descr => 'print type names of oidvector field', n => 'oidvectortypes', v => 's', p => 's', rt => '25', at => '30' }, @@ -1934,11 +1937,11 @@ # pclose and popen might better be named close and open, but that crashes initdb. # - thomas 97/04/20 - { oid => '1433', descr => 'close path', n => 'pclose', p => 's', rt => '602', at => '602', s => 'path_close' }, { oid => '1434', descr => 'open path', n => 'popen', p => 's', rt => '602', at => '602', s => 'path_open' }, + { oid => '1435', n => 'path_add', p => 's', rt => '602', at => '602 602' }, { oid => '1436', @@ -2730,6 +2733,7 @@ n => 'interval_hash_extended', p => 's', rt => '20', at => '1186 20' }, # OID's 1700 - 1799 NUMERIC data type + { oid => '1701', descr => 'I/O', n => 'numeric_in', p => 's', rt => '1700', at => '2275 26 23' }, { oid => '1702', descr => 'I/O', @@ -4753,6 +4757,7 @@ n => 'bool_anytrue', p => 's', rt => '16', at => '2281' }, { oid => '2517', descr => 'boolean-and aggregate', n => 'bool_and', proisagg => 't', proisstrict => 'f', p => 's', rt => '16', at => '16', s => 'aggregate_dummy' }, + # ANY, SOME? These names conflict with subquery operators. See doc. { oid => '2518', descr => 'boolean-or aggregate', n => 'bool_or', proisagg => 't', proisstrict => 'f', p => 's', rt => '16', at => '16', s => 'aggregate_dummy' }, @@ -4802,6 +4807,7 @@ # start time function { oid => '2560', descr => 'postmaster start time', n => 'pg_postmaster_start_time', v => 's', p => 's', rt => '1184', at => '' }, + # config reload time function { oid => '2034', descr => 'configuration load time', n => 'pg_conf_load_time', v => 's', p => 'r', rt => '1184', at => '' }, @@ -5658,6 +5664,7 @@ n => 'jsonb_pretty', p => 's', rt => '25', at => '3802' }, { oid => '3579', descr => 'Insert value into a jsonb', n => 'jsonb_insert', p => 's', rt => '3802', at => '3802 1009 3802 16' }, + # txid { oid => '2939', descr => 'I/O', n => 'txid_snapshot_in', p => 's', rt => '2970', at => '2275' }, @@ -6069,37 +6076,26 @@ # replication/origin.h { oid => '6003', descr => 'create a replication origin', n => 'pg_replication_origin_create', v => 'v', rt => '26', at => '25' }, - { oid => '6004', descr => 'drop replication origin identified by its name', n => 'pg_replication_origin_drop', v => 'v', rt => '2278', at => '25' }, - { oid => '6005', descr => 'translate the replication origin\'s name to its id', n => 'pg_replication_origin_oid', v => 's', p => 's', rt => '26', at => '25' }, - { oid => '6006', descr => 'configure session to maintain replication progress tracking for the passed in origin', n => 'pg_replication_origin_session_setup', v => 'v', rt => '2278', at => '25' }, - { oid => '6007', descr => 'teardown configured replication progress tracking', n => 'pg_replication_origin_session_reset', v => 'v', rt => '2278', at => '' }, - { oid => '6008', descr => 'is a replication origin configured in this session', n => 'pg_replication_origin_session_is_setup', v => 'v', p => 'r', rt => '16', at => '' }, - { oid => '6009', descr => 'get the replication progress of the current session', n => 'pg_replication_origin_session_progress', v => 'v', rt => '3220', at => '16' }, - { oid => '6010', descr => 'setup the transaction\'s origin lsn and timestamp', n => 'pg_replication_origin_xact_setup', v => 'v', p => 'r', rt => '2278', at => '3220 1184' }, - { oid => '6011', descr => 'reset the transaction\'s origin lsn and timestamp', n => 'pg_replication_origin_xact_reset', v => 'v', p => 'r', rt => '2278', at => '' }, - { oid => '6012', descr => 'advance replication identifier to specific location', n => 'pg_replication_origin_advance', v => 'v', rt => '2278', at => '25 3220' }, - { oid => '6013', descr => 'get an individual replication origin\'s replication progress', n => 'pg_replication_origin_progress', v => 'v', rt => '3220', at => '25 16' }, - { oid => '6014', descr => 'get progress for all replication origins', n => 'pg_show_replication_origin_status', prorows => '100', proisstrict => 'f', proretset => 't', v => 'v', p => 'r', rt => '2249', at => '', proallargtypes => '{26,25,3220,3220}', proargmodes => '{o,o,o,o}', proargnames => '{local_id, external_id, remote_lsn, local_lsn}' }, @@ -6122,20 +6118,16 @@ # pg_controldata related functions { oid => '3441', descr => 'pg_controldata general state information as a function', n => 'pg_control_system', v => 'v', p => 's', rt => '2249', at => '', proallargtypes => '{23,23,20,1184}', proargmodes => '{o,o,o,o}', proargnames => '{pg_control_version,catalog_version_no,system_identifier,pg_control_last_modified}' }, - { oid => '3442', descr => 'pg_controldata checkpoint state information as a function', n => 'pg_control_checkpoint', v => 'v', p => 's', rt => '2249', at => '', proallargtypes => '{3220,3220,25,23,23,16,25,26,28,28,28,26,28,28,26,28,28,1184}', proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}', proargnames => '{checkpoint_lsn,redo_lsn,redo_wal_file,timeline_id,prev_timeline_id,full_page_writes,next_xid,next_oid,next_multixact_id,next_multi_offset,oldest_xid,oldest_xid_dbid,oldest_active_xid,oldest_multi_xid,oldest_multi_dbid,oldest_commit_ts_xid,newest_commit_ts_xid,checkpoint_time}' }, - { oid => '3443', descr => 'pg_controldata recovery state information as a function', n => 'pg_control_recovery', v => 'v', p => 's', rt => '2249', at => '', proallargtypes => '{3220,23,3220,3220,16}', proargmodes => '{o,o,o,o,o}', proargnames => '{min_recovery_end_lsn,min_recovery_end_timeline,backup_start_lsn,backup_end_lsn,end_of_backup_record_required}' }, - { oid => '3444', descr => 'pg_controldata init state information as a function', n => 'pg_control_init', v => 'v', p => 's', rt => '2249', at => '', proallargtypes => '{23,23,23,23,23,23,23,23,23,16,16,23}', proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o}', proargnames => '{max_data_alignment,database_block_size,blocks_per_segment,wal_block_size,bytes_per_wal_segment,max_identifier_length,max_index_columns,max_toast_chunk_size,large_object_chunk_size,float4_pass_by_value,float8_pass_by_value,data_page_checksum_version}' }, # collation management functions { oid => '3445', descr => 'import collations from operating system', n => 'pg_import_system_collations', procost => '100', v => 'v', p => 'r', rt => '23', at => '4089' }, - { oid => '3448', descr => 'get actual version of collation from operating system', n => 'pg_collation_actual_version', procost => '100', v => 'v', p => 's', rt => '25', at => '26' }, @@ -6149,19 +6141,4 @@ { oid => '5028', descr => 'hash partition CHECK constraint', n => 'satisfies_hash_partition', provariadic => '2276', proisstrict => 'f', p => 's', rt => '16', at => '26 23 23 2276', proargmodes => '{i,i,i,v}' }, -# Symbolic values for provolatile column: these indicate whether the result -# of a function is dependent *only* on the values of its explicit arguments, -# or can change due to outside factors (such as parameter variables or -# table contents). NOTE: functions having side-effects, such as setval(), -# must be labeled volatile to ensure they will not get optimized away, -# even if the actual return value is not changeable. - -# Symbolic values for proparallel column: these indicate whether a function -# can be safely be run in a parallel backend, during parallelism but -# necessarily in the master, or only in non-parallel mode. - -# Symbolic values for proargmodes column. Note that these must agree with -# the FunctionParameterMode enum in parsenodes.h; we declare them here to -# be accessible from either header. - ] diff --git a/src/include/catalog/pg_range.dat b/src/include/catalog/pg_range.dat index 063b975..cd9a78b 100644 --- a/src/include/catalog/pg_range.dat +++ b/src/include/catalog/pg_range.dat @@ -8,6 +8,4 @@ { rngtypid => '3912', rngsubtype => '1082', rngcollation => '0', rngsubopc => '3122', rngcanonical => 'daterange_canonical', rngsubdiff => 'daterange_subdiff' }, { rngtypid => '3926', rngsubtype => '20', rngcollation => '0', rngsubopc => '3124', rngcanonical => 'int8range_canonical', rngsubdiff => 'int8range_subdiff' }, -# prototypes for functions in pg_range.c - ] diff --git a/src/include/catalog/pg_type.dat b/src/include/catalog/pg_type.dat index 65a60bd..a94010d 100644 --- a/src/include/catalog/pg_type.dat +++ b/src/include/catalog/pg_type.dat @@ -7,48 +7,35 @@ # TypInfo[] in bootstrap.c. # OIDS 1 - 99 + { oid => '16', descr => 'boolean, \'true\'/\'false\'', typname => 'bool', typlen => '1', typbyval => 't', typcategory => 'B', typispreferred => 't', typarray => '1000', typinput => 'boolin', typoutput => 'boolout', typreceive => 'boolrecv', typsend => 'boolsend', typalign => 'c' }, - { oid => '17', descr => 'variable-length string, binary values escaped', typname => 'bytea', typlen => '-1', typbyval => 'f', typcategory => 'U', typarray => '1001', typinput => 'byteain', typoutput => 'byteaout', typreceive => 'bytearecv', typsend => 'byteasend', typalign => 'i', typstorage => 'x' }, - { oid => '18', descr => 'single character', typname => 'char', typlen => '1', typbyval => 't', typcategory => 'S', typarray => '1002', typinput => 'charin', typoutput => 'charout', typreceive => 'charrecv', typsend => 'charsend', typalign => 'c' }, - { oid => '19', descr => '63-byte type for storing system identifiers', typname => 'name', typlen => 'NAMEDATALEN', typbyval => 'f', typcategory => 'S', typelem => '18', typarray => '1003', typinput => 'namein', typoutput => 'nameout', typreceive => 'namerecv', typsend => 'namesend', typalign => 'c' }, - { oid => '20', descr => '~18 digit integer, 8-byte storage', typname => 'int8', typlen => '8', typbyval => 'FLOAT8PASSBYVAL', typcategory => 'N', typarray => '1016', typinput => 'int8in', typoutput => 'int8out', typreceive => 'int8recv', typsend => 'int8send', typalign => 'd' }, - { oid => '21', descr => '-32 thousand to 32 thousand, 2-byte storage', typname => 'int2', typlen => '2', typbyval => 't', typcategory => 'N', typarray => '1005', typinput => 'int2in', typoutput => 'int2out', typreceive => 'int2recv', typsend => 'int2send', typalign => 's' }, - { oid => '22', descr => 'array of int2, used in system tables', typname => 'int2vector', typlen => '-1', typbyval => 'f', typcategory => 'A', typelem => '21', typarray => '1006', typinput => 'int2vectorin', typoutput => 'int2vectorout', typreceive => 'int2vectorrecv', typsend => 'int2vectorsend', typalign => 'i' }, - { oid => '23', descr => '-2 billion to 2 billion integer, 4-byte storage', typname => 'int4', typlen => '4', typbyval => 't', typcategory => 'N', typarray => '1007', typinput => 'int4in', typoutput => 'int4out', typreceive => 'int4recv', typsend => 'int4send', typalign => 'i' }, - { oid => '24', descr => 'registered procedure', typname => 'regproc', typlen => '4', typbyval => 't', typcategory => 'N', typarray => '1008', typinput => 'regprocin', typoutput => 'regprocout', typreceive => 'regprocrecv', typsend => 'regprocsend', typalign => 'i' }, - { oid => '25', descr => 'variable-length string, no limit specified', typname => 'text', typlen => '-1', typbyval => 'f', typcategory => 'S', typispreferred => 't', typarray => '1009', typinput => 'textin', typoutput => 'textout', typreceive => 'textrecv', typsend => 'textsend', typalign => 'i', typstorage => 'x', typcollation => '100' }, - { oid => '26', descr => 'object identifier(oid), maximum 4 billion', typname => 'oid', typlen => '4', typbyval => 't', typcategory => 'N', typispreferred => 't', typarray => '1028', typinput => 'oidin', typoutput => 'oidout', typreceive => 'oidrecv', typsend => 'oidsend', typalign => 'i' }, - { oid => '27', descr => '(block, offset), physical location of tuple', typname => 'tid', typlen => '6', typbyval => 'f', typcategory => 'U', typarray => '1010', typinput => 'tidin', typoutput => 'tidout', typreceive => 'tidrecv', typsend => 'tidsend', typalign => 's' }, - { oid => '28', descr => 'transaction id', typname => 'xid', typlen => '4', typbyval => 't', typcategory => 'U', typarray => '1011', typinput => 'xidin', typoutput => 'xidout', typreceive => 'xidrecv', typsend => 'xidsend', typalign => 'i' }, - { oid => '29', descr => 'command identifier type, sequence in transaction id', typname => 'cid', typlen => '4', typbyval => 't', typcategory => 'U', typarray => '1012', typinput => 'cidin', typoutput => 'cidout', typreceive => 'cidrecv', typsend => 'cidsend', typalign => 'i' }, - { oid => '30', descr => 'array of oids, used in system tables', typname => 'oidvector', typlen => '-1', typbyval => 'f', typcategory => 'A', typelem => '26', typarray => '1013', typinput => 'oidvectorin', typoutput => 'oidvectorout', typreceive => 'oidvectorrecv', typsend => 'oidvectorsend', typalign => 'i' }, @@ -65,6 +52,7 @@ typname => 'pg_class', typlen => '-1', typbyval => 'f', typtype => 'c', typcategory => 'C', typrelid => '1259', typarray => '0', typinput => 'record_in', typoutput => 'record_out', typreceive => 'record_recv', typsend => 'record_send', typalign => 'd', typstorage => 'x' }, # OIDS 100 - 199 + { oid => '114', typname => 'json', typlen => '-1', typbyval => 'f', typcategory => 'U', typarray => '199', typinput => 'json_in', typoutput => 'json_out', typreceive => 'json_recv', typsend => 'json_send', typalign => 'i', typstorage => 'x' }, { oid => '142', descr => 'XML content', @@ -73,16 +61,12 @@ typname => '_xml', typlen => '-1', typbyval => 'f', typcategory => 'A', typelem => '142', typarray => '0', typinput => 'array_in', typoutput => 'array_out', typreceive => 'array_recv', typsend => 'array_send', typanalyze => 'array_typanalyze', typalign => 'i', typstorage => 'x' }, { oid => '199', typname => '_json', typlen => '-1', typbyval => 'f', typcategory => 'A', typelem => '114', typarray => '0', typinput => 'array_in', typoutput => 'array_out', typreceive => 'array_recv', typsend => 'array_send', typanalyze => 'array_typanalyze', typalign => 'i', typstorage => 'x' }, - { oid => '194', descr => 'string representing an internal node tree', typname => 'pg_node_tree', typlen => '-1', typbyval => 'f', typcategory => 'S', typarray => '0', typinput => 'pg_node_tree_in', typoutput => 'pg_node_tree_out', typreceive => 'pg_node_tree_recv', typsend => 'pg_node_tree_send', typalign => 'i', typstorage => 'x', typcollation => '100' }, - { oid => '3361', descr => 'multivariate ndistinct coefficients', typname => 'pg_ndistinct', typlen => '-1', typbyval => 'f', typcategory => 'S', typarray => '0', typinput => 'pg_ndistinct_in', typoutput => 'pg_ndistinct_out', typreceive => 'pg_ndistinct_recv', typsend => 'pg_ndistinct_send', typalign => 'i', typstorage => 'x', typcollation => '100' }, - { oid => '3402', descr => 'multivariate dependencies', typname => 'pg_dependencies', typlen => '-1', typbyval => 'f', typcategory => 'S', typarray => '0', typinput => 'pg_dependencies_in', typoutput => 'pg_dependencies_out', typreceive => 'pg_dependencies_recv', typsend => 'pg_dependencies_send', typalign => 'i', typstorage => 'x', typcollation => '100' }, - { oid => '32', descr => 'internal type for passing CollectedCommand', typname => 'pg_ddl_command', typlen => 'SIZEOF_POINTER', typbyval => 't', typtype => 'p', typcategory => 'P', typarray => '0', typinput => 'pg_ddl_command_in', typoutput => 'pg_ddl_command_out', typreceive => 'pg_ddl_command_recv', typsend => 'pg_ddl_command_send', typalign => 'ALIGNOF_POINTER' }, @@ -98,6 +82,7 @@ # OIDS 500 - 599 # OIDS 600 - 699 + { oid => '600', descr => 'geometric point \'(x, y)\'', typname => 'point', typlen => '16', typbyval => 'f', typcategory => 'G', typelem => '701', typarray => '1017', typinput => 'point_in', typoutput => 'point_out', typreceive => 'point_recv', typsend => 'point_send', typalign => 'd' }, { oid => '601', descr => 'geometric line segment \'(pt1,pt2)\'', @@ -108,7 +93,6 @@ typname => 'box', typlen => '32', typbyval => 'f', typcategory => 'G', typdelim => '\073', typelem => '600', typarray => '1020', typinput => 'box_in', typoutput => 'box_out', typreceive => 'box_recv', typsend => 'box_send', typalign => 'd' }, { oid => '604', descr => 'geometric polygon \'(pt1,...)\'', typname => 'polygon', typlen => '-1', typbyval => 'f', typcategory => 'G', typarray => '1027', typinput => 'poly_in', typoutput => 'poly_out', typreceive => 'poly_recv', typsend => 'poly_send', typalign => 'd', typstorage => 'x' }, - { oid => '628', descr => 'geometric line', typname => 'line', typlen => '24', typbyval => 'f', typcategory => 'G', typelem => '701', typarray => '629', typinput => 'line_in', typoutput => 'line_out', typreceive => 'line_recv', typsend => 'line_send', typalign => 'd' }, { oid => '629', @@ -128,7 +112,6 @@ typname => 'tinterval', typlen => '12', typbyval => 'f', typcategory => 'T', typarray => '1025', typinput => 'tintervalin', typoutput => 'tintervalout', typreceive => 'tintervalrecv', typsend => 'tintervalsend', typalign => 'i' }, { oid => '705', typname => 'unknown', typlen => '-2', typbyval => 'f', typtype => 'p', typcategory => 'X', typarray => '0', typinput => 'unknownin', typoutput => 'unknownout', typreceive => 'unknownrecv', typsend => 'unknownsend', typalign => 'c' }, - { oid => '718', descr => 'geometric circle \'(center,radius)\'', typname => 'circle', typlen => '24', typbyval => 'f', typcategory => 'G', typarray => '719', typinput => 'circle_in', typoutput => 'circle_out', typreceive => 'circle_recv', typsend => 'circle_send', typalign => 'd' }, { oid => '719', @@ -151,6 +134,7 @@ # OIDS 900 - 999 # OIDS 1000 - 1099 + { oid => '1000', typname => '_bool', typlen => '-1', typbyval => 'f', typcategory => 'A', typelem => '16', typarray => '0', typinput => 'array_in', typoutput => 'array_out', typreceive => 'array_recv', typsend => 'array_send', typanalyze => 'array_typanalyze', typalign => 'i', typstorage => 'x' }, { oid => '1001', @@ -231,6 +215,7 @@ typname => 'time', typlen => '8', typbyval => 'FLOAT8PASSBYVAL', typcategory => 'D', typarray => '1183', typinput => 'time_in', typoutput => 'time_out', typreceive => 'time_recv', typsend => 'time_send', typmodin => 'timetypmodin', typmodout => 'timetypmodout', typalign => 'd' }, # OIDS 1100 - 1199 + { oid => '1114', descr => 'date and time', typname => 'timestamp', typlen => '8', typbyval => 'FLOAT8PASSBYVAL', typcategory => 'D', typarray => '1115', typinput => 'timestamp_in', typoutput => 'timestamp_out', typreceive => 'timestamp_recv', typsend => 'timestamp_send', typmodin => 'timestamptypmodin', typmodout => 'timestamptypmodout', typalign => 'd' }, { oid => '1115', @@ -249,6 +234,7 @@ typname => '_interval', typlen => '-1', typbyval => 'f', typcategory => 'A', typelem => '1186', typarray => '0', typinput => 'array_in', typoutput => 'array_out', typreceive => 'array_recv', typsend => 'array_send', typmodin => 'intervaltypmodin', typmodout => 'intervaltypmodout', typanalyze => 'array_typanalyze', typalign => 'd', typstorage => 'x' }, # OIDS 1200 - 1299 + { oid => '1231', typname => '_numeric', typlen => '-1', typbyval => 'f', typcategory => 'A', typelem => '1700', typarray => '0', typinput => 'array_in', typoutput => 'array_out', typreceive => 'array_recv', typsend => 'array_send', typmodin => 'numerictypmodin', typmodout => 'numerictypmodout', typanalyze => 'array_typanalyze', typalign => 'i', typstorage => 'x' }, { oid => '1266', descr => 'time of day with time zone', @@ -257,6 +243,7 @@ typname => '_timetz', typlen => '-1', typbyval => 'f', typcategory => 'A', typelem => '1266', typarray => '0', typinput => 'array_in', typoutput => 'array_out', typreceive => 'array_recv', typsend => 'array_send', typmodin => 'timetztypmodin', typmodout => 'timetztypmodout', typanalyze => 'array_typanalyze', typalign => 'd', typstorage => 'x' }, # OIDS 1500 - 1599 + { oid => '1560', descr => 'fixed-length bit string', typname => 'bit', typlen => '-1', typbyval => 'f', typcategory => 'V', typarray => '1561', typinput => 'bit_in', typoutput => 'bit_out', typreceive => 'bit_recv', typsend => 'bit_send', typmodin => 'bittypmodin', typmodout => 'bittypmodout', typalign => 'i', typstorage => 'x' }, { oid => '1561', @@ -269,37 +256,30 @@ # OIDS 1600 - 1699 # OIDS 1700 - 1799 + { oid => '1700', descr => 'numeric(precision, decimal), arbitrary precision number', typname => 'numeric', typlen => '-1', typbyval => 'f', typcategory => 'N', typarray => '1231', typinput => 'numeric_in', typoutput => 'numeric_out', typreceive => 'numeric_recv', typsend => 'numeric_send', typmodin => 'numerictypmodin', typmodout => 'numerictypmodout', typalign => 'i', typstorage => 'm' }, - { oid => '1790', descr => 'reference to cursor (portal name)', typname => 'refcursor', typlen => '-1', typbyval => 'f', typcategory => 'U', typarray => '2201', typinput => 'textin', typoutput => 'textout', typreceive => 'textrecv', typsend => 'textsend', typalign => 'i', typstorage => 'x' }, # OIDS 2200 - 2299 + { oid => '2201', typname => '_refcursor', typlen => '-1', typbyval => 'f', typcategory => 'A', typelem => '1790', typarray => '0', typinput => 'array_in', typoutput => 'array_out', typreceive => 'array_recv', typsend => 'array_send', typanalyze => 'array_typanalyze', typalign => 'i', typstorage => 'x' }, - { oid => '2202', descr => 'registered procedure (with args)', typname => 'regprocedure', typlen => '4', typbyval => 't', typcategory => 'N', typarray => '2207', typinput => 'regprocedurein', typoutput => 'regprocedureout', typreceive => 'regprocedurerecv', typsend => 'regproceduresend', typalign => 'i' }, - { oid => '2203', descr => 'registered operator', typname => 'regoper', typlen => '4', typbyval => 't', typcategory => 'N', typarray => '2208', typinput => 'regoperin', typoutput => 'regoperout', typreceive => 'regoperrecv', typsend => 'regopersend', typalign => 'i' }, - { oid => '2204', descr => 'registered operator (with args)', typname => 'regoperator', typlen => '4', typbyval => 't', typcategory => 'N', typarray => '2209', typinput => 'regoperatorin', typoutput => 'regoperatorout', typreceive => 'regoperatorrecv', typsend => 'regoperatorsend', typalign => 'i' }, - { oid => '2205', descr => 'registered class', typname => 'regclass', typlen => '4', typbyval => 't', typcategory => 'N', typarray => '2210', typinput => 'regclassin', typoutput => 'regclassout', typreceive => 'regclassrecv', typsend => 'regclasssend', typalign => 'i' }, - { oid => '2206', descr => 'registered type', typname => 'regtype', typlen => '4', typbyval => 't', typcategory => 'N', typarray => '2211', typinput => 'regtypein', typoutput => 'regtypeout', typreceive => 'regtyperecv', typsend => 'regtypesend', typalign => 'i' }, - { oid => '4096', descr => 'registered role', typname => 'regrole', typlen => '4', typbyval => 't', typcategory => 'N', typarray => '4097', typinput => 'regrolein', typoutput => 'regroleout', typreceive => 'regrolerecv', typsend => 'regrolesend', typalign => 'i' }, - { oid => '4089', descr => 'registered namespace', typname => 'regnamespace', typlen => '4', typbyval => 't', typcategory => 'N', typarray => '4090', typinput => 'regnamespacein', typoutput => 'regnamespaceout', typreceive => 'regnamespacerecv', typsend => 'regnamespacesend', typalign => 'i' }, - { oid => '2207', typname => '_regprocedure', typlen => '-1', typbyval => 'f', typcategory => 'A', typelem => '2202', typarray => '0', typinput => 'array_in', typoutput => 'array_out', typreceive => 'array_recv', typsend => 'array_send', typanalyze => 'array_typanalyze', typalign => 'i', typstorage => 'x' }, { oid => '2208', @@ -338,7 +318,6 @@ typname => 'regconfig', typlen => '4', typbyval => 't', typcategory => 'N', typarray => '3735', typinput => 'regconfigin', typoutput => 'regconfigout', typreceive => 'regconfigrecv', typsend => 'regconfigsend', typalign => 'i' }, { oid => '3769', descr => 'registered text search dictionary', typname => 'regdictionary', typlen => '4', typbyval => 't', typcategory => 'N', typarray => '3770', typinput => 'regdictionaryin', typoutput => 'regdictionaryout', typreceive => 'regdictionaryrecv', typsend => 'regdictionarysend', typalign => 'i' }, - { oid => '3643', typname => '_tsvector', typlen => '-1', typbyval => 'f', typcategory => 'A', typelem => '3614', typarray => '0', typinput => 'array_in', typoutput => 'array_out', typreceive => 'array_recv', typsend => 'array_send', typanalyze => 'array_typanalyze', typalign => 'i', typstorage => 'x' }, { oid => '3644', @@ -395,6 +374,7 @@ # Note: cstring is a borderline case; it is still considered a pseudo-type, # but there is now support for it in records and arrays. Perhaps we should # just treat it as a regular base type? + { oid => '2249', typname => 'record', typlen => '-1', typbyval => 'f', typtype => 'p', typcategory => 'P', typarray => '2287', typinput => 'record_in', typoutput => 'record_out', typreceive => 'record_recv', typsend => 'record_send', typalign => 'd', typstorage => 'x' }, { oid => '2287', @@ -432,8 +412,4 @@ { oid => '3831', typname => 'anyrange', typlen => '-1', typbyval => 'f', typtype => 'p', typcategory => 'P', typarray => '0', typinput => 'anyrange_in', typoutput => 'anyrange_out', typreceive => '-', typsend => '-', typalign => 'd', typstorage => 'x' }, -# macros - -# Is a type OID a polymorphic pseudotype? (Beware of multiple evaluation) - ] -- 2.7.4