Em sáb., 10 de out. de 2020 às 00:11, David G. Johnston <
david.g.johns...@gmail.com> escreveu:

> On Fri, Oct 9, 2020 at 6:41 PM Ranier Vilela <ranier...@gmail.com> wrote:
>
>> The problem is not only in nodeIncrementalSort.c, but in several others
>> too, where people are using TupIsNull with ExecCopySlot.
>> I would call this a design flaw.
>> If (TupIsNull)
>>      ExecCopySlot
>>
>> The callers, think they are using TupIsNotNullAndEmpty.
>> If (TupIsNotNullAndEmpty)
>>      ExecCopySlot
>>
>
> IMO both names are problematic, too data value centric, not semantic.
> TupIsValid for the name and negating the existing tests would help to at
> least clear that part up.  Then, things operating on invalid tuples would
> be expected to know about both representations.  In the case of
> ExecCopySlot there is nothing it can do with a null representation of an
> invalid tuple so it would have to fail if presented one.  An assertion
> seems sufficient.
>
IHMO, assertion it is not the solution.

Steven suggested looking for some NULL pointer font above the calls.
I say that it is not necessary, there is no NULL pointer.
Whoever guarantees this is the combination, which for me is an assertion.

If (TupIsNull)
   ExecCopySlot

It works as a subject, but in release mode.
It is the equivalent of:

If (TupIsNull)
   Abort

The only problem for me is that we are running this assertion on the
clients' machines.

regards,
Ranier Vilela

>

Reply via email to