| From: | David Rowley <dgrowleyml(at)gmail(dot)com> |
|---|---|
| To: | Tender Wang <tndrwang(at)gmail(dot)com> |
| Cc: | Andres Freund <andres(at)anarazel(dot)de>, John Naylor <johncnaylorls(at)gmail(dot)com>, PostgreSQL Developers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: More speedups for tuple deformation |
| Date: | 2026-03-16 21:15:45 |
| Message-ID: | CAApHDvoy9AJ4D2+pJE0ZRhPPCHh-Mm-sZAfookKtf_3V+GeP0g@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Mon, 16 Mar 2026 at 22:17, David Rowley <dgrowleyml(at)gmail(dot)com> wrote:
>
> On Mon, 16 Mar 2026 at 20:01, Tender Wang <tndrwang(at)gmail(dot)com> wrote:
> > SELECT * FROM t2, t4 RIGHT OUTER JOIN t0 ON t4.c0 WHERE t4.c1 ORDER BY
>
> > server closed the connection unexpectedly
>
> Thanks. Looks like I didn't get the startAttr logic correct in
> nocachegetattr(). Starting by using the attcacheoff of the first NULL
> attribute isn't valid. It should be the attribute prior to that one.
>
> I'm just verifying some code locally now.
Now pushed. Some concerns about the lack of exercise in the tests for
fastgetattr() for user tables. I ended up testing by injecting the
following into slot_deform_heap_tuple()
- attnum = slot->tts_nvalid;
+ attnum2 = attnum = slot->tts_nvalid;
[...]
+ for (attnum = attnum2; attnum < natts; attnum++)
+ {
+ Datum v = values[attnum];
+ bool b = isnull[attnum];
+ values[attnum] = fastgetattr(tuple, attnum + 1, tupleDesc,
&isnull[attnum]);
+ Assert(v == values[attnum]);
+ Assert(b == isnull[attnum]);
+ }
+
/* Fetch any missing attrs and raise an error if reqnatts is invalid */
if (unlikely(attnum < reqnatts))
Still considering the best way to get a bit more coverage more permanently.
David
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Marco Nenciarini | 2026-03-16 21:16:49 | Re: BUG: Cascading standby fails to reconnect after falling back to archive recovery |
| Previous Message | David Rowley | 2026-03-16 21:11:54 | Re: pgsql: Add pg_plan_advice contrib module. |