Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oQYBB-0006CH-Dy for pgsql-hackers@arkaria.postgresql.org; Tue, 23 Aug 2022 17:59:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oQYB9-0007rk-Tu for pgsql-hackers@arkaria.postgresql.org; Tue, 23 Aug 2022 17:59:07 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oQYB9-0007ra-Dj for pgsql-hackers@lists.postgresql.org; Tue, 23 Aug 2022 17:59:07 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by magus.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oQYB6-0002vQ-HT for pgsql-hackers@postgresql.org; Tue, 23 Aug 2022 17:59:07 +0000 Received: from mail.postgrespro.ru (cyclops.postgrespro.ru [93.174.131.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mail.postgrespro.ru (Postfix) with ESMTPSA id BC33D21C3093; Tue, 23 Aug 2022 20:59:02 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mail; t=1661277542; bh=qOgZ5K0UNE/+QWWUyeTrJbwzf2E8uD1ng+dErNOVkx0=; h=Date:From:To:Cc:Subject:In-Reply-To:References; b=mvUBoyKIsPybkEYrKsGyAuyGx8qzcV31lgLGQ5mH7Z6Q3MmUFTyNGblrPJhBhhAd7 UQMiSdfSzCm62c7YupplwIz0/56C7iUQuAoGa/x0wh/Q2xdBDhUksFiJGPxzDrJTsS f7qQbA7r6gD7O62qV6JI8i1gkLnYn7h6fqaZCTlw= MIME-Version: 1.0 Date: Tue, 23 Aug 2022 20:59:02 +0300 From: Marina Polyakova To: pgsql-hackers@postgresql.org Cc: Peter Eisentraut , Julien Rouhaud , Daniel Verite , pryzby@telsasoft.com, AndrewBille@gmail.com, michael@paquier.xyz Subject: Re: ICU for global collation In-Reply-To: References: <87e93704-b7f7-71f6-161d-8713e6334ed3@enterprisedb.com> <704405ed-f1fa-d2a7-b9f9-48a07fb45648@enterprisedb.com> <20220625151930.GH22452@telsasoft.com> <20220626035124.t36putp232nfl5im@jrouhaud> <54b7bd53-ae10-6258-21e6-b799f7480803@enterprisedb.com> <97f2c29e-24d9-3660-60cf-9138c0c47d90@enterprisedb.com> <20220628013205.GH19662@telsasoft.com> <7d74b2d7-7fc6-f55b-3f77-c0e05569b64e@enterprisedb.com> User-Agent: Roundcube Webmail/1.4.11 Message-ID: <7ad26354e75259f59c4a6c6997b8ee32@postgrespro.ru> X-Sender: m.polyakova@postgrespro.ru Organization: Postgres Professional Content-Type: multipart/mixed; boundary="=_3bd1cb6c665687ef9b0f73ca6f03747a" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=_3bd1cb6c665687ef9b0f73ca6f03747a Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed My colleague Andrew Bille found another bug in master (b4e936859dc441102eb0b6fb7a104f3948c90490) and REL_15_STABLE (2c63b0930aee1bb5c265fad4a65c9d0b62b1f9da): pg_collation.colliculocale is not dumped. See check_icu_locale.sh: In the old cluster: SELECT collname, colliculocale FROM pg_collation WHERE collname = 'testcoll_backwards' collname | colliculocale --------------------+------------------- testcoll_backwards | @colBackwards=yes (1 row) In the new cluster: SELECT collname, colliculocale FROM pg_collation WHERE collname = 'testcoll_backwards' collname | colliculocale --------------------+--------------- testcoll_backwards | (1 row) diff_dump_colliculocale.patch works for me. -- Marina Polyakova Postgres Professional: http://www.postgrespro.com The Russian Postgres Company --=_3bd1cb6c665687ef9b0f73ca6f03747a Content-Transfer-Encoding: base64 Content-Type: text/plain; name=check_icu_locale.sh Content-Disposition: attachment; filename=check_icu_locale.sh; size=664 aW5pdGRiIC1EIGRhdGFfb2xkICYmCnBnX2N0bCAtRCBkYXRhX29sZCAtbCBsb2dmaWxlX29sZCBz dGFydCAmJgpwc3FsIC1hYyAiQ1JFQVRFIENPTExBVElPTiB0ZXN0Y29sbF9iYWNrd2FyZHMgKHBy b3ZpZGVyID0gaWN1LCBsb2NhbGUgPSAnQGNvbEJhY2t3YXJkcz15ZXMnKSIgcG9zdGdyZXMgJiYK ZWNobyAiSW4gdGhlIG9sZCBjbHVzdGVyOiIgJiYKcHNxbCAtYWMgIlNFTEVDVCBjb2xsbmFtZSwg Y29sbGljdWxvY2FsZSBGUk9NIHBnX2NvbGxhdGlvbiBXSEVSRSBjb2xsbmFtZSA9ICd0ZXN0Y29s bF9iYWNrd2FyZHMnIiBwb3N0Z3JlcyAmJgpwZ19kdW1wIHBvc3RncmVzID4gZHVtcF9wb3N0Z3Jl cy5zcWwgJiYKcGdfY3RsIC1EIGRhdGFfb2xkIHN0b3AgJiYKaW5pdGRiIC1EIGRhdGFfbmV3ICYm CnBnX2N0bCAtRCBkYXRhX25ldyAtbCBsb2dmaWxlX25ldyBzdGFydCAmJgpwc3FsIC12IE9OX0VS Uk9SX1NUT1A9MSAtZiBkdW1wX3Bvc3RncmVzLnNxbCBwb3N0Z3JlcyAmJgplY2hvICJJbiB0aGUg bmV3IGNsdXN0ZXI6IiAmJgpwc3FsIC1hYyAiU0VMRUNUIGNvbGxuYW1lLCBjb2xsaWN1bG9jYWxl IEZST00gcGdfY29sbGF0aW9uIFdIRVJFIGNvbGxuYW1lID0gJ3Rlc3Rjb2xsX2JhY2t3YXJkcyci IHBvc3RncmVzICYmCnBnX2N0bCAtRCBkYXRhX25ldyBzdG9wCg== --=_3bd1cb6c665687ef9b0f73ca6f03747a Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=diff_dump_colliculocale.patch Content-Disposition: attachment; filename=diff_dump_colliculocale.patch; size=5198 ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9NYWtlZmlsZSBiL3NyYy9iaW4vcGdfZHVtcC9N YWtlZmlsZQppbmRleCAyZjUyNGIwOWJmNTNhNTUwMzcwMTNkNzgxNDhmOGNiY2E0ZmE3ZWVlLi45 ZGM1YTc4NGRkMmQxY2U1OGE2Mjg0ZjE5YzU0NzMwMzY0Nzc5YzRkIDEwMDY0NAotLS0gYS9zcmMv YmluL3BnX2R1bXAvTWFrZWZpbGUKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL01ha2VmaWxlCkBAIC0x Nyw2ICsxNyw3IEBAIHRvcF9idWlsZGRpciA9IC4uLy4uLy4uCiBpbmNsdWRlICQodG9wX2J1aWxk ZGlyKS9zcmMvTWFrZWZpbGUuZ2xvYmFsCiAKIGV4cG9ydCBHWklQX1BST0dSQU09JChHWklQKQor ZXhwb3J0IHdpdGhfaWN1CiAKIG92ZXJyaWRlIENQUEZMQUdTIDo9IC1JJChsaWJwcV9zcmNkaXIp ICQoQ1BQRkxBR1MpCiBMREZMQUdTX0lOVEVSTkFMICs9IC1MJCh0b3BfYnVpbGRkaXIpL3NyYy9m ZV91dGlscyAtbHBnZmV1dGlscyAkKGxpYnBxX3BncG9ydCkKZGlmZiAtLWdpdCBhL3NyYy9iaW4v cGdfZHVtcC9wZ19kdW1wLmMgYi9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jCmluZGV4IDJjNjg5 MTU3MzI5NmIzOTVjNWJkNmI2MjdkMDYxZGU2NTczNTVlOWMuLmU4ZThmNjllMzBjOGE3ODdlNWRm ZjE1N2Y1ZDE2MTk5MTc2MzhkN2QgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1w LmMKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYwpAQCAtMTMwODQsOSArMTMwODQsMTEg QEAgZHVtcENvbGxhdGlvbihBcmNoaXZlICpmb3V0LCBjb25zdCBDb2xsSW5mbyAqY29sbGluZm8p CiAJaW50CQkJaV9jb2xsaXNkZXRlcm1pbmlzdGljOwogCWludAkJCWlfY29sbGNvbGxhdGU7CiAJ aW50CQkJaV9jb2xsY3R5cGU7CisJaW50CQkJaV9jb2xsaWN1bG9jYWxlOwogCWNvbnN0IGNoYXIg KmNvbGxwcm92aWRlcjsKIAljb25zdCBjaGFyICpjb2xsY29sbGF0ZTsKIAljb25zdCBjaGFyICpj b2xsY3R5cGU7CisJY29uc3QgY2hhciAqY29sbGljdWxvY2FsZTsKIAogCS8qIERvIG5vdGhpbmcg aW4gZGF0YS1vbmx5IGR1bXAgKi8KIAlpZiAoZG9wdC0+ZGF0YU9ubHkpCkBAIC0xMzExNyw2ICsx MzExOSwxMyBAQCBkdW1wQ29sbGF0aW9uKEFyY2hpdmUgKmZvdXQsIGNvbnN0IENvbGxJbmZvICpj b2xsaW5mbykKIAkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksCiAJCQkJCQkJICJ0cnVlIEFT IGNvbGxpc2RldGVybWluaXN0aWMsICIpOwogCisJaWYgKGZvdXQtPnJlbW90ZVZlcnNpb24gPj0g MTUwMDAwKQorCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwKKwkJCQkJCQkgImNvbGxpY3Vs b2NhbGUsICIpOworCWVsc2UKKwkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksCisJCQkJCQkJ ICJOVUxMIEFTIGNvbGxpY3Vsb2NhbGUsICIpOworCiAJYXBwZW5kUFFFeHBCdWZmZXIocXVlcnks CiAJCQkJCSAgImNvbGxjb2xsYXRlLCAiCiAJCQkJCSAgImNvbGxjdHlwZSAiCkBAIC0xMzEzMCwx MCArMTMxMzksMjQgQEAgZHVtcENvbGxhdGlvbihBcmNoaXZlICpmb3V0LCBjb25zdCBDb2xsSW5m byAqY29sbGluZm8pCiAJaV9jb2xsaXNkZXRlcm1pbmlzdGljID0gUFFmbnVtYmVyKHJlcywgImNv bGxpc2RldGVybWluaXN0aWMiKTsKIAlpX2NvbGxjb2xsYXRlID0gUFFmbnVtYmVyKHJlcywgImNv bGxjb2xsYXRlIik7CiAJaV9jb2xsY3R5cGUgPSBQUWZudW1iZXIocmVzLCAiY29sbGN0eXBlIik7 CisJaV9jb2xsaWN1bG9jYWxlID0gUFFmbnVtYmVyKHJlcywgImNvbGxpY3Vsb2NhbGUiKTsKIAog CWNvbGxwcm92aWRlciA9IFBRZ2V0dmFsdWUocmVzLCAwLCBpX2NvbGxwcm92aWRlcik7Ci0JY29s bGNvbGxhdGUgPSBQUWdldHZhbHVlKHJlcywgMCwgaV9jb2xsY29sbGF0ZSk7Ci0JY29sbGN0eXBl ID0gUFFnZXR2YWx1ZShyZXMsIDAsIGlfY29sbGN0eXBlKTsKKworCWlmICghUFFnZXRpc251bGwo cmVzLCAwLCBpX2NvbGxjb2xsYXRlKSkKKwkJY29sbGNvbGxhdGUgPSBQUWdldHZhbHVlKHJlcywg MCwgaV9jb2xsY29sbGF0ZSk7CisJZWxzZQorCQljb2xsY29sbGF0ZSA9IE5VTEw7CisKKwlpZiAo IVBRZ2V0aXNudWxsKHJlcywgMCwgaV9jb2xsY3R5cGUpKQorCQljb2xsY3R5cGUgPSBQUWdldHZh bHVlKHJlcywgMCwgaV9jb2xsY3R5cGUpOworCWVsc2UKKwkJY29sbGN0eXBlID0gTlVMTDsKKwor CWlmICghUFFnZXRpc251bGwocmVzLCAwLCBpX2NvbGxpY3Vsb2NhbGUpKQorCQljb2xsaWN1bG9j YWxlID0gUFFnZXR2YWx1ZShyZXMsIDAsIGlfY29sbGljdWxvY2FsZSk7CisJZWxzZQorCQljb2xs aWN1bG9jYWxlID0gTlVMTDsKIAogCWFwcGVuZFBRRXhwQnVmZmVyKGRlbHEsICJEUk9QIENPTExB VElPTiAlcztcbiIsCiAJCQkJCSAgZm10UXVhbGlmaWVkRHVtcGFibGUoY29sbGluZm8pKTsKQEAg LTEzMTU2LDE3ICsxMzE3OSwyOCBAQCBkdW1wQ29sbGF0aW9uKEFyY2hpdmUgKmZvdXQsIGNvbnN0 IENvbGxJbmZvICpjb2xsaW5mbykKIAlpZiAoc3RyY21wKFBRZ2V0dmFsdWUocmVzLCAwLCBpX2Nv bGxpc2RldGVybWluaXN0aWMpLCAiZiIpID09IDApCiAJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHEs ICIsIGRldGVybWluaXN0aWMgPSBmYWxzZSIpOwogCi0JaWYgKHN0cmNtcChjb2xsY29sbGF0ZSwg Y29sbGN0eXBlKSA9PSAwKQorCWlmIChjb2xsaWN1bG9jYWxlICE9IE5VTEwpCiAJewogCQlhcHBl bmRQUUV4cEJ1ZmZlclN0cihxLCAiLCBsb2NhbGUgPSAiKTsKLQkJYXBwZW5kU3RyaW5nTGl0ZXJh bEFIKHEsIGNvbGxjb2xsYXRlLCBmb3V0KTsKKwkJYXBwZW5kU3RyaW5nTGl0ZXJhbEFIKHEsIGNv bGxpY3Vsb2NhbGUsIGZvdXQpOwogCX0KIAllbHNlCiAJewotCQlhcHBlbmRQUUV4cEJ1ZmZlclN0 cihxLCAiLCBsY19jb2xsYXRlID0gIik7Ci0JCWFwcGVuZFN0cmluZ0xpdGVyYWxBSChxLCBjb2xs Y29sbGF0ZSwgZm91dCk7Ci0JCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHEsICIsIGxjX2N0eXBlID0g Iik7Ci0JCWFwcGVuZFN0cmluZ0xpdGVyYWxBSChxLCBjb2xsY3R5cGUsIGZvdXQpOworCQlBc3Nl cnQoY29sbGNvbGxhdGUgIT0gTlVMTCk7CisJCUFzc2VydChjb2xsY3R5cGUgIT0gTlVMTCk7CisK KwkJaWYgKHN0cmNtcChjb2xsY29sbGF0ZSwgY29sbGN0eXBlKSA9PSAwKQorCQl7CisJCQlhcHBl bmRQUUV4cEJ1ZmZlclN0cihxLCAiLCBsb2NhbGUgPSAiKTsKKwkJCWFwcGVuZFN0cmluZ0xpdGVy YWxBSChxLCBjb2xsY29sbGF0ZSwgZm91dCk7CisJCX0KKwkJZWxzZQorCQl7CisJCQlhcHBlbmRQ UUV4cEJ1ZmZlclN0cihxLCAiLCBsY19jb2xsYXRlID0gIik7CisJCQlhcHBlbmRTdHJpbmdMaXRl cmFsQUgocSwgY29sbGNvbGxhdGUsIGZvdXQpOworCQkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocSwg IiwgbGNfY3R5cGUgPSAiKTsKKwkJCWFwcGVuZFN0cmluZ0xpdGVyYWxBSChxLCBjb2xsY3R5cGUs IGZvdXQpOworCQl9CiAJfQogCiAJLyoKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC90LzAw Ml9wZ19kdW1wLnBsIGIvc3JjL2Jpbi9wZ19kdW1wL3QvMDAyX3BnX2R1bXAucGwKaW5kZXggYjEw ZTFjNGMwZDRkMjdiZjFhNDI3YzhjZmUzNmY4ZGVhNGRhZDc4YS4uN2Y0YmUyNmJjZTZmYjM3Yjgz ZTQ3MzVjNTQxYTIyMTU4NDFmNWU5NSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3QvMDAy X3BnX2R1bXAucGwKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3QvMDAyX3BnX2R1bXAucGwKQEAgLTE1 OTMsNiArMTU5MywxNSBAQCBteSAldGVzdHMgPSAoCiAJCWxpa2UgICAgICA9PiB7ICVmdWxsX3J1 bnMsIHNlY3Rpb25fcHJlX2RhdGEgPT4gMSwgfSwKIAl9LAogCisJJ0NSRUFURSBDT0xMQVRJT04g aWN1X2NvbGxhdGlvbicgPT4geworCQljcmVhdGVfb3JkZXIgPT4gNzYsCisJCWNyZWF0ZV9zcWwg ICA9PiAiQ1JFQVRFIENPTExBVElPTiBpY3VfY29sbGF0aW9uIChQUk9WSURFUiA9IGljdSwgTE9D QUxFID0gJ0MnKTsiLAorCQlyZWdleHAgPT4KKwkJICBxci9DUkVBVEUgQ09MTEFUSU9OIHB1Ymxp Yy5pY3VfY29sbGF0aW9uIFwocHJvdmlkZXIgPSBpY3UsIGxvY2FsZSA9ICdDJygsIHZlcnNpb24g PSAnW14nXSonKT9cKTsvbSwKKwkJaWN1X2NvbGxhdGlvbiA9PiAxLAorCQlsaWtlICAgICAgPT4g eyAlZnVsbF9ydW5zLCBzZWN0aW9uX3ByZV9kYXRhID0+IDEsIH0sCisJfSwKKwogCSdDUkVBVEUg Q0FTVCBGT1IgdGltZXN0YW1wdHonID0+IHsKIAkJY3JlYXRlX29yZGVyID0+IDUxLAogCQljcmVh dGVfc3FsID0+CkBAIC0zOTMxLDYgKzM5NDAsMTEgQEAgZm9yZWFjaCBteSAkdGVzdCAoCiAJCSR0 ZXN0X2RiID0gJHRlc3RzeyR0ZXN0fS0+e2RhdGFiYXNlfTsKIAl9CiAKKwlpZiAoZGVmaW5lZCgk dGVzdHN7JHRlc3R9LT57aWN1X2NvbGxhdGlvbn0pKQorCXsKKwkJJHRlc3RzeyR0ZXN0fS0+e2Nv bGxhdGlvbn0gPSAxOworCX0KKwogCWlmICgkdGVzdHN7JHRlc3R9LT57Y3JlYXRlX3NxbH0pCiAJ ewogCkBAIC0zOTQwLDYgKzM5NTQsMTIgQEAgZm9yZWFjaCBteSAkdGVzdCAoCiAJCQluZXh0Owog CQl9CiAKKwkJIyBTa2lwIGFueSBpY3UtcmVsYXRlZCBjb2xsYXRpb24gY29tbWFuZHMgaWYgYnVp bGQgd2FzIHdpdGhvdXQgaWN1CisJCWlmICgkRU5We3dpdGhfaWN1fSBuZSAneWVzJyAmJiBkZWZp bmVkKCR0ZXN0c3skdGVzdH0tPntpY3VfY29sbGF0aW9ufSkpCisJCXsKKwkJCW5leHQ7CisJCX0K KwogCQkjIFNraXAgdGVzdHMgc3BlY2lmaWMgdG8gTFo0IGlmIHRoaXMgYnVpbGQgZG9lcyBub3Qg c3VwcG9ydAogCQkjIHRoaXMgb3B0aW9uLgogCQlpZiAoISRzdXBwb3J0c19sejQgJiYgZGVmaW5l ZCgkdGVzdHN7JHRlc3R9LT57bHo0fSkpCkBAIC00MTQxLDYgKzQxNjEsMTIgQEAgZm9yZWFjaCBt eSAkcnVuIChzb3J0IGtleXMgJXBnZHVtcF9ydW5zKQogCQkJbmV4dDsKIAkJfQogCisJCSMgU2tp cCBhbnkgaWN1LXJlbGF0ZWQgY29sbGF0aW9uIGNvbW1hbmRzIGlmIGJ1aWxkIHdhcyB3aXRob3V0 IGljdQorCQlpZiAoJEVOVnt3aXRoX2ljdX0gbmUgJ3llcycgJiYgZGVmaW5lZCgkdGVzdHN7JHRl c3R9LT57aWN1X2NvbGxhdGlvbn0pKQorCQl7CisJCQluZXh0OworCQl9CisKIAkJIyBTa2lwIHRl c3RzIHNwZWNpZmljIHRvIExaNCBpZiB0aGlzIGJ1aWxkIGRvZXMgbm90IHN1cHBvcnQKIAkJIyB0 aGlzIG9wdGlvbi4KIAkJaWYgKCEkc3VwcG9ydHNfbHo0ICYmIGRlZmluZWQoJHRlc3RzeyR0ZXN0 fS0+e2x6NH0pKQo= --=_3bd1cb6c665687ef9b0f73ca6f03747a--