From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Andres Freund <andres(at)anarazel(dot)de> |
Cc: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: WIP: Faster Expression Processing v4 |
Date: | 2017-03-16 15:47:25 |
Message-ID: | 11865.1489679245@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I wrote:
> Andres Freund <andres(at)anarazel(dot)de> writes:
>> I don't think there's a danger similar to f0c7b789a here, because the
>> "caller" (i.e. the node that needs the expression's result) expects
>> resvalue/null to be overwritten.
> Yeah, that's what I thought when I wrote the broken code in ExecEvalCase,
> too. It was wrong.
Along the same line, I notice that you've got some expr step types
overwriting their own input, the various flavors of EEOP_BOOLTEST for
example. Maybe that's all right but it doesn't really give me a warm
feeling, especially when other single-argument operations like
EEOP_BOOL_NOT_STEP are done differently. Again, I think a clear
explanation of the design is essential to allow people to reason about
whether this sort of trickery is safe.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Jon Nelson | 2017-03-16 15:53:25 | Re: [PATCH] guc-ify the formerly hard-coded MAX_SEND_SIZE to max_wal_send |
Previous Message | David Steele | 2017-03-16 15:46:22 | Re: Push down more full joins in postgres_fdw |