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 1s0Mj8-003SXe-KD for pgsql-hackers@arkaria.postgresql.org; Fri, 26 Apr 2024 14:39:03 +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 1s0Mj5-00BwNw-QR for pgsql-hackers@arkaria.postgresql.org; Fri, 26 Apr 2024 14:39:00 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1s0Mj5-00BwNn-B5 for pgsql-hackers@lists.postgresql.org; Fri, 26 Apr 2024 14:39:00 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1s0Mj3-000Bjr-1f for pgsql-hackers@postgresql.org; Fri, 26 Apr 2024 14:38:59 +0000 Received: from [172.30.8.246] (unknown [172.30.8.246]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: a.voloshin@postgrespro.ru) by mail.postgrespro.ru (Postfix/587) with ESMTPSA id 25A54E20C32; Fri, 26 Apr 2024 17:38:54 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1714142334; bh=F7m9wIGbjtPDI2cgoNYzoVyOGPXBV2HOMIw4nNYe45Q=; h=Message-ID:Date:User-Agent:Subject:To:Cc:References:From: In-Reply-To:From; b=VcH5U3n30ypgDRVm6rwyHibGXWDSR3H2GSp/juOk/5p3XAW7nALHBnmDVaNPSDVfz A11mVbRUuCK3xJn0qEU8XT4Oaq9oEI/rWkg8fjTSoO4S6WEW29gOZ2dS3I1sjRSEKp P5rR8XQs9/TDGzor80p/olrZrFuyGO6GuqP5nD8AV49F1BLpE9RpgtdgzHkeEf8cYF 9BkXXTQLsBXtWyZwCMqjrojHdN6gvv5782mc1pi0ZaToQWq2Zx1W2cgKzJffZ53dn1 u9AfLnYXMh+LEpk//0emFoIHIjf+IxwmPkcaEbRaO43PgjfGDKGpB0u6xq1ofAXy+f EAolGKxFrW+tA== Content-Type: multipart/mixed; boundary="------------Ls82bFjXdLenb16PnYNl7DDt" Message-ID: <81b84b74-01ad-4782-9114-86ff842b1fd7@postgrespro.ru> Date: Fri, 26 Apr 2024 17:38:53 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: pgsql: psql: add an optional execution-count limit to \watch. To: Tom Lane Cc: Pg Hackers , Alexander Korotkov , Andrew Dunstan , Aleksander Alekseev References: <2929174.1680876023@sss.pgh.pa.us> <4032363.1681134882@sss.pgh.pa.us> <4076950.1681139381@sss.pgh.pa.us> <2748103.1681839252@sss.pgh.pa.us> <5ed7d3e2-ca7e-40ad-9de9-e7648576cc01@postgrespro.ru> <4051932.1714098047@sss.pgh.pa.us> Content-Language: en-US From: Anton Voloshin In-Reply-To: <4051932.1714098047@sss.pgh.pa.us> X-KSMG-AntiPhishing: NotDetected, bases: 2024/04/26 12:07:00 X-KSMG-AntiSpam-Interceptor-Info: not scanned X-KSMG-AntiSpam-Status: not scanned, disabled by settings X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.1.0.7854, bases: 2024/04/26 12:55:00 #24975837 X-KSMG-AntiVirus-Status: NotDetected, skipped X-KSMG-LinksScanning: not scanned, disabled by settings X-KSMG-Message-Action: skipped X-KSMG-Rule-ID: 1 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------Ls82bFjXdLenb16PnYNl7DDt Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 26/04/2024 05:20, Tom Lane wrote: > Haven't we worked around that everywhere it matters, in commits such > as 8421f6bce and 605062227? Yes, needing 8421f6bce and 605062227 was, perhaps, surprising, but reasonable. Unlike breaking floating point constants in the source code. But, I guess, you're right and, since it does look like a Perl bug, we'll have to work around that in all places where we use floating-point constants in Perl code, which are surprisingly few. > For me, check-world passes under > LANG=ru_RU, even with perl 5.38.2 (where I do confirm that your > test script fails). The buildfarm isn't unhappy either. Indeed, check-world seems to run fine on my machine and on the bf as well. Grepping and browsing through, I've only found three spots with \d\.\d directly in Perl code as a float, only one of them needs correction. 1. src/test/perl/PostgreSQL/Test/Kerberos.pm in master src/test/kerberos/t/001_auth.pl in REL_16_STABLE > if ($krb5_version >= 1.15) I guess adding use locale ':numeric' would be easiest workaround here. Alternatively, we could also split version into krb5_major_version and krb5_minor_version while parsing krb5-config --version's output above, but I don't think that's warranted. So I suggest something along the lines of 0001-use-numeric-locale-in-kerberos-test-rel16.patch and *-master.patch (attached, REL_16 and master need this change in different places). I did verify by providing fake 'krb5-config' that before the fix, with LANG=ru_RU.UTF-8 and Perl 5.38.2 and with, say, krb5 "version" 1.13 it would still add the "listen" lines to kdc.conf by mistake (presumably, confusing some versions of kerberos). 2 and 3. contrib/intarray/bench/create_test.pl > if (rand() < 0.7) and > if ($#sect < 0 || rand() < 0.1) PostgreSQL::Test::Utils is not used there, so it's OK, no change needed. I did not find any other float constants in .pl/.pm files in master (I could have missed something). > Particularly in > this way --- what are we supposed to do, write "if (0 < 0,5)"? > That means something else. Yep. I will try to report this to Perl community later. -- Anton Voloshin Postgres Professional, The Russian Postgres Company https://postgrespro.ru --------------Ls82bFjXdLenb16PnYNl7DDt Content-Type: text/x-patch; charset=UTF-8; name="0001-use-numeric-locale-in-kerberos-test-rel16.patch" Content-Disposition: attachment; filename="0001-use-numeric-locale-in-kerberos-test-rel16.patch" Content-Transfer-Encoding: base64 RnJvbSBiYzE4N2NkOTVmOTFkNWE3ZmU5N2JhNGNjZmFmNzViNzdlMmYwM2M4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbiBWb2xvc2hpbiA8YS52b2xvc2hpbkBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogRnJpLCAyNiBBcHIgMjAyNCAxMjoyNDo0OSArMDAwMApTdWJq ZWN0OiBbUEFUQ0hdIHVzZSBudW1lcmljIGxvY2FsZSBpbiBrZXJiZXJvcyB0ZXN0IHRvIHdv cmsgYXJvdW5kIHBlcmwgYnVnCgpBZnRlciBiMTI0MTA0ZTcgd2UgYmVjYW1lIHN1c2NlcHRp YmxlIHRvIFBlcmwgYnVnIChhdCBsZWFzdCBvbiBQZXJsCjUuMzguMiksIHdoZXJlIG9uIGxv Y2FsZXMgd2l0aCBub24tZG90IGZyYWN0aW9uYWwgcGFydCBzZXBhcmF0b3IsCmZsb2F0aW5n LXBvaW50IGNvbnN0YW50cyBpbiBwZXJsIHNvdXJjZSBhcmUgYnJva2VuICgxLjE1IHdvdWxk IGJlICcxJykuCldvcmsgYXJvdW5kIHRoYXQgYnkgdXNpbmcgbnVtZXJpYyBsb2NhbGUgaW4g dGhpcyBmaWxlLgotLS0KIHNyYy90ZXN0L2tlcmJlcm9zL3QvMDAxX2F1dGgucGwgfCAyICsr CiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvc3JjL3Rl c3Qva2VyYmVyb3MvdC8wMDFfYXV0aC5wbCBiL3NyYy90ZXN0L2tlcmJlcm9zL3QvMDAxX2F1 dGgucGwKaW5kZXggZDc0ZTRhZjQ2NGUuLjk0NzVmMTRkNTBlIDEwMDY0NAotLS0gYS9zcmMv dGVzdC9rZXJiZXJvcy90LzAwMV9hdXRoLnBsCisrKyBiL3NyYy90ZXN0L2tlcmJlcm9zL3Qv MDAxX2F1dGgucGwKQEAgLTIzLDYgKzIzLDggQEAgdXNlIFBvc3RncmVTUUw6OlRlc3Q6OlV0 aWxzOwogdXNlIFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXI7CiB1c2UgVGVzdDo6TW9yZTsK IHVzZSBUaW1lOjpIaVJlcyBxdyh1c2xlZXApOworIyBXb3JrIGFyb3VuZCB0aGUgUGVybCA1 LjM4LjIgYnVnOiB3ZSBuZWVkIGZsb2F0aW5nLXBvaW50IGNvbnN0YW50cy4KK3VzZSBsb2Nh bGUgJzpudW1lcmljJzsKIAogaWYgKCRFTlZ7d2l0aF9nc3NhcGl9IG5lICd5ZXMnKQogewot LSAKMi40My4wCgo= --------------Ls82bFjXdLenb16PnYNl7DDt Content-Type: text/x-patch; charset=UTF-8; name="0001-use-numeric-locale-in-kerberos-test-master.patch" Content-Disposition: attachment; filename="0001-use-numeric-locale-in-kerberos-test-master.patch" Content-Transfer-Encoding: base64 RnJvbSBkNmVlOWE1NTY3Y2VhNTAzYzIxMWZhNDFhMGY3NDFjNzFhYTYwYWQ1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbiBWb2xvc2hpbiA8YS52b2xvc2hpbkBwb3N0 Z3Jlc3Byby5ydT4KRGF0ZTogRnJpLCAyNiBBcHIgMjAyNCAxNDoyMzoyOCArMDAwMApTdWJq ZWN0OiBbUEFUQ0hdIHVzZSBudW1lcmljIGxvY2FsZSBpbiBrZXJiZXJvcyB0ZXN0IHRvIHdv cmsgYXJvdW5kIHBlcmwgYnVnCgpBZnRlciBiMTI0MTA0ZTcgd2UgYmVjYW1lIHN1c2NlcHRp YmxlIHRvIFBlcmwgYnVnIChhdCBsZWFzdCBvbiBQZXJsCjUuMzguMiksIHdoZXJlIG9uIGxv Y2FsZXMgd2l0aCBub24tZG90IGZyYWN0aW9uYWwgcGFydCBzZXBhcmF0b3IsCmZsb2F0aW5n LXBvaW50IGNvbnN0YW50cyBpbiBwZXJsIHNvdXJjZSBhcmUgYnJva2VuICgxLjE1IHdvdWxk IGJlICcxJykuCldvcmsgYXJvdW5kIHRoYXQgYnkgdXNpbmcgbnVtZXJpYyBsb2NhbGUgaW4g dGhpcyBmaWxlLgotLS0KIHNyYy90ZXN0L3BlcmwvUG9zdGdyZVNRTC9UZXN0L0tlcmJlcm9z LnBtIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3BlcmwvUG9zdGdyZVNRTC9UZXN0L0tlcmJlcm9zLnBtIGIvc3JjL3Rl c3QvcGVybC9Qb3N0Z3JlU1FML1Rlc3QvS2VyYmVyb3MucG0KaW5kZXggZjc4MTBkYTljMWQu LjJjMjljNjczMjllIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9wZXJsL1Bvc3RncmVTUUwvVGVz dC9LZXJiZXJvcy5wbQorKysgYi9zcmMvdGVzdC9wZXJsL1Bvc3RncmVTUUwvVGVzdC9LZXJi ZXJvcy5wbQpAQCAtOSw2ICs5LDggQEAgcGFja2FnZSBQb3N0Z3JlU1FMOjpUZXN0OjpLZXJi ZXJvczsKIHVzZSBzdHJpY3Q7CiB1c2Ugd2FybmluZ3MgRkFUQUwgPT4gJ2FsbCc7CiB1c2Ug UG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM7CisjIFdvcmsgYXJvdW5kIHRoZSBQZXJsIDUuMzgu MiBidWc6IHdlIG5lZWQgZmxvYXRpbmctcG9pbnQgY29uc3RhbnRzLgordXNlIGxvY2FsZSAn Om51bWVyaWMnOwogCiBvdXIgKCRrcmI1X2Jpbl9kaXIsICRrcmI1X3NiaW5fZGlyLCAka3Ji NV9jb25maWcsICRraW5pdCwgJGtsaXN0LAogCSAka2RiNV91dGlsLCAka2FkbWluX2xvY2Fs LCAka3JiNWtkYywKLS0gCjIuNDMuMAoK --------------Ls82bFjXdLenb16PnYNl7DDt--