Revert "Silence compiler warning"
authorTomas Vondra <tomas.vondra@postgresql.org>
Sun, 4 Aug 2019 18:19:54 +0000 (20:19 +0200)
committerTomas Vondra <tomas.vondra@postgresql.org>
Sun, 4 Aug 2019 21:38:19 +0000 (23:38 +0200)
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

index a6505c7335b440a9cc3a39a0255e3b8f00c161ce..1679cce1f172f2f266d0732118e68077fd44e705 100644 (file)
@@ -2256,14 +2256,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)
                {