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 1nHAPV-0004O3-PC for pgsql-hackers@arkaria.postgresql.org; Mon, 07 Feb 2022 20:14: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 1nHAPT-00043N-S9 for pgsql-hackers@arkaria.postgresql.org; Mon, 07 Feb 2022 20:14: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 1nHAPT-00043E-6Y for pgsql-hackers@lists.postgresql.org; Mon, 07 Feb 2022 20:14:51 +0000 Received: from anastigmatix.net ([68.171.219.55]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nHAPO-0005p9-Hd for pgsql-hackers@postgresql.org; Mon, 07 Feb 2022 20:14:50 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=anastigmatix.net; s=default; h=Content-Transfer-Encoding:Content-Type: In-Reply-To:MIME-Version:Date:Message-ID:From:References:To:Subject:Sender: Reply-To:Cc:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=+0j6kCV2AJ/aTlnhyOUlN9Mvgw9kobOoAUBOABh5uXM=; b=CIQ0tcY26QqElNU0QQo0qt+Qjj IWb31KBSxsw4ZOn2qoqDefiTz2m1ij7UKJEpsjeFL3DDG+tTgXX1TyFXt3fZIVWHEgzlFngdPzOhF ZsbgIONNQldrgzK/ZG/Ih0p3ARatkwFY3JVNelVHM+P3NbpQxaR2HX36bNbxEBoJ23SMwU3pvnvmi S9LrlsdwfYmU6I3fzYfabNcQYeETZ0OOiemRy8Iqchj1oDMFx6k0PbuIk35SKtNDwWAgZCsfjsKXO rS6hBOzJWfSSsfherkcUvBWuYeN33EMTurm6loNJKCLS0WRqKMVy9V382eIRyEAeTnVm8ZoTAuuDN AMR33AOQ==; Received: from 50-102-16-206.prtg.in.frontiernet.net ([50.102.16.206]:44307) by bay.acenet.us with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1nHAPM-0069Yz-2m; Mon, 07 Feb 2022 15:14:44 -0500 Subject: Re: Documentation about PL transforms To: Peter Eisentraut , PostgreSQL Hackers References: <61FDBCFE.3090800@anastigmatix.net> From: Chapman Flack X-Enigmail-Draft-Status: N1110 Message-ID: <62017DB3.5020900@anastigmatix.net> Date: Mon, 7 Feb 2022 15:14:43 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - bay.acenet.us X-AntiAbuse: Original Domain - postgresql.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - anastigmatix.net X-Get-Message-Sender-Via: bay.acenet.us: authenticated_id: chap@anastigmatix.net X-Authenticated-Sender: bay.acenet.us: chap@anastigmatix.net X-Source: X-Source-Args: X-Source-Dir: X-From-Rewrite: unmodified, already matched List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 02/07/22 10:59, Peter Eisentraut wrote: > On 05.02.22 00:55, Chapman Flack wrote: >> I'm thinking plhandler.sgml is the only place that really needs to be >> ... >> worth mentioning there, though, that it isn't possible to develop >> transforms for an arbitrary PL unless that PL applies transforms.) > > makes sense > >> (argument_type [, ...]) even though check_transform_function will reject >> any argument list of length other than 1 or with type other than internal. > > That could be corrected. I'll work on some doc patches. >> As long as a PL handler has the sole responsibility for invoking >> its transforms, I wonder if it would make sense to allow a PL to >> define what its transforms should look like, maybe replacing >> check_transform_function with a transform_validator for the PL. > > Maybe. This kind of thing would mostly be driven what a PL wants in actual > practice, and then how that could be generalized to many/all PLs. It has since occurred to me that another benefit of having a transform_validator per PL would be immediate error reporting if someone, for whatever reason, tries out CREATE TRANSFORM for a PL that doesn't grok transforms. Regards, -Chap