Fix make maintainer-clean with queryjumblefuncs.*.c files in src/backend/nodes/

The files generated by gen_node_support.pl for query jumbling
(queryjumblefuncs.funcs.c and queryjumblefuncs.switch.c) were not being
removed on make maintainer-clean (they need to remain around after a
simple "clean").  This commit makes the operation consistent with the
copy, equal, out and read files.

While on it, update a comment in the nodes'README where a reference to
queryjumblefuncs.funcs.c was missing.

Reported-by: Nathan Bossart
Reviewed-by: Richard Guo, Daniel Gustafsson
Discussion: https://postgr.es/m/ZBgAfTHcL6W7zGdW@paquier.xyz
This commit is contained in:
Michael Paquier 2023-03-22 07:43:23 +09:00
parent b94c671648
commit e8e1f96c49
2 changed files with 6 additions and 5 deletions

View File

@ -95,7 +95,8 @@ $(top_builddir)/src/include/nodes/header-stamp: node-support-stamp
copyfuncs.o: copyfuncs.c copyfuncs.funcs.c copyfuncs.switch.c | node-support-stamp
equalfuncs.o: equalfuncs.c equalfuncs.funcs.c equalfuncs.switch.c | node-support-stamp
outfuncs.o: outfuncs.c outfuncs.funcs.c outfuncs.switch.c | node-support-stamp
queryjumblefuncs.o: queryjumblefuncs.c queryjumblefuncs.funcs.c queryjumblefuncs.switch.c | node-support-stamp
readfuncs.o: readfuncs.c readfuncs.funcs.c readfuncs.switch.c | node-support-stamp
maintainer-clean: clean
rm -f node-support-stamp $(addsuffix funcs.funcs.c,copy equal out read) $(addsuffix funcs.switch.c,copy equal out read) nodetags.h
rm -f node-support-stamp $(addsuffix funcs.funcs.c,copy equal out queryjumble read) $(addsuffix funcs.switch.c,copy equal out queryjumble read) nodetags.h

View File

@ -88,10 +88,10 @@ Suppose you want to define a node Foo:
If you intend to inherit from, say a Plan node, put Plan as the first field
of your struct definition. (The T_Foo tag is created automatically.)
2. Check that the generated support functions in copyfuncs.funcs.c,
equalfuncs.funcs.c, outfuncs.funcs.c and readfuncs.funcs.c look
correct. Add attributes as necessary to control the outcome. (For
some classes of node types, you don't need all four support functions.
Use node attributes similar to those of related node types.)
equalfuncs.funcs.c, outfuncs.funcs.c, queryjumblefuncs.funcs.c and
readfuncs.funcs.c look correct. Add attributes as necessary to control the
outcome. (For some classes of node types, you don't need all the support
functions. Use node attributes similar to those of related node types.)
3. Add cases to the functions in nodeFuncs.c as needed. There are many
other places you'll probably also need to teach about your new node
type. Best bet is to grep for references to one or two similar existing