Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1iUIFf-0008Ko-4o for pgsql-hackers@arkaria.postgresql.org; Mon, 11 Nov 2019 22:33:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1iUIFc-0002qm-9I for pgsql-hackers@arkaria.postgresql.org; Mon, 11 Nov 2019 22:33:36 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1iUIFb-0002qf-K6 for pgsql-hackers@lists.postgresql.org; Mon, 11 Nov 2019 22:33:35 +0000 Received: from mail-pg1-x529.google.com ([2607:f8b0:4864:20::529]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1iUIFU-0005zI-IE for pgsql-hackers@lists.postgresql.org; Mon, 11 Nov 2019 22:33:34 +0000 Received: by mail-pg1-x529.google.com with SMTP id 29so10393030pgm.6 for ; Mon, 11 Nov 2019 14:33:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=rmAMyJN9GRdDIXoUwZY1o/6yrvyX3cXgtBRjc22xcYg=; b=KNzYO79YgDIb1S2SSJ/prukwFFUWXhL7fWefKrOrebhH1iPBic/ydsWwYurhN0ADMv iVV1SbCT854Si7H8CPZza+VtAh8KhQxZs5iuOM4+WGhT4Ifcyd7eriXgxGYQA3KxEaNg 2zjgM/kWaL69vuLSHTX3exFIZNJIbbnmyBGgBoTcSPQ7b+2JahIaEvZP8cMWaYohkEMu 2mt4da//oGsOrwt6F9EBIPmqtTTRXsyY3i9e5c7sG2Q6nzHad30jyqD6JrYwfbLfd8vS oj5QdS9SerleLoaOJSWZKCrL4uwlVlYKiUpPe391Bz/QBnAYvokYcEZOyhVa6BJIWkwi pT6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=rmAMyJN9GRdDIXoUwZY1o/6yrvyX3cXgtBRjc22xcYg=; b=Cb95wGVML9fU1xhfb5IJlhu8Z1Xe+xQ2jAhJ2hLxaeogos/KvCGoFW+7cndgjc7HVT VSdb3I9SFDuifkqtqZ0X+jRMs+PIQB9MAxm7vB/XYjPqgyad2S7tZ2v2wqcL2VXThjh0 3pF65HL1acMKbg2Nwui+4QXEJ34YlpFZKRyEOufphPLUVb9TPLcP2iVetj2yOq4KPCQa nzRJrfEusqxmG/tw3wAq5eAQbUKmSWQXQoJK0rAcF9AcIw47dQW5HGnrwV+5FpCyCHZT qXCYERwTOI1GN7RH15yvUnC3FpHStGtr6MdVmKLmQduEvsogMGEOG7g3oUjZesM9cLO7 +nSg== X-Gm-Message-State: APjAAAVjFmLl7DZl35yjbUi0jXlEqa+Wt7ntcblA8P27cu56FkWJaHBd rWGmQ2+OC7f7RXykQmVwKju8YUTe X-Google-Smtp-Source: APXvYqxqV07nasGkEuKY7tGukU3VbuYMmWahnwfcEPp21pbExFaWZKLg3G10WYd85NX5Z4tPrQDNhg== X-Received: by 2002:a17:90a:3b0d:: with SMTP id d13mr1934967pjc.86.1573511607057; Mon, 11 Nov 2019 14:33:27 -0800 (PST) Received: from [192.168.0.17] (24-113-193-150.wavecable.com. [24.113.193.150]) by smtp.gmail.com with ESMTPSA id k20sm18078500pgn.40.2019.11.11.14.33.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 11 Nov 2019 14:33:26 -0800 (PST) Subject: Re: Missing dependency tracking for TableFunc nodes To: Tom Lane , pgsql-hackers@lists.postgresql.org References: <18427.1573508501@sss.pgh.pa.us> From: Mark Dilger Message-ID: <352b500b-9bf5-6e6a-fcf4-d9847738e977@gmail.com> Date: Mon, 11 Nov 2019 14:33:24 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.1 MIME-Version: 1.0 In-Reply-To: <18427.1573508501@sss.pgh.pa.us> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk On 11/11/19 1:41 PM, Tom Lane wrote: > Would it be a good idea to move find_expr_references_walker to > nodeFuncs.c, in hopes of making it more visible to people adding > new node types? I'm not sure that would be enough. The logic of that function is not immediately obvious, and where to add a node to it might not occur to people. If the repeated use of else if (IsA(node, XXX)) were replaced with switch (nodeTag(node)) { case XXX: then the compiler, ala -Wswitch, would alert folks when they forget to handle a new node type. -- Mark Dilger