On 2019-Apr-22, Andres Freund wrote:
> On 2019-04-22 14:48:26 +0900, Michael Paquier wrote:
> > /*
> > - * Check if's guaranteed the all the desired attributes are available in
> > - * tuple. If so, we can start deforming. If not, need to make sure to
> > - * fetch the missing columns.
> > + * Check if all the desired attributes are available in the tuple. If so,
> > + * we can start deforming. If not, we need to make sure to fetch the
> > + * missing columns.
> > */
>
> That's imo not an improvement. The guaranteed bit is actually
> relevant. What this block is doing is eliding the check against the
> tuple header for the number of attributes, if NOT NULL attributes for
> later columns guarantee that the desired columns are present in the NULL
> bitmap. But the rephrasing makes it sound like we're actually checking
> against the tuple.
>
> I think it'd be better just to fix s/the all/that all/.
(and s/if's/if it's/)
>
> > if ((natts - 1) <= guaranteed_column_number)
> > {
> > @@ -383,7 +383,7 @@ slot_compile_deform(LLVMJitContext *context, TupleDesc desc,
> >
> > /*
> > * If this is the first attribute, slot->tts_nvalid was 0. Therefore
> > - * reset offset to 0 to, it be from a previous execution.
> > + * reset offset to 0 too, as it may be from a previous execution.
> > */
> > if (attnum == 0)
> > {
>
> That obviously makes sense.
Hmm, I think "as it *is*", not "as it *may be*", right?
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services