public inbox for [email protected]  
help / color / mirror / Atom feed
From: Tom Lane <[email protected]>
To: David Rowley <[email protected]>
Cc: Nathan Bossart <[email protected]>
Cc: Paul Ramsey <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Subject: Re: Pg18 Recursive Crash
Date: Tue, 17 Dec 2024 20:02:03 -0500
Message-ID: <[email protected]> (raw)
In-Reply-To: <CAApHDvqOHJ1gWjbw8wZ4U1G1RQefEj_CnJB4Rmw=PFru8jbRog@mail.gmail.com>
References: <[email protected]>
	<Z2BtL7ZXEjKkHtNX@nathan>
	<CAApHDvo11HBcb624eTAkXMBkN3=fji_DP+BqNYGYfNNo8nOxaQ@mail.gmail.com>
	<[email protected]>
	<CAApHDvqOHJ1gWjbw8wZ4U1G1RQefEj_CnJB4Rmw=PFru8jbRog@mail.gmail.com>

David Rowley <[email protected]> writes:
> I've pushed the patch now.

So I tried adapting my patch to not make a copy of the input slot,
and it didn't work: I was still getting assertion failures about
the slot not being a MinimalTupleSlot as expected.  On investigation
it appears your patch did not fully adjust BuildTupleHashTableExt
for variable input-slot type.  You need the attached as well.

I'm not sure why the existing regression tests didn't catch this.
But it may not be worth searching for a test case, because my patch
will be one ...

			regards, tom lane



Attachments:

  [text/x-diff] fix-grouping.patch (707B, ../[email protected]/2-fix-grouping.patch)
  download | inline diff:
diff --git a/src/backend/executor/execGrouping.c b/src/backend/executor/execGrouping.c
index 4a8f72305c..7491e53c03 100644
--- a/src/backend/executor/execGrouping.c
+++ b/src/backend/executor/execGrouping.c
@@ -236,9 +236,9 @@ BuildTupleHashTableExt(PlanState *parent,
 														hash_iv);
 
 	/* build comparator for all columns */
-	/* XXX: should we support non-minimal tuples for the inputslot? */
 	hashtable->tab_eq_func = ExecBuildGroupingEqual(inputDesc, inputDesc,
-													&TTSOpsMinimalTuple, &TTSOpsMinimalTuple,
+													inputOps,
+													&TTSOpsMinimalTuple,
 													numCols,
 													keyColIdx, eqfuncoids, collations,
 													allow_jit ? parent : NULL);


view thread (11+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected]
  Subject: Re: Pg18 Recursive Crash
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox