Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tIzck-000M2B-T3 for pgsql-hackers@arkaria.postgresql.org; Thu, 05 Dec 2024 00:21:43 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tIzch-003NPa-VQ for pgsql-hackers@arkaria.postgresql.org; Thu, 05 Dec 2024 00:21:41 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tIzch-003NNl-Fc for pgsql-hackers@lists.postgresql.org; Thu, 05 Dec 2024 00:21:40 +0000 Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1tIzcf-0015ir-Gz for pgsql-hackers@postgresql.org; Thu, 05 Dec 2024 00:21:39 +0000 Received: by mail-pf1-x435.google.com with SMTP id d2e1a72fcca58-7250844b0ecso335444b3a.1 for ; Wed, 04 Dec 2024 16:21:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20230601.gappssmtp.com; s=20230601; t=1733358096; x=1733962896; darn=postgresql.org; 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=hdPXVwMicfFTRNnFUrrKYKoHoYWfmcXm0VyKN+ARJlY=; b=UUItrRV/3xrphNCBKZUfuX/knJw7XR8zP8nrPpUGK4nxpfl4lMDP5OU8w2VBWSB1ah ozYDrQwTDtH3L2OhgUj0MjILpUFhOgVAkjmf5MYAEVZdyrUmAemLjyEMAs39E8Rl8WkH 5IToTJuQUVRSFBH8g80uQa0uO7RXfLgKbi3/09f3nKesvsgMr+pScaKFTfP0LD1s203n /90S8Fulrwj36d29f3Qh6emxwcozVGx3/TfbM1+rYKHiFOaef0n//qeBaUZxsHZaQCFL LPHbRfEW1cITXfETT5trPNPgk0tY10lCqgmmpCKwYNLRtJoLMZ9rbCMz93174t0LzmHU Y5uA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733358096; x=1733962896; 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=hdPXVwMicfFTRNnFUrrKYKoHoYWfmcXm0VyKN+ARJlY=; b=ox+ygLoSAcXBBvKkoiOJYWgp1cRpArh8YDnsAXYPIfHceOMSzNEAnZ9v+hK729dVQ1 of+2nAHdAWhkemvLfLqYPsYzY5minIYjX805S94Z6PEDk54Dtu0/u7aGwTjynk5YHOiP N5yLS6T5PlMt5RErsIOmenWmLR+agdr4qI8eABmp0oQp/poXLGrW6gR5mB8qrqG6dgaX ngPq1vRgg6bIvpnwLmGg9S9oLpsPZM+AkqkiKaxneBfNgzKG2u8Dp/6uRqHRYIKc5ZdF R2Pglu+0GkM3Elr71QgxfkgdS1u7g9dR/KVGcwot+CnzG0dS408fmrbxpZGPdNaNx5ht QjXQ== X-Forwarded-Encrypted: i=1; AJvYcCWyVY1cZvs5TFO7xWb3svLitCR2J3ifDrK8fZFT3/zmDwwKzgBL6nStCdV72XnuGCZ3MZRMQseJwW3HZbI1@postgresql.org X-Gm-Message-State: AOJu0YxPiQoJDBVy/wkNxRuamLC6lY0cPaSC0tYo4V6YJZRHzSDcsa6P XChN8bKf7uhjuKDgdT+mUx0NPQ54rdwxjN3JP94j7LtpXfqJq9/jaKzdTWBDaqMLte8b3xkcWp0 = X-Gm-Gg: ASbGnctME5Mt8HJ9lKVwRqk2Q8K2ZAOr0ojkbk5iV5NQ7KYhROAPL3wR940ETn8nzdE rQk0TF9fPdpl1ieX1qAO1430dW4TXZYJS6L6tYt6V57VD2drw71khfgbZVHpdIHXE5yMnK3zSLd bDmk/KZ075yRU/QXJTm5s+8oeBv44BPBh8YxkxImJ8f+hL5N4NGEAqlumwIgFIB6GP9vBLO2ISL d+RMPAsZU2kFYNEniFyPKKW4SKlzAUhjsJ1lD8gUfvRGp4dJZyUkqgGWTS34n0Z2jgeUF+ytoPS FuYzZZJe X-Google-Smtp-Source: AGHT+IGwxvwCkmUrO42IDdhL5I7JzSqkyJavIKAKFjZCA8odfptwKR6czMAMW4e1d+vijJ0yTFYlfw== X-Received: by 2002:a05:6a00:2d1c:b0:725:9d1d:3464 with SMTP id d2e1a72fcca58-7259d1d4e9bmr2268694b3a.26.1733358096426; Wed, 04 Dec 2024 16:21:36 -0800 (PST) Received: from [172.16.227.83] (c-73-92-174-6.hsd1.ca.comcast.net. [73.92.174.6]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-725a2ca75b5sm80546b3a.134.2024.12.04.16.21.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 16:21:35 -0800 (PST) Message-ID: <3ddb0e4d402da295f8dff52e12ab906bbaa5de2b.camel@j-davis.com> Subject: Re: Collation & ctype method table, and extension hooks From: Jeff Davis To: Andreas Karlsson , pgsql-hackers@postgresql.org Date: Wed, 04 Dec 2024 16:21:34 -0800 In-Reply-To: <4548a168-62cd-457b-8d06-9ba7b985c477@proxel.se> References: <2830211e1b6e6a2e26d845780b03e125281ea17b.camel@j-davis.com> <59da7ee4-5e1a-4727-b464-a603c6ed84cd@proxel.se> <247f18f3-09e5-480d-9222-9d0d9684995f@proxel.se> <78a1b434ff40510dc5aaabe986299a09f4da90cf.camel@j-davis.com> <4548a168-62cd-457b-8d06-9ba7b985c477@proxel.se> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.44.4-0ubuntu2 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Mon, 2024-12-02 at 16:39 +0100, Andreas Karlsson wrote: > My patches: >=20 > =3D v9-0002-Move-check-for-ucol_strcollUTF8-to-pg_locale_icu..patch Committed. > =3D v9-0003-Move-code-for-collation-version-into-provider-spe.patch >=20 > Moves some code from pg_collate.c into provider specific files. I agree with the general idea, but it seems we are accumulating a lot of provider-specific functions. Should we define a provider struct with its own methods? That would be a good step toward making the provider catalog-driven. Even if we don't support CREATE LOCALE PROVIDER, having space in the catalog would be a good place to track the provider version. > =3D v9-0004-Move-ICU-database-encoding-check-into-validation-.patch This seems to be causing a test failure in 020_createdb.pl. > =3D v9-0005-Move-provider-specific-code-when-looking-up-local.patch >=20 > I did not like how namespace.c had knowledge of ICU. See comments above about v9-0003. Regards, Jeff Davis