mirror of https://github.com/postgres/postgres
Mark pg_stat_reset_shared as strict
This is the proper fix for bug #6082 about
pg_stat_reset_shared(NULL) causing a crash, and it reverts
commit 79aa44536f
on head.
The workaround of throwing an error from inside the function is
left on backbranches (including 9.1) since this change requires
a new initdb.
This commit is contained in:
parent
426cafc46c
commit
24e2d4b6ba
|
@ -1537,17 +1537,9 @@ pg_stat_reset(PG_FUNCTION_ARGS)
|
|||
Datum
|
||||
pg_stat_reset_shared(PG_FUNCTION_ARGS)
|
||||
{
|
||||
if (PG_ARGISNULL(0))
|
||||
/*
|
||||
* Same error message as in pgstat_reset_shared_counters(),
|
||||
* to keep translations the same.
|
||||
*/
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
|
||||
errmsg("unrecognized reset target: \"%s\"", "null"),
|
||||
errhint("Target must be \"bgwriter\".")));
|
||||
char *target = text_to_cstring(PG_GETARG_TEXT_PP(0));
|
||||
|
||||
pgstat_reset_shared_counters(text_to_cstring(PG_GETARG_TEXT_PP(0)));
|
||||
pgstat_reset_shared_counters(target);
|
||||
|
||||
PG_RETURN_VOID();
|
||||
}
|
||||
|
|
|
@ -53,6 +53,6 @@
|
|||
*/
|
||||
|
||||
/* yyyymmddN */
|
||||
#define CATALOG_VERSION_NO 201106211
|
||||
#define CATALOG_VERSION_NO 201107031
|
||||
|
||||
#endif
|
||||
|
|
|
@ -2663,7 +2663,7 @@ DATA(insert OID = 2230 ( pg_stat_clear_snapshot PGNSP PGUID 12 1 0 0 0 f f f f
|
|||
DESCR("statistics: discard current transaction's statistics snapshot");
|
||||
DATA(insert OID = 2274 ( pg_stat_reset PGNSP PGUID 12 1 0 0 0 f f f f f v 0 0 2278 "" _null_ _null_ _null_ _null_ pg_stat_reset _null_ _null_ _null_ ));
|
||||
DESCR("statistics: reset collected statistics for current database");
|
||||
DATA(insert OID = 3775 ( pg_stat_reset_shared PGNSP PGUID 12 1 0 0 0 f f f f f v 1 0 2278 "25" _null_ _null_ _null_ _null_ pg_stat_reset_shared _null_ _null_ _null_ ));
|
||||
DATA(insert OID = 3775 ( pg_stat_reset_shared PGNSP PGUID 12 1 0 0 0 f f f t f v 1 0 2278 "25" _null_ _null_ _null_ _null_ pg_stat_reset_shared _null_ _null_ _null_ ));
|
||||
DESCR("statistics: reset collected statistics shared across the cluster");
|
||||
DATA(insert OID = 3776 ( pg_stat_reset_single_table_counters PGNSP PGUID 12 1 0 0 0 f f f f f v 1 0 2278 "26" _null_ _null_ _null_ _null_ pg_stat_reset_single_table_counters _null_ _null_ _null_ ));
|
||||
DESCR("statistics: reset collected statistics for a single table or index in the current database");
|
||||
|
|
Loading…
Reference in New Issue