Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cmKx2-0008Sr-9N for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Mar 2017 13:51:24 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1cmKx1-0004Zb-KN for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Mar 2017 13:51:23 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1cmKx0-0004ZS-VP for pgsql-hackers@postgresql.org; Fri, 10 Mar 2017 13:51:23 +0000 Received: from out1-smtp.messagingengine.com ([66.111.4.25]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1cmKwx-0005Im-4P for pgsql-hackers@postgresql.org; Fri, 10 Mar 2017 13:51:21 +0000 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id A6FFC20C19; Fri, 10 Mar 2017 08:51:17 -0500 (EST) Received: from frontend1 ([10.202.2.160]) by compute7.internal (MEProxy); Fri, 10 Mar 2017 08:51:17 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc:x-sasl-enc; s= smtpout; bh=NSxsN6p6OiVemLe+NqED5Z+yfv4=; b=mc0x4LnZmyOikPMWogxi iVHjsMoCs2tUZJg/kHU05ChOlXhT9I4MywsZ7uyYuIG/mnEiL1bMug+1hnuMuNO1 Cybu/ERZD0476OIElfRhnWBMsDFde/ILgSeQJzf1TBNpgfEE1hr0BsE8/ULXsJmF TZVEYklFqqGj0YX8SOnBrO8= X-ME-Sender: X-Sasl-enc: W74gi1Qoqlw2PlhZBiCbxfg0mQc4we8zjTALPhjLuvJM 1489153877 Received: from april.local (c-73-13-66-39.hsd1.pa.comcast.net [73.13.66.39]) by mail.messagingengine.com (Postfix) with ESMTPA id 42D4B7E16E; Fri, 10 Mar 2017 08:51:17 -0500 (EST) Subject: Re: WIP: Faster Expression Processing v4 To: Andres Freund References: <20161206034955.bh33paeralxbtluv@alap3.anarazel.de> <20170209003312.rr7atqepgbrf4xqe@alap3.anarazel.de> <20170307030137.lpo4japv5oqgbqpz@alap3.anarazel.de> <93169b65-6bfb-32c5-9a79-793e27da80d1@2ndquadrant.com> <20170308001407.3xrohkxp33jsglqz@alap3.anarazel.de> Cc: pgsql-hackers@postgresql.org, Heikki Linnakangas , Doug Doole From: Peter Eisentraut Organization: 2ndQuadrant Message-ID: <1744e9b4-53a9-1204-eb05-e7e18eb7c0b9@2ndquadrant.com> Date: Fri, 10 Mar 2017 08:51:25 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: <20170308001407.3xrohkxp33jsglqz@alap3.anarazel.de> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org On 3/7/17 19:14, Andres Freund wrote: >> Why shouldn't the function itself also depend on the components of its >> return type? > Because that'd make it impossible to change the return type components - > if the return type is baked into the view that's necessary, but for a > "freestanding function" it's not. If you e.g. have a function that just > returns a table's rows, it'd certainly be annoying if that'd prevent you > from dropping columns. I think functions breaking when the return type is fiddled with is actually a not-uncommon problem in practice. It would be nice if that could be addressed. Not necessarily in this patch, but I would like to keep the options open. Comments from others would be welcome on this. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers