Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1trwNP-00CKJm-Vp for pgsql-hackers@arkaria.postgresql.org; Tue, 11 Mar 2025 09:58:20 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1trwNO-00CcNB-Cf for pgsql-hackers@arkaria.postgresql.org; Tue, 11 Mar 2025 09:58:18 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1trwNO-00CcMC-1z for pgsql-hackers@lists.postgresql.org; Tue, 11 Mar 2025 09:58:18 +0000 Received: from forward500d.mail.yandex.net ([178.154.239.208]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1trwNJ-002Clg-2b for pgsql-hackers@lists.postgresql.org; Tue, 11 Mar 2025 09:58:17 +0000 Received: from mail-nwsmtp-smtp-production-main-63.klg.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-63.klg.yp-c.yandex.net [IPv6:2a02:6b8:c43:4881:0:640:419a:0]) by forward500d.mail.yandex.net (Yandex) with ESMTPS id 03C0E61563; Tue, 11 Mar 2025 12:58:10 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-63.klg.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id 6wmsHuCLliE0-KYKYB7nA; Tue, 11 Mar 2025 12:58:09 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tantorlabs.com; s=mail; t=1741687089; bh=LRmQwyJmG3fyRAKjZhYc4zljaLjPwkGUPkh1DxQbHmY=; h=From:In-Reply-To:Cc:Date:References:To:Subject:Message-ID; b=UmYuwsLqcyMSQyyIBPFmRECyAyd/Uqfzd/7ELgG1slSXob8Wtq75QlFlKijVah/U5 NdXm6MGQfYtSjvv2CPNOcidbAxfiR6TciwTVImJdEeRyWW/08Gh44WHB6+koUCr/Gv 312lirJHk+y9n69MoxT3dBmV0Y+QvZ6xSYOihyYQ= Authentication-Results: mail-nwsmtp-smtp-production-main-63.klg.yp-c.yandex.net; dkim=pass header.i=@tantorlabs.com Message-ID: Date: Tue, 11 Mar 2025 12:58:06 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: explain analyze rows=%.0f To: Robert Haas Cc: Matthias van de Meent , Tom Lane , Andrei Lepikhov , pgsql-hackers@lists.postgresql.org, Guillaume Lelarge , Matheus Alcantara , Alena Rybakina References: <3737950.1740182671@sss.pgh.pa.us> <3816053.1740190267@sss.pgh.pa.us> <40663fc5-edac-4b45-a2aa-a76976700ed9@tantorlabs.com> <432c75b0-be5f-4836-b46b-98c505eaad28@postgrespro.ru> Content-Language: en-US From: Ilia Evdokimov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi, In the stats_ext regression test, there is a function check_estimated_rows that returns actual rows as an integer. Currently, none of the test cases produce a non-zero fractional part in actual rows. The question is: should this function be modified to return a fractional number instead of an integer? Personally, I don’t see much value in doing so, because the purpose of the test is to compare the estimated row count with the actual number of rows. It is also unlikely that there will be test cases where loops > 1, and the presence of a fractional part does not change the essence of the test. What do you think? -- Best regards, Ilia Evdokimov, Tantor Labs LLC.