Re: cast result of copyNode()

From: Mark Dilger <hornschnorter(at)gmail(dot)com>
To: David Steele <david(at)pgmasters(dot)net>
Cc: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: cast result of copyNode()
Date: 2017-03-21 22:52:10
Message-ID: AE2BD160-C47A-4388-8454-0319FFC0DEBD@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


> On Mar 21, 2017, at 2:13 PM, David Steele <david(at)pgmasters(dot)net> wrote:
>
> Hi Mark,
>
> On 3/9/17 3:34 PM, Peter Eisentraut wrote:
>> On 3/7/17 18:27, Mark Dilger wrote:
>>> You appear to be using a #define macro to wrap a function of the same name
>>> with the code:
>>>
>>> #define copyObject(obj) ((typeof(obj)) copyObject(obj))
>>
>> Yeah, that's a bit silly. Here is an updated version that changes that.
>
> Do you know when you'll have a chance to take a look at the updated patch?

The patch applies cleanly, compiles, and passes all the regression tests
for me on my laptop. Peter appears to have renamed the function copyObject
as copyObjectImpl, which struct me as odd when I first saw it, but I don't have
a better name in mind, so that seems ok.

If the purpose of this patch is to avoid casting so many things down to (Node *),
perhaps some additional work along the lines of the patch I'm attaching are
appropriate. (This patch applies on top Peter's v2 patch). The idea being to
keep objects as (Expr *) where appropriate, rather than casting through (Node *)
quite so much.

I'm not certain that this is (a) merely a bad idea, (b) a different idea than what
Peter is proposing, and as such should be submitted independently, or
(c) something that aught to be included in Peter's patch prior to commit.
I only applied this idea to one file, and maybe not completely in that file, because
I'd like feedback before going any further along these lines.

mark

Attachment Content-Type Size
ideas_on_top_v2.patch application/octet-stream 5.3 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2017-03-21 22:53:19 Re: Monitoring roles patch
Previous Message Dmitry Dolgov 2017-03-21 22:28:26 Re: [PATCH] few fts functions for jsonb