mirror of
https://github.com/postgres/postgres.git
synced 2025-06-11 20:28:21 +03:00
Fix crash of pg_stat_statements_info() without library loaded
Other code paths are already protected against this case, and _PG_init()
warns about that in pg_stat_statements.c. While on it, I have checked
the other extensions of the tree but did not notice any holes.
Oversight in 9fbc3f3
.
Author: Jaime Casanova
Reviewed-by: Julien Rouhaud
Discussion: https://postgr.es/m/CAJKUy5gF4=_=qhJ1VX_tSGFfjKHb9BvzhRYWSApJD=Bfwp2SBw@mail.gmail.com
This commit is contained in:
@ -1898,6 +1898,11 @@ pg_stat_statements_info(PG_FUNCTION_ARGS)
|
|||||||
Datum values[PG_STAT_STATEMENTS_INFO_COLS];
|
Datum values[PG_STAT_STATEMENTS_INFO_COLS];
|
||||||
bool nulls[PG_STAT_STATEMENTS_INFO_COLS];
|
bool nulls[PG_STAT_STATEMENTS_INFO_COLS];
|
||||||
|
|
||||||
|
if (!pgss || !pgss_hash)
|
||||||
|
ereport(ERROR,
|
||||||
|
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
|
||||||
|
errmsg("pg_stat_statements must be loaded via shared_preload_libraries")));
|
||||||
|
|
||||||
/* Build a tuple descriptor for our result type */
|
/* Build a tuple descriptor for our result type */
|
||||||
if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE)
|
if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE)
|
||||||
elog(ERROR, "return type must be a row type");
|
elog(ERROR, "return type must be a row type");
|
||||||
|
Reference in New Issue
Block a user