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 1pa0qz-0003CY-5W for pgsql-committers@arkaria.postgresql.org; Wed, 08 Mar 2023 20:57:41 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pa0qx-00043Z-RF for pgsql-committers@arkaria.postgresql.org; Wed, 08 Mar 2023 20:57:39 +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 1pa0qx-00043Q-Fg for pgsql-committers@lists.postgresql.org; Wed, 08 Mar 2023 20:57:39 +0000 Received: from mail-pl1-x62a.google.com ([2607:f8b0:4864:20::62a]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1pa0qs-0000WV-DO for pgsql-committers@lists.postgresql.org; Wed, 08 Mar 2023 20:57:38 +0000 Received: by mail-pl1-x62a.google.com with SMTP id v11so18907764plz.8 for ; Wed, 08 Mar 2023 12:57:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20210112.gappssmtp.com; s=20210112; t=1678309051; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:from:to:cc:subject:date :message-id:reply-to; bh=sn1gSXmzYV0djXLB6NZSovs2I8p1M0IeQaV5BguB4hQ=; b=M6W/nY7OWVf6LEn7Zhe9CQfJ3GCdYCHcDh1j+I7RS7wORb+HrHhXmpPB99yzTnFWlm 7LH73/l3/vFoMiAC8zzozG6AXpu5y3IMjzporvblhQlXqg7EHWF1eQiJScC8hSS0kGGk Risr5E1wM+qKW5a7lVOQs/wbOFMYBkfNRjRyRNp/HfN8C2O5SbQV2LrKByrzyewBZnua gzJ41tA1IcZaTzBLikC5nwdh6iRAtgZp2UPZ9/0t+iUaO7DKn4zkfrLOo5Iy1t4Mc1mM J5u1O2gdcmYrVb2lNOb2eJ9gsY7Rfp7T7tfjBjgDxIFXCVqSmQkrPeBL6rIRvMNfE8c7 n3bA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678309051; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=sn1gSXmzYV0djXLB6NZSovs2I8p1M0IeQaV5BguB4hQ=; b=4+DP8HI1aPQQKZULPaRzl0B4Q2Q0yycCuLmjlkfhWCW2ZY5QqtEHIscDL8YWhg7IRD BRvl5MyPolliSNIlF5JdY4Tr008GTNVMJeO2iIV0C0KbyEGi6poJ1l6xbXfZzss6ygo4 pS5qDbs8B9UGySQQzSaC95r1ySbmVM5YfZ+Qj3GxxXQ/iY1dbqlpqwmVzfhOXh5t9TFQ rTCDwbk8YrAJmaaIjvd/4Q6k00vwQITUWZh9zVlTRyy8tB8UVhomXe54hKhzXHHeA13e 2JN/RAzxbfWFIcyO7uyjd/bjSlHQ8Y3+oH2Ec4/fgUNneecjbK5mCN98uvFOOTxwxlIE 1FsA== X-Gm-Message-State: AO0yUKUYL1Wtvi2oDrmlogPhU7nZJaFiJ0gRhH4Cw+VxMuUM3DXe+aye wRHOTenI/RcNQgtpRolVkubx4p+4zvNH7xefWyw= X-Google-Smtp-Source: AK7set/Kk+U+IHoZh/4uTGZ9VdledP9ftQvQ7D50dYtSok1T454fUqRZ2zrHnwt3X41/gp1y3CvlIg== X-Received: by 2002:a05:6a20:3942:b0:cc:9ca2:8b5f with SMTP id r2-20020a056a20394200b000cc9ca28b5fmr23783868pzg.15.1678309051343; Wed, 08 Mar 2023 12:57:31 -0800 (PST) Received: from jeff-laptop.lan (c-73-231-146-4.hsd1.ca.comcast.net. [73.231.146.4]) by smtp.gmail.com with ESMTPSA id o25-20020a635d59000000b004fbd021bad6sm9634008pgm.38.2023.03.08.12.57.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Mar 2023 12:57:30 -0800 (PST) Message-ID: <36a6e89689716c2ca1fae8adc8e84601a041121c.camel@j-davis.com> Subject: Re: pgsql: Allow tailoring of ICU locales with custom rules From: Jeff Davis To: Peter Eisentraut , pgsql-committers@lists.postgresql.org Date: Wed, 08 Mar 2023 12:57:29 -0800 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.44.4-0ubuntu1 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, 2023-03-08 at 16:03 +0000, Peter Eisentraut wrote: > Allow tailoring of ICU locales with custom rules Late review: * Should throw error when provider !=3D icu and rules !=3D NULL * Explain what the example means. By itself, users might get confused wondering why someone would want to do that. * Also consider a more practical example? * It appears rules IS NULL behaves differently from rules=3D''. Is that desired? For instance: create collation c1(provider=3Dicu, locale=3D'und-u-ka-shifted-ks-level1', deterministic=3Dfalse); create collation c2(provider=3Dicu, locale=3D'und-u-ka-shifted-ks-level1', rules=3D'', deterministic=3Dfalse); select 'a b' collate c1 =3D 'ab' collate c1; -- true select 'a b' collate c2 =3D 'ab' collate c2; -- false * Can you document the interaction between locale keywords ("@colStrength=3Dprimary") and a rule like '[strength 2]'? Regards, Jeff Davis