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 1p05pP-0004qv-0M for pgsql-hackers@arkaria.postgresql.org; Tue, 29 Nov 2022 18:59:35 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1p05pN-0007B2-ON for pgsql-hackers@arkaria.postgresql.org; Tue, 29 Nov 2022 18:59:33 +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 1p05pN-0007At-FM for pgsql-hackers@lists.postgresql.org; Tue, 29 Nov 2022 18:59:33 +0000 Received: from mail-pg1-x535.google.com ([2607:f8b0:4864:20::535]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1p05pJ-00053m-36 for pgsql-hackers@postgresql.org; Tue, 29 Nov 2022 18:59:32 +0000 Received: by mail-pg1-x535.google.com with SMTP id r18so13865904pgr.12 for ; Tue, 29 Nov 2022 10:59:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20210112.gappssmtp.com; s=20210112; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=iyY2tjPO1cdLFlO+MAUbW7ZKRU9BVakKm85ISM+/4Jo=; b=NYK5RT5NQZh+9b29MSDXRpXztDtxJ0qHBdkk22Bcf64qdhpdoWiUwOdeHE4us8Jax5 tW79fEyJXxK5TqcXVFy7wRbnd+XKj9fSp5rCFAWp4VXM6MjxCPTSZwryYLKXE3rC/02c FPpifMIaBMC4l3IOjMtTswphqUaHq7LnJAB+4nnvmArcFBe+8j44oh9iKTPEQKgzvOOQ hEsL5LnaI9FmN4ky7J6NCiee6zhcYgxt/kGiPLKTGSITSoEKGn/vGOrF2VHHjSgUDOjd eUsqRUzpIaP8QogakbkywLAU+n7n9SsI6Becvk75vXx87Bvh4BkISvFx3WbVNHZwGwPA 1w/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=iyY2tjPO1cdLFlO+MAUbW7ZKRU9BVakKm85ISM+/4Jo=; b=nsxnpjU+i0t0B5IuudpNNIPtRBoQlWFb/7V7g2UdMPp/f0GKXZgUF+6hg5HpQw8DIV qJTJPdqi5j0NPs+4fCoRN7zTs/FSzxPaMSBMC3ehuEcuK1ZqdSyIMO/5ai6ed2307zqz QkZzW1xO6E+2pElfPTsp4NVfuY8XvnRUjAHzaEFlnsJFlwc3aJXhXOAS+ygHwjZYnDCV Z2QK0MTvWE5dGRHAJyYZ/gm4vnx1PhuohEYCYKfGbEdlv/NriUEEIutsms/YCUyMvREl sQeFq6sUkBo2DgH7EUfT4f64fETcq91YApbq+EIGnlAaSpHgdsa+/cm3xaHzauVV9Bav cViQ== X-Gm-Message-State: ANoB5pkGK5qgdeV5qxxuclGMN4UD9DA4faJqBdqycdktRObNCFZd3MV7 w4M3e7jvjj/tt6ccwyxGek+l7g== X-Google-Smtp-Source: AA0mqf4urmDpqM1sVlZq72KgQWatOewuErqvRyoFEhRYbpC5i8ydmcCPqRralMqe4SgIogSYAyPWiw== X-Received: by 2002:a62:870a:0:b0:575:6036:ea81 with SMTP id i10-20020a62870a000000b005756036ea81mr7190815pfe.26.1669748367034; Tue, 29 Nov 2022 10:59:27 -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 z25-20020aa79f99000000b0056b95260b91sm10282350pfr.67.2022.11.29.10.59.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Nov 2022 10:59:26 -0800 (PST) Message-ID: <9d70e95d78a05a9ba130db92a5b8a4f9c897f8b6.camel@j-davis.com> Subject: Re: Collation version tracking for macOS From: Jeff Davis To: Joe Conway , Robert Haas , Thomas Munro Cc: Peter Eisentraut , Jeremy Schneider , Peter Geoghegan , "Finnerty, Jim" , "Nasby, Jim" , Tom Lane , pgsql-hackers Date: Tue, 29 Nov 2022 10:59:25 -0800 In-Reply-To: <5ca35de8-48a6-6d9f-6f92-82d9da9ce227@joeconway.com> References: <398aabd1-ad95-ba2d-d70a-dd5d90bf6e07@enterprisedb.com> <606bd2baa6d65b38fee6eb23bba40c5da210255b.camel@j-davis.com> <9f8e9b5a3352478d4cf7d6c0a5dd7e82496be4b6.camel@j-davis.com> <5ca35de8-48a6-6d9f-6f92-82d9da9ce227@joeconway.com> 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 Tue, 2022-11-29 at 11:27 -0500, Joe Conway wrote: > My vote is for something like #5. The collversion should indicate a=20 > specific immutable ordering behavior. Easier said than done: https://www.postgresql.org/message-id/abddc35a7a447d93e2b8371a1a9052cb48866= 070.camel@j-davis.com Even pointing at a specific minor version doesn't guarantee that specific ICU code is loaded. It could also be a mix of different minor versions that happen to be installed. But if we ignore that problem for a moment, and assume that major version is precise enough, let me make another proposal (not advocating for this, but wanted to put it out there): 6. Create a new concept of a "locked down collation" that points at some specific collation code (identified by some combination of library version and collation version or whatever else can be used to identify it). If a collation is locked down, it would never have a fallback or any other magic, it would either find the code it's looking for, or fail. If a collation is not locked down, it would look only in the built-in ICU library, and warn if it detects some kind of change (again, by whatever heuristic we think is reasonable). #6 doesn't answer all of the problems I pointed out earlier: https://www.postgresql.org/message-id/83faecb4a89dfb5794938e7b4d9f89daf4c5d= 631.camel@j-davis.com but could be a better starting place for answers. --=20 Jeff Davis PostgreSQL Contributor Team - AWS