Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Silence compiler warning
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 30 Nov 2018 13:20:49 +0000 (10:20 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 30 Nov 2018 13:20:49 +0000 (10:20 -0300)
My original coding was questionable anyway.

Reported-by: Sergei Kornilov
Discussion: https://postgr.es/m/9645101543575886@myt6-27270b78ac4f.qloud-c.yandex.net

src/backend/tcop/postgres.c

index 9a948f825df789e62c9350f4a27018097f5ccf4c..5ab7d3cd8de782799787140e3d5ce536272e2079 100644 (file)
@@ -2244,12 +2244,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 unecessary random() call
-        * if log_statement_sample_rate = 1.
+        * if log_statement_sample_rate = 1.  But don't compute any of this
+        * unless needed.
         */
-       if (exceeded)
-           in_sample = log_statement_sample_rate != 0 &&
-               (log_statement_sample_rate == 1 ||
-                random() <= log_statement_sample_rate * MAX_RANDOM_VALUE);
+       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_duration)
        {