@@ -6914,155 +6914,159 @@
6914
6914
proname => 'sum', prokind => 'a', proisstrict => 'f', prorettype => 'numeric',
6915
6915
proargtypes => 'numeric', prosrc => 'aggregate_dummy' },
6916
6916
6917
- { oid => '2115', descr => 'maximum value of all bigint input values',
6917
+ { oid => '2775', descr => 'planner support for min and max aggregates',
6918
+ proname => 'minmax_support', prorettype => 'internal',
6919
+ proargtypes => 'internal', prosrc => 'minmax_support' },
6920
+ { oid => '2115', prosupport => 'minmax_support',
6921
+ descr => 'maximum value of all bigint input values',
6918
6922
proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'int8',
6919
6923
proargtypes => 'int8', prosrc => 'aggregate_dummy' },
6920
- { oid => '2116', descr => 'maximum value of all integer input values',
6924
+ { oid => '2116', prosupport => 'minmax_support', descr => 'maximum value of all integer input values',
6921
6925
proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'int4',
6922
6926
proargtypes => 'int4', prosrc => 'aggregate_dummy' },
6923
- { oid => '2117', descr => 'maximum value of all smallint input values',
6927
+ { oid => '2117', prosupport => 'minmax_support', descr => 'maximum value of all smallint input values',
6924
6928
proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'int2',
6925
6929
proargtypes => 'int2', prosrc => 'aggregate_dummy' },
6926
- { oid => '2118', descr => 'maximum value of all oid input values',
6930
+ { oid => '2118', prosupport => 'minmax_support', descr => 'maximum value of all oid input values',
6927
6931
proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'oid',
6928
6932
proargtypes => 'oid', prosrc => 'aggregate_dummy' },
6929
- { oid => '2119', descr => 'maximum value of all float4 input values',
6933
+ { oid => '2119', prosupport => 'minmax_support', descr => 'maximum value of all float4 input values',
6930
6934
proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'float4',
6931
6935
proargtypes => 'float4', prosrc => 'aggregate_dummy' },
6932
- { oid => '2120', descr => 'maximum value of all float8 input values',
6936
+ { oid => '2120', prosupport => 'minmax_support', descr => 'maximum value of all float8 input values',
6933
6937
proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'float8',
6934
6938
proargtypes => 'float8', prosrc => 'aggregate_dummy' },
6935
- { oid => '2122', descr => 'maximum value of all date input values',
6939
+ { oid => '2122', prosupport => 'minmax_support', descr => 'maximum value of all date input values',
6936
6940
proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'date',
6937
6941
proargtypes => 'date', prosrc => 'aggregate_dummy' },
6938
- { oid => '2123', descr => 'maximum value of all time input values',
6942
+ { oid => '2123', prosupport => 'minmax_support', descr => 'maximum value of all time input values',
6939
6943
proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'time',
6940
6944
proargtypes => 'time', prosrc => 'aggregate_dummy' },
6941
- { oid => '2124',
6945
+ { oid => '2124', prosupport => 'minmax_support',
6942
6946
descr => 'maximum value of all time with time zone input values',
6943
6947
proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'timetz',
6944
6948
proargtypes => 'timetz', prosrc => 'aggregate_dummy' },
6945
- { oid => '2125', descr => 'maximum value of all money input values',
6949
+ { oid => '2125', prosupport => 'minmax_support', descr => 'maximum value of all money input values',
6946
6950
proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'money',
6947
6951
proargtypes => 'money', prosrc => 'aggregate_dummy' },
6948
- { oid => '2126', descr => 'maximum value of all timestamp input values',
6952
+ { oid => '2126', prosupport => 'minmax_support', descr => 'maximum value of all timestamp input values',
6949
6953
proname => 'max', prokind => 'a', proisstrict => 'f',
6950
6954
prorettype => 'timestamp', proargtypes => 'timestamp',
6951
6955
prosrc => 'aggregate_dummy' },
6952
- { oid => '2127',
6956
+ { oid => '2127', prosupport => 'minmax_support',
6953
6957
descr => 'maximum value of all timestamp with time zone input values',
6954
6958
proname => 'max', prokind => 'a', proisstrict => 'f',
6955
6959
prorettype => 'timestamptz', proargtypes => 'timestamptz',
6956
6960
prosrc => 'aggregate_dummy' },
6957
- { oid => '2128', descr => 'maximum value of all interval input values',
6961
+ { oid => '2128', prosupport => 'minmax_support', descr => 'maximum value of all interval input values',
6958
6962
proname => 'max', prokind => 'a', proisstrict => 'f',
6959
6963
prorettype => 'interval', proargtypes => 'interval',
6960
6964
prosrc => 'aggregate_dummy' },
6961
- { oid => '2129', descr => 'maximum value of all text input values',
6965
+ { oid => '2129', prosupport => 'minmax_support', descr => 'maximum value of all text input values',
6962
6966
proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'text',
6963
6967
proargtypes => 'text', prosrc => 'aggregate_dummy' },
6964
6968
{ oid => '2130', descr => 'maximum value of all numeric input values',
6965
6969
proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'numeric',
6966
6970
proargtypes => 'numeric', prosrc => 'aggregate_dummy' },
6967
- { oid => '2050', descr => 'maximum value of all anyarray input values',
6971
+ { oid => '2050', prosupport => 'minmax_support', descr => 'maximum value of all anyarray input values',
6968
6972
proname => 'max', prokind => 'a', proisstrict => 'f',
6969
6973
prorettype => 'anyarray', proargtypes => 'anyarray',
6970
6974
prosrc => 'aggregate_dummy' },
6971
- { oid => '8595', descr => 'maximum value of all record input values',
6975
+ { oid => '8595', prosupport => 'minmax_support', descr => 'maximum value of all record input values',
6972
6976
proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'record',
6973
6977
proargtypes => 'record', prosrc => 'aggregate_dummy' },
6974
- { oid => '2244', descr => 'maximum value of all bpchar input values',
6978
+ { oid => '2244', prosupport => 'minmax_support', descr => 'maximum value of all bpchar input values',
6975
6979
proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'bpchar',
6976
6980
proargtypes => 'bpchar', prosrc => 'aggregate_dummy' },
6977
- { oid => '2797', descr => 'maximum value of all tid input values',
6981
+ { oid => '2797', prosupport => 'minmax_support', descr => 'maximum value of all tid input values',
6978
6982
proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'tid',
6979
6983
proargtypes => 'tid', prosrc => 'aggregate_dummy' },
6980
- { oid => '3564', descr => 'maximum value of all inet input values',
6984
+ { oid => '3564', prosupport => 'minmax_support', descr => 'maximum value of all inet input values',
6981
6985
proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'inet',
6982
6986
proargtypes => 'inet', prosrc => 'aggregate_dummy' },
6983
- { oid => '4189', descr => 'maximum value of all pg_lsn input values',
6987
+ { oid => '4189', prosupport => 'minmax_support', descr => 'maximum value of all pg_lsn input values',
6984
6988
proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'pg_lsn',
6985
6989
proargtypes => 'pg_lsn', prosrc => 'aggregate_dummy' },
6986
- { oid => '5099', descr => 'maximum value of all xid8 input values',
6990
+ { oid => '5099', prosupport => 'minmax_support', descr => 'maximum value of all xid8 input values',
6987
6991
proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'xid8',
6988
6992
proargtypes => 'xid8', prosrc => 'aggregate_dummy' },
6989
- { oid => '8922', descr => 'maximum value of all bytea input values',
6993
+ { oid => '8922', prosupport => 'minmax_support', descr => 'maximum value of all bytea input values',
6990
6994
proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'bytea',
6991
6995
proargtypes => 'bytea', prosrc => 'aggregate_dummy' },
6992
6996
6993
- { oid => '2131', descr => 'minimum value of all bigint input values',
6997
+ { oid => '2131', prosupport => 'minmax_support', descr => 'minimum value of all bigint input values',
6994
6998
proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'int8',
6995
6999
proargtypes => 'int8', prosrc => 'aggregate_dummy' },
6996
- { oid => '2132', descr => 'minimum value of all integer input values',
7000
+ { oid => '2132', prosupport => 'minmax_support', descr => 'minimum value of all integer input values',
6997
7001
proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'int4',
6998
7002
proargtypes => 'int4', prosrc => 'aggregate_dummy' },
6999
- { oid => '2133', descr => 'minimum value of all smallint input values',
7003
+ { oid => '2133', prosupport => 'minmax_support', descr => 'minimum value of all smallint input values',
7000
7004
proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'int2',
7001
7005
proargtypes => 'int2', prosrc => 'aggregate_dummy' },
7002
- { oid => '2134', descr => 'minimum value of all oid input values',
7006
+ { oid => '2134', prosupport => 'minmax_support', descr => 'minimum value of all oid input values',
7003
7007
proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'oid',
7004
7008
proargtypes => 'oid', prosrc => 'aggregate_dummy' },
7005
- { oid => '2135', descr => 'minimum value of all float4 input values',
7009
+ { oid => '2135', prosupport => 'minmax_support', descr => 'minimum value of all float4 input values',
7006
7010
proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'float4',
7007
7011
proargtypes => 'float4', prosrc => 'aggregate_dummy' },
7008
- { oid => '2136', descr => 'minimum value of all float8 input values',
7012
+ { oid => '2136', prosupport => 'minmax_support', descr => 'minimum value of all float8 input values',
7009
7013
proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'float8',
7010
7014
proargtypes => 'float8', prosrc => 'aggregate_dummy' },
7011
- { oid => '2138', descr => 'minimum value of all date input values',
7015
+ { oid => '2138', prosupport => 'minmax_support', descr => 'minimum value of all date input values',
7012
7016
proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'date',
7013
7017
proargtypes => 'date', prosrc => 'aggregate_dummy' },
7014
- { oid => '2139', descr => 'minimum value of all time input values',
7018
+ { oid => '2139', prosupport => 'minmax_support', descr => 'minimum value of all time input values',
7015
7019
proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'time',
7016
7020
proargtypes => 'time', prosrc => 'aggregate_dummy' },
7017
- { oid => '2140',
7021
+ { oid => '2140', prosupport => 'minmax_support',
7018
7022
descr => 'minimum value of all time with time zone input values',
7019
7023
proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'timetz',
7020
7024
proargtypes => 'timetz', prosrc => 'aggregate_dummy' },
7021
- { oid => '2141', descr => 'minimum value of all money input values',
7025
+ { oid => '2141', prosupport => 'minmax_support', descr => 'minimum value of all money input values',
7022
7026
proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'money',
7023
7027
proargtypes => 'money', prosrc => 'aggregate_dummy' },
7024
- { oid => '2142', descr => 'minimum value of all timestamp input values',
7028
+ { oid => '2142', prosupport => 'minmax_support', descr => 'minimum value of all timestamp input values',
7025
7029
proname => 'min', prokind => 'a', proisstrict => 'f',
7026
7030
prorettype => 'timestamp', proargtypes => 'timestamp',
7027
7031
prosrc => 'aggregate_dummy' },
7028
- { oid => '2143',
7032
+ { oid => '2143', prosupport => 'minmax_support',
7029
7033
descr => 'minimum value of all timestamp with time zone input values',
7030
7034
proname => 'min', prokind => 'a', proisstrict => 'f',
7031
7035
prorettype => 'timestamptz', proargtypes => 'timestamptz',
7032
7036
prosrc => 'aggregate_dummy' },
7033
- { oid => '2144', descr => 'minimum value of all interval input values',
7037
+ { oid => '2144', prosupport => 'minmax_support', descr => 'minimum value of all interval input values',
7034
7038
proname => 'min', prokind => 'a', proisstrict => 'f',
7035
7039
prorettype => 'interval', proargtypes => 'interval',
7036
7040
prosrc => 'aggregate_dummy' },
7037
- { oid => '2145', descr => 'minimum value of all text values',
7041
+ { oid => '2145', prosupport => 'minmax_support', descr => 'minimum value of all text values',
7038
7042
proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'text',
7039
7043
proargtypes => 'text', prosrc => 'aggregate_dummy' },
7040
7044
{ oid => '2146', descr => 'minimum value of all numeric input values',
7041
7045
proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'numeric',
7042
7046
proargtypes => 'numeric', prosrc => 'aggregate_dummy' },
7043
- { oid => '2051', descr => 'minimum value of all anyarray input values',
7047
+ { oid => '2051', prosupport => 'minmax_support', descr => 'minimum value of all anyarray input values',
7044
7048
proname => 'min', prokind => 'a', proisstrict => 'f',
7045
7049
prorettype => 'anyarray', proargtypes => 'anyarray',
7046
7050
prosrc => 'aggregate_dummy' },
7047
- { oid => '8596', descr => 'minimum value of all record input values',
7051
+ { oid => '8596', prosupport => 'minmax_support', descr => 'minimum value of all record input values',
7048
7052
proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'record',
7049
7053
proargtypes => 'record', prosrc => 'aggregate_dummy' },
7050
- { oid => '2245', descr => 'minimum value of all bpchar input values',
7054
+ { oid => '2245', prosupport => 'minmax_support', descr => 'minimum value of all bpchar input values',
7051
7055
proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'bpchar',
7052
7056
proargtypes => 'bpchar', prosrc => 'aggregate_dummy' },
7053
- { oid => '2798', descr => 'minimum value of all tid input values',
7057
+ { oid => '2798', prosupport => 'minmax_support', descr => 'minimum value of all tid input values',
7054
7058
proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'tid',
7055
7059
proargtypes => 'tid', prosrc => 'aggregate_dummy' },
7056
- { oid => '3565', descr => 'minimum value of all inet input values',
7060
+ { oid => '3565', prosupport => 'minmax_support', descr => 'minimum value of all inet input values',
7057
7061
proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'inet',
7058
7062
proargtypes => 'inet', prosrc => 'aggregate_dummy' },
7059
- { oid => '4190', descr => 'minimum value of all pg_lsn input values',
7063
+ { oid => '4190', prosupport => 'minmax_support', descr => 'minimum value of all pg_lsn input values',
7060
7064
proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'pg_lsn',
7061
7065
proargtypes => 'pg_lsn', prosrc => 'aggregate_dummy' },
7062
- { oid => '5100', descr => 'minimum value of all xid8 input values',
7066
+ { oid => '5100', prosupport => 'minmax_support', descr => 'minimum value of all xid8 input values',
7063
7067
proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'xid8',
7064
7068
proargtypes => 'xid8', prosrc => 'aggregate_dummy' },
7065
- { oid => '8923', descr => 'minimum value of all bytea input values',
7069
+ { oid => '8923', prosupport => 'minmax_support', descr => 'minimum value of all bytea input values',
7066
7070
proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'bytea',
7067
7071
proargtypes => 'bytea', prosrc => 'aggregate_dummy' },
7068
7072
0 commit comments