Do pre-release housekeeping on catalog data.

Run renumber_oids.pl to move high-numbered OIDs down, as per pre-beta
tasks specified by RELEASE_CHANGES.  For reference, the command was
./renumber_oids.pl --first-mapped-oid=8000 --target-oid=5032

Also run reformat_dat_file.pl while I'm here.

Renumbering recently-added types changed some results in the opr_sanity
test.  To make those a bit easier to eyeball-verify, change the queries
to show regtype not just bare type OIDs.  (I think we didn't have
regtype when these queries were written.)
This commit is contained in:
Tom Lane 2020-05-12 13:03:43 -04:00
parent 2793bbe75e
commit 7b48f1b490
8 changed files with 134 additions and 135 deletions

View File

@ -53,6 +53,6 @@
*/
/* yyyymmddN */
#define CATALOG_VERSION_NO 202004241
#define CATALOG_VERSION_NO 202005121
#endif

View File

@ -1028,8 +1028,9 @@
amopstrategy => '1', amopopr => '=(xid,xid)', amopmethod => 'hash' },
# xid8_ops
{ amopfamily => 'hash/xid8_ops', amoplefttype => 'xid8', amoprighttype => 'xid8',
amopstrategy => '1', amopopr => '=(xid8,xid8)', amopmethod => 'hash' },
{ amopfamily => 'hash/xid8_ops', amoplefttype => 'xid8',
amoprighttype => 'xid8', amopstrategy => '1', amopopr => '=(xid8,xid8)',
amopmethod => 'hash' },
# cid_ops
{ amopfamily => 'hash/cid_ops', amoplefttype => 'cid', amoprighttype => 'cid',

View File

@ -193,28 +193,28 @@
oprname => '<>', oprleft => 'xid', oprright => 'int4', oprresult => 'bool',
oprnegate => '=(xid,int4)', oprcode => 'xidneqint4', oprrest => 'neqsel',
oprjoin => 'neqjoinsel' },
{ oid => '9418', descr => 'equal',
{ oid => '5068', descr => 'equal',
oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'xid8',
oprright => 'xid8', oprresult => 'bool', oprcom => '=(xid8,xid8)',
oprnegate => '<>(xid8,xid8)', oprcode => 'xid8eq', oprrest => 'eqsel',
oprjoin => 'eqjoinsel' },
{ oid => '9422', descr => 'not equal',
oprname => '<>', oprleft => 'xid8', oprright => 'xid8',
oprresult => 'bool', oprcom => '<>(xid8,xid8)', oprnegate => '=(xid8,xid8)',
oprcode => 'xid8ne', oprrest => 'neqsel', oprjoin => 'neqjoinsel' },
{ oid => '9432', descr => 'less than',
{ oid => '5072', descr => 'not equal',
oprname => '<>', oprleft => 'xid8', oprright => 'xid8', oprresult => 'bool',
oprcom => '<>(xid8,xid8)', oprnegate => '=(xid8,xid8)', oprcode => 'xid8ne',
oprrest => 'neqsel', oprjoin => 'neqjoinsel' },
{ oid => '5073', descr => 'less than',
oprname => '<', oprleft => 'xid8', oprright => 'xid8', oprresult => 'bool',
oprcom => '>(xid8,xid8)', oprnegate => '>=(xid8,xid8)', oprcode => 'xid8lt',
oprrest => 'scalarltsel', oprjoin => 'scalarltjoinsel' },
{ oid => '9433', descr => 'greater than',
{ oid => '5074', descr => 'greater than',
oprname => '>', oprleft => 'xid8', oprright => 'xid8', oprresult => 'bool',
oprcom => '<(xid8,xid8)', oprnegate => '<=(xid8,xid8)', oprcode => 'xid8gt',
oprrest => 'scalargtsel', oprjoin => 'scalargtjoinsel' },
{ oid => '9434', descr => 'less than or equal',
{ oid => '5075', descr => 'less than or equal',
oprname => '<=', oprleft => 'xid8', oprright => 'xid8', oprresult => 'bool',
oprcom => '>=(xid8,xid8)', oprnegate => '>(xid8,xid8)', oprcode => 'xid8le',
oprrest => 'scalarlesel', oprjoin => 'scalarlejoinsel' },
{ oid => '9435', descr => 'greater than or equal',
{ oid => '5076', descr => 'greater than or equal',
oprname => '>=', oprleft => 'xid8', oprright => 'xid8', oprresult => 'bool',
oprcom => '<=(xid8,xid8)', oprnegate => '<(xid8,xid8)', oprcode => 'xid8ge',
oprrest => 'scalargesel', oprjoin => 'scalargejoinsel' },

View File

@ -110,9 +110,9 @@
opfmethod => 'btree', opfname => 'tid_ops' },
{ oid => '2225',
opfmethod => 'hash', opfname => 'xid_ops' },
{ oid => '8164',
{ oid => '5032',
opfmethod => 'hash', opfname => 'xid8_ops' },
{ oid => '9322',
{ oid => '5067',
opfmethod => 'btree', opfname => 'xid8_ops' },
{ oid => '2226',
opfmethod => 'hash', opfname => 'cid_ops' },

View File

@ -112,16 +112,16 @@
{ oid => '51', descr => 'I/O',
proname => 'xidout', prorettype => 'cstring', proargtypes => 'xid',
prosrc => 'xidout' },
{ oid => '9420', descr => 'I/O',
{ oid => '5070', descr => 'I/O',
proname => 'xid8in', prorettype => 'xid8', proargtypes => 'cstring',
prosrc => 'xid8in' },
{ oid => '9554', descr => 'I/O',
{ oid => '5081', descr => 'I/O',
proname => 'xid8out', prorettype => 'cstring', proargtypes => 'xid8',
prosrc => 'xid8out' },
{ oid => '9555', descr => 'I/O',
{ oid => '5082', descr => 'I/O',
proname => 'xid8recv', prorettype => 'xid8', proargtypes => 'internal',
prosrc => 'xid8recv' },
{ oid => '9556', descr => 'I/O',
{ oid => '5083', descr => 'I/O',
proname => 'xid8send', prorettype => 'bytea', proargtypes => 'xid8',
prosrc => 'xid8send' },
{ oid => '52', descr => 'I/O',
@ -175,28 +175,28 @@
{ oid => '3308',
proname => 'xidneq', proleakproof => 't', prorettype => 'bool',
proargtypes => 'xid xid', prosrc => 'xidneq' },
{ oid => '9557',
{ oid => '5084',
proname => 'xid8eq', proleakproof => 't', prorettype => 'bool',
proargtypes => 'xid8 xid8', prosrc => 'xid8eq' },
{ oid => '9558',
{ oid => '5085',
proname => 'xid8ne', proleakproof => 't', prorettype => 'bool',
proargtypes => 'xid8 xid8', prosrc => 'xid8ne' },
{ oid => '8295',
{ oid => '5034',
proname => 'xid8lt', proleakproof => 't', prorettype => 'bool',
proargtypes => 'xid8 xid8', prosrc => 'xid8lt' },
{ oid => '8296',
{ oid => '5035',
proname => 'xid8gt', proleakproof => 't', prorettype => 'bool',
proargtypes => 'xid8 xid8', prosrc => 'xid8gt' },
{ oid => '8297',
{ oid => '5036',
proname => 'xid8le', proleakproof => 't', prorettype => 'bool',
proargtypes => 'xid8 xid8', prosrc => 'xid8le' },
{ oid => '8298',
{ oid => '5037',
proname => 'xid8ge', proleakproof => 't', prorettype => 'bool',
proargtypes => 'xid8 xid8', prosrc => 'xid8ge' },
{ oid => '9912', descr => 'less-equal-greater',
{ oid => '5096', descr => 'less-equal-greater',
proname => 'xid8cmp', proleakproof => 't', prorettype => 'int4',
proargtypes => 'xid8 xid8', prosrc => 'xid8cmp' },
{ oid => '9421', descr => 'convert xid8 to xid',
{ oid => '5071', descr => 'convert xid8 to xid',
proname => 'xid', prorettype => 'xid', proargtypes => 'xid8',
prosrc => 'xid8toxid' },
{ oid => '69',
@ -1049,7 +1049,7 @@
{ oid => '3255', descr => 'sort support',
proname => 'bttextsortsupport', prorettype => 'void',
proargtypes => 'internal', prosrc => 'bttextsortsupport' },
{ oid => '8505', descr => 'equal image',
{ oid => '5050', descr => 'equal image',
proname => 'btvarstrequalimage', prorettype => 'bool', proargtypes => 'oid',
prosrc => 'btvarstrequalimage' },
{ oid => '377', descr => 'less-equal-greater',
@ -1857,17 +1857,17 @@
proname => 'mod', prorettype => 'int8', proargtypes => 'int8 int8',
prosrc => 'int8mod' },
{ oid => '8463', descr => 'greatest common divisor',
{ oid => '5044', descr => 'greatest common divisor',
proname => 'gcd', prorettype => 'int4', proargtypes => 'int4 int4',
prosrc => 'int4gcd' },
{ oid => '8464', descr => 'greatest common divisor',
{ oid => '5045', descr => 'greatest common divisor',
proname => 'gcd', prorettype => 'int8', proargtypes => 'int8 int8',
prosrc => 'int8gcd' },
{ oid => '8465', descr => 'least common multiple',
{ oid => '5046', descr => 'least common multiple',
proname => 'lcm', prorettype => 'int4', proargtypes => 'int4 int4',
prosrc => 'int4lcm' },
{ oid => '8466', descr => 'least common multiple',
{ oid => '5047', descr => 'least common multiple',
proname => 'lcm', prorettype => 'int8', proargtypes => 'int8 int8',
prosrc => 'int8lcm' },
@ -4013,7 +4013,7 @@
{ oid => '3551',
proname => 'network_overlap', prorettype => 'bool',
proargtypes => 'inet inet', prosrc => 'network_overlap' },
{ oid => '8190', descr => 'sort support',
{ oid => '5033', descr => 'sort support',
proname => 'network_sortsupport', prorettype => 'void',
proargtypes => 'internal', prosrc => 'network_sortsupport' },
@ -4271,10 +4271,10 @@
{ oid => '1729',
proname => 'numeric_mod', prorettype => 'numeric',
proargtypes => 'numeric numeric', prosrc => 'numeric_mod' },
{ oid => '8467', descr => 'greatest common divisor',
{ oid => '5048', descr => 'greatest common divisor',
proname => 'gcd', prorettype => 'numeric', proargtypes => 'numeric numeric',
prosrc => 'numeric_gcd' },
{ oid => '8468', descr => 'least common multiple',
{ oid => '5049', descr => 'least common multiple',
proname => 'lcm', prorettype => 'numeric', proargtypes => 'numeric numeric',
prosrc => 'numeric_lcm' },
{ oid => '1730', descr => 'square root',
@ -4313,10 +4313,10 @@
{ oid => '3281', descr => 'number of decimal digits in the fractional part',
proname => 'scale', prorettype => 'int4', proargtypes => 'numeric',
prosrc => 'numeric_scale' },
{ oid => '8389', descr => 'minimum scale needed to represent the value',
{ oid => '5042', descr => 'minimum scale needed to represent the value',
proname => 'min_scale', prorettype => 'int4', proargtypes => 'numeric',
prosrc => 'numeric_min_scale' },
{ oid => '8390',
{ oid => '5043',
descr => 'numeric with minimum scale needed to represent the value',
proname => 'trim_scale', prorettype => 'numeric', proargtypes => 'numeric',
prosrc => 'numeric_trim_scale' },
@ -5165,7 +5165,7 @@
proname => 'pg_stat_get_mod_since_analyze', provolatile => 's',
proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
prosrc => 'pg_stat_get_mod_since_analyze' },
{ oid => '8872',
{ oid => '5053',
descr => 'statistics: number of tuples inserted since last vacuum',
proname => 'pg_stat_get_ins_since_vacuum', provolatile => 's',
proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
@ -5472,8 +5472,7 @@
proname => 'pg_stat_get_buf_alloc', provolatile => 's', proparallel => 'r',
prorettype => 'int8', proargtypes => '', prosrc => 'pg_stat_get_buf_alloc' },
{ oid => '2306',
descr => 'statistics: information about SLRU caches',
{ oid => '2306', descr => 'statistics: information about SLRU caches',
proname => 'pg_stat_get_slru', prorows => '100', proisstrict => 'f',
proretset => 't', provolatile => 's', proparallel => 'r',
prorettype => 'record', proargtypes => '',
@ -5588,9 +5587,8 @@
prosrc => 'pg_stat_reset_single_function_counters' },
{ oid => '2307',
descr => 'statistics: reset collected statistics for a single SLRU',
proname => 'pg_stat_reset_slru', provolatile => 'v', proisstrict => 'f',
prorettype => 'void', proargtypes => 'text',
prosrc => 'pg_stat_reset_slru' },
proname => 'pg_stat_reset_slru', proisstrict => 'f', provolatile => 'v',
prorettype => 'void', proargtypes => 'text', prosrc => 'pg_stat_reset_slru' },
{ oid => '3163', descr => 'current trigger depth',
proname => 'pg_trigger_depth', provolatile => 's', proparallel => 'r',
@ -7172,39 +7170,39 @@
{ oid => '268', descr => 'I/O',
proname => 'table_am_handler_out', prorettype => 'cstring',
proargtypes => 'table_am_handler', prosrc => 'table_am_handler_out' },
{ oid => '9559', descr => 'I/O',
{ oid => '5086', descr => 'I/O',
proname => 'anycompatible_in', prorettype => 'anycompatible',
proargtypes => 'cstring', prosrc => 'anycompatible_in' },
{ oid => '9560', descr => 'I/O',
{ oid => '5087', descr => 'I/O',
proname => 'anycompatible_out', prorettype => 'cstring',
proargtypes => 'anycompatible', prosrc => 'anycompatible_out' },
{ oid => '9561', descr => 'I/O',
{ oid => '5088', descr => 'I/O',
proname => 'anycompatiblearray_in', prorettype => 'anycompatiblearray',
proargtypes => 'cstring', prosrc => 'anycompatiblearray_in' },
{ oid => '9562', descr => 'I/O',
{ oid => '5089', descr => 'I/O',
proname => 'anycompatiblearray_out', provolatile => 's',
prorettype => 'cstring', proargtypes => 'anycompatiblearray',
prosrc => 'anycompatiblearray_out' },
{ oid => '9563', descr => 'I/O',
{ oid => '5090', descr => 'I/O',
proname => 'anycompatiblearray_recv', provolatile => 's',
prorettype => 'anycompatiblearray', proargtypes => 'internal',
prosrc => 'anycompatiblearray_recv' },
{ oid => '9564', descr => 'I/O',
{ oid => '5091', descr => 'I/O',
proname => 'anycompatiblearray_send', provolatile => 's',
prorettype => 'bytea', proargtypes => 'anycompatiblearray',
prosrc => 'anycompatiblearray_send' },
{ oid => '9565', descr => 'I/O',
{ oid => '5092', descr => 'I/O',
proname => 'anycompatiblenonarray_in', prorettype => 'anycompatiblenonarray',
proargtypes => 'cstring', prosrc => 'anycompatiblenonarray_in' },
{ oid => '9566', descr => 'I/O',
{ oid => '5093', descr => 'I/O',
proname => 'anycompatiblenonarray_out', prorettype => 'cstring',
proargtypes => 'anycompatiblenonarray',
prosrc => 'anycompatiblenonarray_out' },
{ oid => '9567', descr => 'I/O',
{ oid => '5094', descr => 'I/O',
proname => 'anycompatiblerange_in', provolatile => 's',
prorettype => 'anycompatiblerange', proargtypes => 'cstring oid int4',
prosrc => 'anycompatiblerange_in' },
{ oid => '9568', descr => 'I/O',
{ oid => '5095', descr => 'I/O',
proname => 'anycompatiblerange_out', provolatile => 's',
prorettype => 'cstring', proargtypes => 'anycompatiblerange',
prosrc => 'anycompatiblerange_out' },
@ -7789,7 +7787,7 @@
prosrc => 'pg_notification_queue_usage' },
# shared memory usage
{ oid => '8613', descr => 'allocations from the main shared memory segment',
{ oid => '5052', descr => 'allocations from the main shared memory segment',
proname => 'pg_get_shmem_allocations', prorows => '50', proretset => 't',
provolatile => 'v', prorettype => 'record', proargtypes => '',
proallargtypes => '{text,int8,int8,int8}', proargmodes => '{o,o,o,o}',
@ -8787,7 +8785,7 @@
proargtypes => 'internal gtsvector int4 oid internal',
prosrc => 'gtsvector_consistent_oldsig' },
{ oid => '3434', descr => 'GiST tsvector support',
proname => 'gtsvector_options', prorettype => 'void', proisstrict => 'f',
proname => 'gtsvector_options', proisstrict => 'f', prorettype => 'void',
proargtypes => 'internal', prosrc => 'gtsvector_options' },
{ oid => '3656', descr => 'GIN tsvector support',
@ -9432,7 +9430,7 @@
{ oid => '3304',
proname => 'jsonb_delete_path', prorettype => 'jsonb',
proargtypes => 'jsonb _text', prosrc => 'jsonb_delete_path' },
{ oid => '8945', descr => 'Set part of a jsonb, handle NULL value',
{ oid => '5054', descr => 'Set part of a jsonb, handle NULL value',
proname => 'jsonb_set_lax', proisstrict => 'f', prorettype => 'jsonb',
proargtypes => 'jsonb _text jsonb bool text', prosrc => 'jsonb_set_lax' },
{ oid => '3305', descr => 'Set part of a jsonb',
@ -9547,45 +9545,45 @@
proargtypes => 'int8', prosrc => 'pg_xact_status' },
# pg_snapshot functions
{ oid => '9247', descr => 'I/O',
{ oid => '5055', descr => 'I/O',
proname => 'pg_snapshot_in', prorettype => 'pg_snapshot',
proargtypes => 'cstring', prosrc => 'pg_snapshot_in' },
{ oid => '9248', descr => 'I/O',
{ oid => '5056', descr => 'I/O',
proname => 'pg_snapshot_out', prorettype => 'cstring',
proargtypes => 'pg_snapshot', prosrc => 'pg_snapshot_out' },
{ oid => '9249', descr => 'I/O',
{ oid => '5057', descr => 'I/O',
proname => 'pg_snapshot_recv', prorettype => 'pg_snapshot',
proargtypes => 'internal', prosrc => 'pg_snapshot_recv' },
{ oid => '9250', descr => 'I/O',
{ oid => '5058', descr => 'I/O',
proname => 'pg_snapshot_send', prorettype => 'bytea',
proargtypes => 'pg_snapshot', prosrc => 'pg_snapshot_send' },
{ oid => '9253', descr => 'get current snapshot',
{ oid => '5061', descr => 'get current snapshot',
proname => 'pg_current_snapshot', provolatile => 's',
prorettype => 'pg_snapshot', proargtypes => '',
prosrc => 'pg_current_snapshot' },
{ oid => '9254', descr => 'get xmin of snapshot',
{ oid => '5062', descr => 'get xmin of snapshot',
proname => 'pg_snapshot_xmin', prorettype => 'xid8',
proargtypes => 'pg_snapshot', prosrc => 'pg_snapshot_xmin' },
{ oid => '9255', descr => 'get xmax of snapshot',
{ oid => '5063', descr => 'get xmax of snapshot',
proname => 'pg_snapshot_xmax', prorettype => 'xid8',
proargtypes => 'pg_snapshot', prosrc => 'pg_snapshot_xmax' },
{ oid => '9256', descr => 'get set of in-progress transactions in snapshot',
{ oid => '5064', descr => 'get set of in-progress transactions in snapshot',
proname => 'pg_snapshot_xip', prorows => '50', proretset => 't',
prorettype => 'xid8', proargtypes => 'pg_snapshot',
prosrc => 'pg_snapshot_xip' },
{ oid => '9257', descr => 'is xid8 visible in snapshot?',
{ oid => '5065', descr => 'is xid8 visible in snapshot?',
proname => 'pg_visible_in_snapshot', prorettype => 'bool',
proargtypes => 'xid8 pg_snapshot', prosrc => 'pg_visible_in_snapshot' },
# transaction ID and status functions
{ oid => '9251', descr => 'get current transaction ID',
{ oid => '5059', descr => 'get current transaction ID',
proname => 'pg_current_xact_id', provolatile => 's', proparallel => 'u',
prorettype => 'xid8', proargtypes => '', prosrc => 'pg_current_xact_id' },
{ oid => '9252', descr => 'get current transaction ID',
proname => 'pg_current_xact_id_if_assigned', provolatile => 's', proparallel => 'u',
prorettype => 'xid8', proargtypes => '',
{ oid => '5060', descr => 'get current transaction ID',
proname => 'pg_current_xact_id_if_assigned', provolatile => 's',
proparallel => 'u', prorettype => 'xid8', proargtypes => '',
prosrc => 'pg_current_xact_id_if_assigned' },
{ oid => '9258', descr => 'commit status of transaction',
{ oid => '5066', descr => 'commit status of transaction',
proname => 'pg_xact_status', provolatile => 'v', prorettype => 'text',
proargtypes => 'xid8', prosrc => 'pg_xact_status' },
@ -9634,7 +9632,7 @@
{ oid => '3187', descr => 'less-equal-greater based on byte images',
proname => 'btrecordimagecmp', prorettype => 'int4',
proargtypes => 'record record', prosrc => 'btrecordimagecmp' },
{ oid => '8506', descr => 'equal image',
{ oid => '5051', descr => 'equal image',
proname => 'btequalimage', prorettype => 'bool', proargtypes => 'oid',
prosrc => 'btequalimage' },
@ -10722,11 +10720,11 @@
prosrc => 'shift_jis_2004_to_euc_jis_2004',
probin => '$libdir/euc2004_sjis2004' },
{ oid => '8387',
{ oid => '5040',
descr => 'restriction selectivity for generic matching operators',
proname => 'matchingsel', provolatile => 's', prorettype => 'float8',
proargtypes => 'internal oid internal int4', prosrc => 'matchingsel' },
{ oid => '8388', descr => 'join selectivity for generic matching operators',
{ oid => '5041', descr => 'join selectivity for generic matching operators',
proname => 'matchingjoinsel', provolatile => 's', prorettype => 'float8',
proargtypes => 'internal oid internal int2 internal',
prosrc => 'matchingjoinsel' },
@ -10931,11 +10929,11 @@
proargtypes => 'regclass', prosrc => 'pg_partition_root' },
{ oid => '4350', descr => 'Unicode normalization',
proname => 'normalize', prorettype => 'text',
proargtypes => 'text text', prosrc => 'unicode_normalize_func' },
proname => 'normalize', prorettype => 'text', proargtypes => 'text text',
prosrc => 'unicode_normalize_func' },
{ oid => '4351', descr => 'check Unicode normalization',
proname => 'is_normalized', prorettype => 'bool',
proargtypes => 'text text', prosrc => 'unicode_is_normalized' },
proname => 'is_normalized', prorettype => 'bool', proargtypes => 'text text',
prosrc => 'unicode_is_normalized' },
]

View File

@ -177,7 +177,7 @@
typtype => 'p', typcategory => 'P', typinput => 'pg_ddl_command_in',
typoutput => 'pg_ddl_command_out', typreceive => 'pg_ddl_command_recv',
typsend => 'pg_ddl_command_send', typalign => 'ALIGNOF_POINTER' },
{ oid => '9419', array_type_oid => '271', descr => 'full transaction id',
{ oid => '5069', array_type_oid => '271', descr => 'full transaction id',
typname => 'xid8', typlen => '8', typbyval => 'FLOAT8PASSBYVAL',
typcategory => 'U', typinput => 'xid8in', typoutput => 'xid8out',
typreceive => 'xid8recv', typsend => 'xid8send', typalign => 'd' },
@ -460,11 +460,11 @@
typcategory => 'U', typinput => 'txid_snapshot_in',
typoutput => 'txid_snapshot_out', typreceive => 'txid_snapshot_recv',
typsend => 'txid_snapshot_send', typalign => 'd', typstorage => 'x' },
{ oid => '8355', array_type_oid => '8356', descr => 'snapshot',
typname => 'pg_snapshot', typlen => '-1', typbyval => 'f',
typcategory => 'U', typinput => 'pg_snapshot_in',
typoutput => 'pg_snapshot_out', typreceive => 'pg_snapshot_recv',
typsend => 'pg_snapshot_send', typalign => 'd', typstorage => 'x' },
{ oid => '5038', array_type_oid => '5039', descr => 'snapshot',
typname => 'pg_snapshot', typlen => '-1', typbyval => 'f', typcategory => 'U',
typinput => 'pg_snapshot_in', typoutput => 'pg_snapshot_out',
typreceive => 'pg_snapshot_recv', typsend => 'pg_snapshot_send',
typalign => 'd', typstorage => 'x' },
# range types
{ oid => '3904', array_type_oid => '3905', descr => 'range of integers',
@ -604,26 +604,26 @@
typname => 'anyrange', typlen => '-1', typbyval => 'f', typtype => 'p',
typcategory => 'P', typinput => 'anyrange_in', typoutput => 'anyrange_out',
typreceive => '-', typsend => '-', typalign => 'd', typstorage => 'x' },
{ oid => '9550',
{ oid => '5077',
descr => 'pseudo-type representing a polymorphic common type',
typname => 'anycompatible', typlen => '4', typbyval => 't', typtype => 'p',
typcategory => 'P', typinput => 'anycompatible_in',
typoutput => 'anycompatible_out', typreceive => '-', typsend => '-',
typalign => 'i' },
{ oid => '9551',
{ oid => '5078',
descr => 'pseudo-type representing an array of polymorphic common type elements',
typname => 'anycompatiblearray', typlen => '-1', typbyval => 'f',
typtype => 'p', typcategory => 'P', typinput => 'anycompatiblearray_in',
typoutput => 'anycompatiblearray_out',
typreceive => 'anycompatiblearray_recv', typsend => 'anycompatiblearray_send',
typalign => 'd', typstorage => 'x' },
{ oid => '9552',
{ oid => '5079',
descr => 'pseudo-type representing a polymorphic common type that is not an array',
typname => 'anycompatiblenonarray', typlen => '4', typbyval => 't',
typtype => 'p', typcategory => 'P', typinput => 'anycompatiblenonarray_in',
typoutput => 'anycompatiblenonarray_out', typreceive => '-', typsend => '-',
typalign => 'i' },
{ oid => '9553',
{ oid => '5080',
descr => 'pseudo-type representing a range over a polymorphic common type',
typname => 'anycompatiblerange', typlen => '-1', typbyval => 'f',
typtype => 'p', typcategory => 'P', typinput => 'anycompatiblerange_in',

View File

@ -182,7 +182,7 @@ WHERE p1.oid < p2.oid AND
-- or when new polymorphic built-in functions are added!
-- Note: ignore aggregate functions here, since they all point to the same
-- dummy built-in function. Likewise, ignore range constructor functions.
SELECT DISTINCT p1.prorettype, p2.prorettype
SELECT DISTINCT p1.prorettype::regtype, p2.prorettype::regtype
FROM pg_proc AS p1, pg_proc AS p2
WHERE p1.oid != p2.oid AND
p1.prosrc = p2.prosrc AND
@ -192,15 +192,15 @@ WHERE p1.oid != p2.oid AND
p2.prosrc NOT LIKE E'range\\_constructor_' AND
(p1.prorettype < p2.prorettype)
ORDER BY 1, 2;
prorettype | prorettype
------------+------------
20 | 9419
25 | 1043
1114 | 1184
2970 | 8355
prorettype | prorettype
-----------------------------+--------------------------
bigint | xid8
text | character varying
timestamp without time zone | timestamp with time zone
txid_snapshot | pg_snapshot
(4 rows)
SELECT DISTINCT p1.proargtypes[0], p2.proargtypes[0]
SELECT DISTINCT p1.proargtypes[0]::regtype, p2.proargtypes[0]::regtype
FROM pg_proc AS p1, pg_proc AS p2
WHERE p1.oid != p2.oid AND
p1.prosrc = p2.prosrc AND
@ -210,17 +210,17 @@ WHERE p1.oid != p2.oid AND
p2.prosrc NOT LIKE E'range\\_constructor_' AND
(p1.proargtypes[0] < p2.proargtypes[0])
ORDER BY 1, 2;
proargtypes | proargtypes
-------------+-------------
20 | 9419
25 | 1042
25 | 1043
1114 | 1184
1560 | 1562
2970 | 8355
proargtypes | proargtypes
-----------------------------+--------------------------
bigint | xid8
text | character
text | character varying
timestamp without time zone | timestamp with time zone
bit | bit varying
txid_snapshot | pg_snapshot
(6 rows)
SELECT DISTINCT p1.proargtypes[1], p2.proargtypes[1]
SELECT DISTINCT p1.proargtypes[1]::regtype, p2.proargtypes[1]::regtype
FROM pg_proc AS p1, pg_proc AS p2
WHERE p1.oid != p2.oid AND
p1.prosrc = p2.prosrc AND
@ -230,15 +230,15 @@ WHERE p1.oid != p2.oid AND
p2.prosrc NOT LIKE E'range\\_constructor_' AND
(p1.proargtypes[1] < p2.proargtypes[1])
ORDER BY 1, 2;
proargtypes | proargtypes
-------------+-------------
23 | 28
1114 | 1184
1560 | 1562
2970 | 8355
proargtypes | proargtypes
-----------------------------+--------------------------
integer | xid
timestamp without time zone | timestamp with time zone
bit | bit varying
txid_snapshot | pg_snapshot
(4 rows)
SELECT DISTINCT p1.proargtypes[2], p2.proargtypes[2]
SELECT DISTINCT p1.proargtypes[2]::regtype, p2.proargtypes[2]::regtype
FROM pg_proc AS p1, pg_proc AS p2
WHERE p1.oid != p2.oid AND
p1.prosrc = p2.prosrc AND
@ -246,12 +246,12 @@ WHERE p1.oid != p2.oid AND
p1.prokind != 'a' AND p2.prokind != 'a' AND
(p1.proargtypes[2] < p2.proargtypes[2])
ORDER BY 1, 2;
proargtypes | proargtypes
-------------+-------------
1114 | 1184
proargtypes | proargtypes
-----------------------------+--------------------------
timestamp without time zone | timestamp with time zone
(1 row)
SELECT DISTINCT p1.proargtypes[3], p2.proargtypes[3]
SELECT DISTINCT p1.proargtypes[3]::regtype, p2.proargtypes[3]::regtype
FROM pg_proc AS p1, pg_proc AS p2
WHERE p1.oid != p2.oid AND
p1.prosrc = p2.prosrc AND
@ -259,12 +259,12 @@ WHERE p1.oid != p2.oid AND
p1.prokind != 'a' AND p2.prokind != 'a' AND
(p1.proargtypes[3] < p2.proargtypes[3])
ORDER BY 1, 2;
proargtypes | proargtypes
-------------+-------------
1114 | 1184
proargtypes | proargtypes
-----------------------------+--------------------------
timestamp without time zone | timestamp with time zone
(1 row)
SELECT DISTINCT p1.proargtypes[4], p2.proargtypes[4]
SELECT DISTINCT p1.proargtypes[4]::regtype, p2.proargtypes[4]::regtype
FROM pg_proc AS p1, pg_proc AS p2
WHERE p1.oid != p2.oid AND
p1.prosrc = p2.prosrc AND
@ -276,7 +276,7 @@ ORDER BY 1, 2;
-------------+-------------
(0 rows)
SELECT DISTINCT p1.proargtypes[5], p2.proargtypes[5]
SELECT DISTINCT p1.proargtypes[5]::regtype, p2.proargtypes[5]::regtype
FROM pg_proc AS p1, pg_proc AS p2
WHERE p1.oid != p2.oid AND
p1.prosrc = p2.prosrc AND
@ -288,7 +288,7 @@ ORDER BY 1, 2;
-------------+-------------
(0 rows)
SELECT DISTINCT p1.proargtypes[6], p2.proargtypes[6]
SELECT DISTINCT p1.proargtypes[6]::regtype, p2.proargtypes[6]::regtype
FROM pg_proc AS p1, pg_proc AS p2
WHERE p1.oid != p2.oid AND
p1.prosrc = p2.prosrc AND
@ -300,7 +300,7 @@ ORDER BY 1, 2;
-------------+-------------
(0 rows)
SELECT DISTINCT p1.proargtypes[7], p2.proargtypes[7]
SELECT DISTINCT p1.proargtypes[7]::regtype, p2.proargtypes[7]::regtype
FROM pg_proc AS p1, pg_proc AS p2
WHERE p1.oid != p2.oid AND
p1.prosrc = p2.prosrc AND
@ -384,10 +384,10 @@ WHERE p1.prorettype IN
ORDER BY 2;
oid | proname
------+--------------------------
9559 | anycompatible_in
9561 | anycompatiblearray_in
9563 | anycompatiblearray_recv
9565 | anycompatiblenonarray_in
5086 | anycompatible_in
5088 | anycompatiblearray_in
5090 | anycompatiblearray_recv
5092 | anycompatiblenonarray_in
(4 rows)
SELECT p1.oid, p1.proname
@ -398,7 +398,7 @@ WHERE p1.prorettype = 'anycompatiblerange'::regtype
ORDER BY 2;
oid | proname
------+-----------------------
9567 | anycompatiblerange_in
5094 | anycompatiblerange_in
(1 row)
-- Look for functions that accept cstring and are neither datatype input

View File

@ -166,7 +166,7 @@ WHERE p1.oid < p2.oid AND
-- Note: ignore aggregate functions here, since they all point to the same
-- dummy built-in function. Likewise, ignore range constructor functions.
SELECT DISTINCT p1.prorettype, p2.prorettype
SELECT DISTINCT p1.prorettype::regtype, p2.prorettype::regtype
FROM pg_proc AS p1, pg_proc AS p2
WHERE p1.oid != p2.oid AND
p1.prosrc = p2.prosrc AND
@ -177,7 +177,7 @@ WHERE p1.oid != p2.oid AND
(p1.prorettype < p2.prorettype)
ORDER BY 1, 2;
SELECT DISTINCT p1.proargtypes[0], p2.proargtypes[0]
SELECT DISTINCT p1.proargtypes[0]::regtype, p2.proargtypes[0]::regtype
FROM pg_proc AS p1, pg_proc AS p2
WHERE p1.oid != p2.oid AND
p1.prosrc = p2.prosrc AND
@ -188,7 +188,7 @@ WHERE p1.oid != p2.oid AND
(p1.proargtypes[0] < p2.proargtypes[0])
ORDER BY 1, 2;
SELECT DISTINCT p1.proargtypes[1], p2.proargtypes[1]
SELECT DISTINCT p1.proargtypes[1]::regtype, p2.proargtypes[1]::regtype
FROM pg_proc AS p1, pg_proc AS p2
WHERE p1.oid != p2.oid AND
p1.prosrc = p2.prosrc AND
@ -199,7 +199,7 @@ WHERE p1.oid != p2.oid AND
(p1.proargtypes[1] < p2.proargtypes[1])
ORDER BY 1, 2;
SELECT DISTINCT p1.proargtypes[2], p2.proargtypes[2]
SELECT DISTINCT p1.proargtypes[2]::regtype, p2.proargtypes[2]::regtype
FROM pg_proc AS p1, pg_proc AS p2
WHERE p1.oid != p2.oid AND
p1.prosrc = p2.prosrc AND
@ -208,7 +208,7 @@ WHERE p1.oid != p2.oid AND
(p1.proargtypes[2] < p2.proargtypes[2])
ORDER BY 1, 2;
SELECT DISTINCT p1.proargtypes[3], p2.proargtypes[3]
SELECT DISTINCT p1.proargtypes[3]::regtype, p2.proargtypes[3]::regtype
FROM pg_proc AS p1, pg_proc AS p2
WHERE p1.oid != p2.oid AND
p1.prosrc = p2.prosrc AND
@ -217,7 +217,7 @@ WHERE p1.oid != p2.oid AND
(p1.proargtypes[3] < p2.proargtypes[3])
ORDER BY 1, 2;
SELECT DISTINCT p1.proargtypes[4], p2.proargtypes[4]
SELECT DISTINCT p1.proargtypes[4]::regtype, p2.proargtypes[4]::regtype
FROM pg_proc AS p1, pg_proc AS p2
WHERE p1.oid != p2.oid AND
p1.prosrc = p2.prosrc AND
@ -226,7 +226,7 @@ WHERE p1.oid != p2.oid AND
(p1.proargtypes[4] < p2.proargtypes[4])
ORDER BY 1, 2;
SELECT DISTINCT p1.proargtypes[5], p2.proargtypes[5]
SELECT DISTINCT p1.proargtypes[5]::regtype, p2.proargtypes[5]::regtype
FROM pg_proc AS p1, pg_proc AS p2
WHERE p1.oid != p2.oid AND
p1.prosrc = p2.prosrc AND
@ -235,7 +235,7 @@ WHERE p1.oid != p2.oid AND
(p1.proargtypes[5] < p2.proargtypes[5])
ORDER BY 1, 2;
SELECT DISTINCT p1.proargtypes[6], p2.proargtypes[6]
SELECT DISTINCT p1.proargtypes[6]::regtype, p2.proargtypes[6]::regtype
FROM pg_proc AS p1, pg_proc AS p2
WHERE p1.oid != p2.oid AND
p1.prosrc = p2.prosrc AND
@ -244,7 +244,7 @@ WHERE p1.oid != p2.oid AND
(p1.proargtypes[6] < p2.proargtypes[6])
ORDER BY 1, 2;
SELECT DISTINCT p1.proargtypes[7], p2.proargtypes[7]
SELECT DISTINCT p1.proargtypes[7]::regtype, p2.proargtypes[7]::regtype
FROM pg_proc AS p1, pg_proc AS p2
WHERE p1.oid != p2.oid AND
p1.prosrc = p2.prosrc AND