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-04T10:04:50Z
Lists: pgsql-hackers
Attachments
- v12-0001-Generate-automatically-wait-event-related-code-a.patch (text/plain) patch v12-0001
Hi, On 7/4/23 9:34 AM, Drouvot, Bertrand wrote: > 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. Please find attached v12 that: - sets "capture" to "false" - adds the --code and --docs extra options to generate-wait_event_types.pl - makes sure at least one of those option is provided - makes sure that both options can't be provided simultaneously - update the related Makefile/meson.build files accordingly - fix a bug in generate-wait_event_types.pl (die on rename($stmp...) was not using the right file (it was using ctmp). That was not visible before the docs/code split. Not related to this patch but I noticed that when building with meson some c files are duplicated a the end of the build. Indeed, they also appear in some include directories: ./meson_build/src/include/storage/lwlocknames.c ./meson_build/src/include/utils/pgstat_wait_event.c ./meson_build/src/include/utils/fmgrtab.c ./meson_build/src/include/nodes/queryjumblefuncs.funcs.c ./meson_build/src/include/nodes/readfuncs.switch.c ./meson_build/src/include/nodes/readfuncs.funcs.c ./meson_build/src/include/nodes/copyfuncs.switch.c ./meson_build/src/include/nodes/equalfuncs.funcs.c ./meson_build/src/include/nodes/outfuncs.switch.c ./meson_build/src/include/nodes/queryjumblefuncs.switch.c ./meson_build/src/include/nodes/copyfuncs.funcs.c ./meson_build/src/include/nodes/equalfuncs.switch.c ./meson_build/src/include/nodes/outfuncs.funcs.c Is it expected? If not, I guess it's worth another patch. Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com
Commits
-
Add "ABI_compatibility" regions to wait_event_names.txt
- f98dbdeb51d1 17.0 landed
-
Remove column for wait event names in wait_event_names.txt
- 59cbf60c0f2b 17.0 landed
-
Use more consistent names for wait event objects and types
- 414f6c0fb79a 17.0 landed
-
Add information about line contents on parsing failure of wait_event_names.txt
- aea7fe33fb6a 17.0 landed
-
Remove double quotes from the second column of wait_event_names.txt
- 183a60a628fe 17.0 landed
-
Generate automatically code and documentation related to wait events
- fa88928470b5 17.0 landed
-
Refactor some code related to wait events "BufferPin" and "Extension"
- 2aeaf80e578e 17.0 landed
-
doc: Fix ordering of entries in wait event table for I/O type
- 44e977d7ecb9 16.0 landed