Re: Autogenerate some wait events code and documentation

Bertrand Drouvot <bertranddrouvot.pg@gmail.com>

From: "Drouvot, Bertrand" <bertranddrouvot.pg@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-07-04T07:34:33Z
Lists: pgsql-hackers
Hi,

On 7/3/23 9:11 AM, Michael Paquier wrote:
> On Mon, Jul 03, 2023 at 03:57:42PM +0900, Michael Paquier wrote:

Thanks for looking at it and having fixed the issues that were present in
v10.

>> I think that we should add some options to the perl script to be more
>> selective with the files generated.  How about having two options
>> called --docs and --code to select one or the other, then limit what
>> gets generated in each path?  I guess that it would be cleaner if we
>> error in the case where both options are defined, and just use some
>> gotos to redirect to each foreach loop to limit extra indentations in
>> the script.  This would avoid the need to remove the C and H files
>> from the docs, additionally, which is what the Makefile in doc/ does.
>>
>> I have fixed all the issues I've found in v11 attached, except for the
>> last one (I have added the OUTDIR trick for reference, but that's
>> incorrect and incomplete).  Could you look at this part?
> 
> Ah.  It took me a few extra minutes, but I think that we should set
> "capture" to "false", no?  It looks like meson is getting confused,
> expecting something in stdout but the new script generates a few
> files, and does not output anything.  That's different from the other
> doc-related perl scripts.
> --

Yeah, with "capture" set to "false" then ninja alldocs does not error out
and wait_event_types.sgml gets generated.

I'll look at the extra options --code and --docs.

Regards,

-- 
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com



Commits

  1. Add "ABI_compatibility" regions to wait_event_names.txt

  2. Remove column for wait event names in wait_event_names.txt

  3. Use more consistent names for wait event objects and types

  4. Add information about line contents on parsing failure of wait_event_names.txt

  5. Remove double quotes from the second column of wait_event_names.txt

  6. Generate automatically code and documentation related to wait events

  7. Refactor some code related to wait events "BufferPin" and "Extension"

  8. doc: Fix ordering of entries in wait event table for I/O type