| From: | Michael Paquier <michael(at)paquier(dot)xyz> |
|---|---|
| To: | shihao zhong <zhong950419(at)gmail(dot)com> |
| Cc: | exclusion(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org |
| Subject: | Re: BUG #19780: gtsvector_picksplit() reads uninitialized data when called with three entries |
| Date: | 2026-11-06 08:16:37 |
| Message-ID: | au2M5c6TISykG8QR@paquier.xyz |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs |
On Fri, Nov 06, 2026 at 04:52:21PM +0900, Michael Paquier wrote:
> So the problem is this one, where we could try to read the cached data
> for seed_2 but it's just not initialized yet:
> datum_r = gtsvector_alloc(SIGNKEY | (cache[seed_2].allistrue ?
> ALLISTRUE : 0), siglen, cache[seed_2].sign);
>
> Calling fillcache() earlier so as datum_r and datum_l are built from
> correct values is enough. Your change makes sense.
+INSERT INTO test_tsvector_wide
+ SELECT 'foo', decode(string_agg(md5(g::text), ''), 'hex')
+ FROM generate_series(1, 300) g;
By the way, this test is going to piss buildfarm members that have
FIPS enabled, where md5() calls fail. Could it be possible to write a
test that's more portable across the board? There is a v19 RC2 in
sight, and it's already late in the week here so this will have to
wait until the tag of the next version is pushed around next
Wednesday. It's an old issue, so a few more days will not matter.
There is a fipshash() in test_setup.sql, written for portability, but
perhaps we can make the test much faster by using the same tricks as
test_decoding's toast.sql in terms of generation of long values?
--
Michael
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Amit Langote | 2026-11-06 08:34:26 | Re: BUG #19768: JSON_TABLE: row/text comparisons in context item or PASSING give wrong results or spurious collation |
| Previous Message | Michael Paquier | 2026-11-06 07:52:21 | Re: BUG #19780: gtsvector_picksplit() reads uninitialized data when called with three entries |