postgres.git / summary / log / commit / refs
commit d8453ccfbfd6bb1782e71beb28acf4025a9a01ce
Author: Tomas Vondra <tomas.vondra@postgresql.org>
Date: Sun Aug 04 18:19:54 2019 +0000
First released in: 13.0, 12.0
Revert "Silence compiler warning"
This reverts commit 9dc122585551516309c9362e673effdbf3bd79bd.
As committed, statement sampling used the existing duration threshold
(log_min_duration_statement) when decide which statements to sample.
The issue is that even the longest statements are subject to sampling,
and so may not end up logged. An improvement was proposed, introducing
a second duration threshold, but it would not be backwards compatible.
So we've decided to revert this feature - the separate threshold should
be part of the feature itself.
Discussion: https://postgr.es/m/CAFj8pRDS8tQ3Wviw9%3DAvODyUciPSrGeMhJi_WPE%2BEB8%2B4gLL-Q%40mail.gmail.com
src/backend/tcop/postgres.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index 44a59e1d4fb..f010aa884ce 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -2236,14 +2236,13 @@ check_log_duration(char *msec_str, bool was_logged)
/*
* Do not log if log_statement_sample_rate = 0. Log a sample if
- * log_statement_sample_rate <= 1 and avoid unnecessary random() call
- * if log_statement_sample_rate = 1. But don't compute any of this
- * unless needed.
+ * log_statement_sample_rate <= 1 and avoid unecessary random() call
+ * if log_statement_sample_rate = 1.
*/
- in_sample = exceeded &&
- log_statement_sample_rate != 0 &&
- (log_statement_sample_rate == 1 ||
- random() <= log_statement_sample_rate * MAX_RANDOM_VALUE);
+ if (exceeded)
+ in_sample = log_statement_sample_rate != 0 &&
+ (log_statement_sample_rate == 1 ||
+ random() <= log_statement_sample_rate * MAX_RANDOM_VALUE);
if ((exceeded && in_sample) || log_duration || xact_is_sampled)
{
[parent: df521ab79547]