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 1q6cFI-0003Rg-R4 for pgsql-hackers@arkaria.postgresql.org; Tue, 06 Jun 2023 19:21:32 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1q6cFH-0000NE-OE for pgsql-hackers@arkaria.postgresql.org; Tue, 06 Jun 2023 19:21:31 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q6cFH-0000Lx-EQ for pgsql-hackers@lists.postgresql.org; Tue, 06 Jun 2023 19:21:31 +0000 Received: from mail-yb1-xb33.google.com ([2607:f8b0:4864:20::b33]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1q6cFD-000a4h-Hl for pgsql-hackers@lists.postgresql.org; Tue, 06 Jun 2023 19:21:30 +0000 Received: by mail-yb1-xb33.google.com with SMTP id 3f1490d57ef6-ba8afcc82c0so8183680276.2 for ; Tue, 06 Jun 2023 12:21:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joeconway.com; s=google; t=1686079287; x=1688671287; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=2fcqf5Hj4J9wu5drwySkDbPEJx0AXl7lExMLrj+QBAM=; b=Zf7/g3NUSsN3M8IaPfYAx2ECZqwZzvjodYyiXl7VZD5awpBi9xIsq3WMACok4LK6iS XMmDSCaM4hL6u0UQma3qTQUP/8OSf9zvGqVVLFq2kN3Q5/kadDs0f9mXuX4L/t4DResm MBlKJPYoxUlsNheGimUCJMrNn7zO4vM4LsP4G8Kn2pVlaL/oSoH77Z5FAHmjIzOyrwmf qXcDh4QL9ZE6khIzHCA41eK22XvX36+Kx0tZirBoC9/Tj2L03885j7QRoFt35dCrIKQF qm+BVZw2WTe9UBHhE+KsUwdEgiQPx82J2PpjIOg80CwTWLRaHK5NFZaYmN8pZEqVbE44 p3oA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686079287; x=1688671287; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=2fcqf5Hj4J9wu5drwySkDbPEJx0AXl7lExMLrj+QBAM=; b=kkke8KdYR/4NspmHezmWY1+ldfdQLQ2CIOnDAYor+S26RsTJzgv6CH/fAz0HHGfVUn OLbCufAHGRWtTNpn9Q3sp01/6c6ansqgODEV64pdIO5bLQDtLmc7oMHLrg4faQwgTT9L 3Dd23Ybqqp2eKSL9IUMY0+pIiQkVYVlCjUtgWuasBz7I2lKAA6AYa5cP5CYQJCGDf280 DmWwlxDt7TDulCri3PZy5tuggMKgkAf7krMHO5dcujMzKCvd3T9zxWKzpLo4eYrJOfSX UIA9psvhTZCEpRouix7n+zrSxhTX0/lOc1l0e13ls3jvNx/bJ6mp4orWSEXVisaNede2 d2CQ== X-Gm-Message-State: AC+VfDy2CiJ82JZfn/F7WytkCy4TxgdQW8zqueK6XxpPKN5tzobv7pLo YdxH8d08M+RdGO80Dw8+4vZbIQ== X-Google-Smtp-Source: ACHHUZ4sU7EfhTfxHfAdeV8u59M4TwdL4Zb1aKNSkDt/jyVOk0VspSyKY2HVfuwDfcdH+vYYzRfLUQ== X-Received: by 2002:a25:f205:0:b0:bb1:6e29:a84d with SMTP id i5-20020a25f205000000b00bb16e29a84dmr3065339ybe.53.1686079286860; Tue, 06 Jun 2023 12:21:26 -0700 (PDT) Received: from [192.168.4.41] (162-239-31-113.lightspeed.dybhfl.sbcglobal.net. [162.239.31.113]) by smtp.gmail.com with ESMTPSA id x190-20020a254ac7000000b00ba71866d8efsm3380324yba.63.2023.06.06.12.21.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 06 Jun 2023 12:21:26 -0700 (PDT) Message-ID: Date: Tue, 6 Jun 2023 15:21:25 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Subject: Re: Order changes in PG16 since ICU introduction Content-Language: en-US To: Jeff Davis , Daniel Verite Cc: Peter Eisentraut , Andrew Gierth , Tom Lane , pgsql-hackers@lists.postgresql.org References: <45f0cd77-9c85-4c5e-9396-adbccdb635e2@manitou-mail.org> From: Joe Conway In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 6/6/23 15:18, Jeff Davis wrote: > On Tue, 2023-06-06 at 15:09 +0200, Daniel Verite wrote: >> FWIW I don't quite see how 0001 improve things or what problem it's >> trying to solve. > > The word "locale" is generic, so we need to make LOCALE/--locale apply > to whatever provider is being used. If "locale" only applies to libc, > using ICU will always be confusing and never be on the same level as > libc, let alone the preferred provider. Agree 100% > The locale "C" is a special case, documented as a non-locale. So, if > LOCALE/--locale apply to ICU, then either ICU needs to handle locale > "C" in the expected way (v8 patch series); or when we see locale "C" we > need to somehow change the provider into something that can handle it > (v6 patch series changes it to the "none" provider). +1 to the latter approach > Please let me know if you disagree with the goal or the reasoning here. > If so, please explain where you think we should end up, because the > status quo does not seem great to me. also +1 >> 0001 creates exceptions throughout the code so that when an ICU >> collation has a locale name "C" or "POSIX" then it does not behave >> like an ICU collation, even though pg_collation.collprovider='i' >> To me it's neither desirable nor necessary that a collation that >> has collprovider='i' is diverted to non-ICU semantics. > > It's not very principled, but it matches what libc does. Makes sense to me -- Joe Conway PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com