Fail BRIN control functions during recovery explicitly
They already fail anyway, but prior to this patch they raise an ugly error message about a lock that cannot be acquired. This just improves the message. Author: Masahiko Sawada Reported-by: Masahiko Sawada Discussion: https://postgr.es/m/CAD21AoBZau4g4_NUf3BKNd=CdYK+xaPdtJCzvOC1TxGdTiJx_Q@mail.gmail.com Reviewed-by: Kuntal Ghosh, Alexander Korotkov, Simon Riggs, Michaël Paquier, Álvaro Herrera
This commit is contained in:
parent
dc878ffedf
commit
74da7cda31
@ -871,6 +871,12 @@ brin_summarize_range(PG_FUNCTION_ARGS)
|
||||
Relation heapRel;
|
||||
double numSummarized = 0;
|
||||
|
||||
if (RecoveryInProgress())
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
|
||||
errmsg("recovery is in progress"),
|
||||
errhint("BRIN control functions cannot be executed during recovery.")));
|
||||
|
||||
if (heapBlk64 > BRIN_ALL_BLOCKRANGES || heapBlk64 < 0)
|
||||
{
|
||||
char *blk = psprintf(INT64_FORMAT, heapBlk64);
|
||||
@ -942,6 +948,12 @@ brin_desummarize_range(PG_FUNCTION_ARGS)
|
||||
Relation indexRel;
|
||||
bool done;
|
||||
|
||||
if (RecoveryInProgress())
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
|
||||
errmsg("recovery is in progress"),
|
||||
errhint("BRIN control functions cannot be executed during recovery.")));
|
||||
|
||||
if (heapBlk64 > MaxBlockNumber || heapBlk64 < 0)
|
||||
{
|
||||
char *blk = psprintf(INT64_FORMAT, heapBlk64);
|
||||
|
Loading…
x
Reference in New Issue
Block a user