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 1p2FXN-0001IJ-0V for pgsql-hackers@arkaria.postgresql.org; Mon, 05 Dec 2022 17:45:53 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1p2FXL-0007do-Sx for pgsql-hackers@arkaria.postgresql.org; Mon, 05 Dec 2022 17:45:51 +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 1p2FXL-0007df-JZ for pgsql-hackers@lists.postgresql.org; Mon, 05 Dec 2022 17:45:51 +0000 Received: from mail-qt1-x832.google.com ([2607:f8b0:4864:20::832]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1p2FXJ-00046H-5w for pgsql-hackers@postgresql.org; Mon, 05 Dec 2022 17:45:50 +0000 Received: by mail-qt1-x832.google.com with SMTP id ay32so3887558qtb.11 for ; Mon, 05 Dec 2022 09:45:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joeconway.com; s=google; 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=kpt+gCIbS6LtKGCLK30wDD26KNNw7wTH6JsIP5os/Gk=; b=fprIdhOM2nCWTfDsa465CCrAsNmUWfw+r0pNnh+YwGS/yj3UA3Xe3jkwTGoUwIdPnW JF3sHOGBkukPBi4FyCj7yYreOJPYmCxSYD5VOSQ/nmi2k2iWOt465Jc/3riyqWYSiecm tBS1Z2PYN7+5Z5jjLo3flR+wOcRMR9XIhzt2UdUCih32+QTY0R8aa0OLVJ/tWbQITNaf 1Fo5gosrE5xlJToCdE4keWvP4BDpemgRJaKtf9OPj52PbHkKAj0vyCk9DzA7YIEXehO7 Cpe+R3Xs3OhMtCOqm99BvxRsbmrwX9ljjmJENyuJzzkpP1xmQrS2fqU3h1s+N1qap2lc wZ1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=kpt+gCIbS6LtKGCLK30wDD26KNNw7wTH6JsIP5os/Gk=; b=wbrJgjX+kVOv0xg8StPiA8Z4qOWrZymhxsjIdH0x5qdobN0uV4d8j59OpiCtbidobg eOLBb9u1e8stgdqZnKKtqZLau0J/jMP1Z0HyiQQkZliu5onetB3XUgnbP2ryyRqdvwat uSY3jByfFFI1mWBFU9gpjhvDZknwsiYzoQ5SUPpcDu3AaQMmZAZSpqPPngW3NwcDWRVS fJ89rZlvDKDxawjXsEH79oL4TqoGdz09uabPkABCY7QuR113mSi78LSAV8DtfbjHM8X2 8YOw3qdgEwBBiggZzYBWjKdYHT6aMRtxIJ/hpNp/ZpVE1b4PrMmIa44vLtBx19/PkyyZ 5EGw== X-Gm-Message-State: ANoB5pldvKrs/0c6qVv/O3F59WSWFfmpzAQO1OZfBhT6XxvUpS9XGbtX yW4CRQ0LAV7fRA20B3LfSJmZhg== X-Google-Smtp-Source: AA0mqf5xBADEY7GupOhQaV6iseH+/AhPIonEKDyCx8FpK5zJ25WIoD0JkHrHsPScAIATmsGUVcyYVw== X-Received: by 2002:a05:622a:5c8c:b0:3a6:a8a9:fd3 with SMTP id ge12-20020a05622a5c8c00b003a6a8a90fd3mr8339648qtb.653.1670262348363; Mon, 05 Dec 2022 09:45:48 -0800 (PST) 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 u19-20020a05620a0c5300b006fa84082b6dsm12866509qki.128.2022.12.05.09.45.47 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 05 Dec 2022 09:45:47 -0800 (PST) Message-ID: <776e9ddb-a0e6-3f29-9368-a194be30d1a6@joeconway.com> Date: Mon, 5 Dec 2022 12:45:46 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: Collation version tracking for macOS Content-Language: en-US To: Jeff Davis , Thomas Munro Cc: Peter Eisentraut , Jeremy Schneider , Peter Geoghegan , "Nasby, Jim" , Tom Lane , pgsql-hackers References: <398aabd1-ad95-ba2d-d70a-dd5d90bf6e07@enterprisedb.com> <606bd2baa6d65b38fee6eb23bba40c5da210255b.camel@j-davis.com> <9f8e9b5a3352478d4cf7d6c0a5dd7e82496be4b6.camel@j-davis.com> <346f836208a39009c1998ed5a41c7f1a0be36911.camel@j-davis.com> From: Joe Conway In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 12/5/22 12:41, Jeff Davis wrote: > On Mon, 2022-12-05 at 16:12 +1300, Thomas Munro wrote: >> 1.  I think we should seriously consider provider = ICU63.  I still >> think search-by-collversion is a little too magical, even though it >> clearly can be made to work.  Of the non-magical systems, I think >> encoding the choice of library into the provider name would avoid the >> need to add a second confusing "X_version" concept alongside our >> existing "X_version" columns in catalogues and DDL syntax, while >> still >> making it super clear what is going on. > > As I understand it, this is #2 in your previous list? > > Can we put the naming of the provider into the hands of the user, e.g.: > > CREATE COLLATION PROVIDER icu63 TYPE icu > AS '/path/to/libicui18n.so.63', '/path/to/libicuuc.so.63'; > > In this model, icu would be a "provider kind" and icu63 would be the > specific provider, which is named by the user. > > That seems like the least magical approach, to me. We need an ICU > library; the administrator gives us one that looks like ICU; and we're > happy. +1 I like this. The provider kind defines which path we take in our code, and the specific library unambiguously defines a specific collation behavior (I think, ignoring bugs?) -- Joe Conway PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com