mirror of
https://github.com/postgres/postgres.git
synced 2025-05-12 16:21:30 +03:00
Prevent core dump in contrib version of autovacuum when a table has been
dropped. Per report from daveg (not his patch, though).
This commit is contained in:
parent
52e98f8415
commit
01145f963f
@ -142,7 +142,7 @@ init_table_info(PGresult *res, int row, db_info * dbi)
|
||||
void
|
||||
update_table_thresholds(db_info * dbi, tbl_info * tbl, int vacuum_type)
|
||||
{
|
||||
PGresult *res = NULL;
|
||||
PGresult *res;
|
||||
int disconnect = 0;
|
||||
char query[128];
|
||||
|
||||
@ -156,7 +156,7 @@ update_table_thresholds(db_info * dbi, tbl_info * tbl, int vacuum_type)
|
||||
{
|
||||
snprintf(query, sizeof(query), PAGES_QUERY, tbl->relid);
|
||||
res = send_query(query, dbi);
|
||||
if (res != NULL)
|
||||
if (res != NULL && PQntuples(res) > 0)
|
||||
{
|
||||
tbl->reltuples =
|
||||
atof(PQgetvalue(res, 0, PQfnumber(res, "reltuples")));
|
||||
@ -178,8 +178,6 @@ update_table_thresholds(db_info * dbi, tbl_info * tbl, int vacuum_type)
|
||||
(args->analyze_base_threshold + args->analyze_scaling_factor * tbl->reltuples);
|
||||
tbl->CountAtLastAnalyze = tbl->curr_analyze_count;
|
||||
|
||||
PQclear(res);
|
||||
|
||||
/*
|
||||
* If the stats collector is reporting fewer updates then we
|
||||
* have on record then the stats were probably reset, so we
|
||||
@ -192,6 +190,8 @@ update_table_thresholds(db_info * dbi, tbl_info * tbl, int vacuum_type)
|
||||
tbl->CountAtLastVacuum = tbl->curr_vacuum_count;
|
||||
}
|
||||
}
|
||||
|
||||
PQclear(res);
|
||||
}
|
||||
if (disconnect)
|
||||
db_disconnect(dbi);
|
||||
|
Loading…
x
Reference in New Issue
Block a user