diff options
Diffstat (limited to 'src/backend/commands/copy.c')
-rw-r--r-- | src/backend/commands/copy.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c index 09f40667f68..c4104e4d9d5 100644 --- a/src/backend/commands/copy.c +++ b/src/backend/commands/copy.c @@ -1993,6 +1993,11 @@ CopyFrom(CopyState cstate) * after xact cleanup. Note that the stronger test of exactly * which subtransaction created it is crucial for correctness * of this optimisation. + * + * Note that because the test is unreliable in case of relcache reset + * we cannot guarantee that we can honour the request to FREEZE. + * If we cannot honour the request we do so silently, firstly to + * avoid noise for the user and also to avoid obscure test failures. */ if (cstate->freeze && ThereAreNoPriorRegisteredSnapshots() && @@ -2001,11 +2006,6 @@ CopyFrom(CopyState cstate) hi_options |= HEAP_INSERT_FROZEN; } - if (cstate->freeze && (hi_options & HEAP_INSERT_FROZEN) == 0) - ereport(NOTICE, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("FREEZE option specified but pre-conditions not met"))); - /* * We need a ResultRelInfo so we can use the regular executor's * index-entry-making machinery. (There used to be a huge amount of code |