delimiter inconsistency in generate-wait_event_types.pl
От | Kyotaro Horiguchi |
---|---|
Тема | delimiter inconsistency in generate-wait_event_types.pl |
Дата | |
Msg-id | 20250729.135638.1148639539103758555.horikyota.ntt@gmail.com обсуждение исходный текст |
Ответы |
Re: delimiter inconsistency in generate-wait_event_types.pl
|
Список | 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.
Вложения
В списке pgsql-hackers по дате отправления: