delimiter inconsistency in generate-wait_event_types.pl - Mailing list pgsql-hackers

From Kyotaro Horiguchi
Subject delimiter inconsistency in generate-wait_event_types.pl
Date
Msg-id 20250729.135638.1148639539103758555.horikyota.ntt@gmail.com
Whole thread Raw
Responses Re: delimiter inconsistency in generate-wait_event_types.pl
List pgsql-hackers
Hello,

I got bitten by an inconsistency introduced about two years ago. In
the script generate-wait_event_types.pl, the intermediate line format
is parsed using a regular expression that allows multiple tab
characters between fields. However, the fields were later extracted
using split(/\t/, ...), which assumes single-tab delimiters and fails
when fields are separated by multiple tabs. This leads to a somewhat
unclear error when processing input that should otherwise be valid
(*1):

> substr outside of string at ./generate-wait_event_types.pl line 243,
>  <$wait_event_names> line 434.

Since the data was already captured via regex, using $1, $2 and $3
instead of split() avoids the inconsistency and makes the intent
clearer. A related adjustment was made elsewhere in the script to
improve consistency.

This is addressed in the attached patch.

regards.


*1:
diff --git a/src/backend/utils/activity/wait_event_names.txt b/src/backend/utils/activity/wait_event_names.txt
index 0be307d2ca0..ba551938ed7 100644
--- a/src/backend/utils/activity/wait_event_names.txt
+++ b/src/backend/utils/activity/wait_event_names.txt
@@ -405,7 +405,7 @@ SerialSLRU    "Waiting to access the serializable transaction conflict SLRU cache."
 SubtransSLRU    "Waiting to access the sub-transaction SLRU cache."
 XactSLRU    "Waiting to access the transaction status SLRU cache."
 ParallelVacuumDSA    "Waiting for parallel vacuum dynamic shared memory allocation."
-AioUringCompletion    "Waiting for another process to complete IO via io_uring."
+AioUringCompletion        "Waiting for another process to complete IO via io_uring."
 
 # No "ABI_compatibility" region here as WaitEventLWLock has its own C code.


Attachment

pgsql-hackers by date:

Previous
From: vignesh C
Date:
Subject: Re: POC: enable logical decoding when wal_level = 'replica' without a server restart
Next
From: Tom Lane
Date:
Subject: Re: A performance regression issue with Memoize