mirror of
https://github.com/postgres/postgres.git
synced 2025-04-22 23:02:54 +03:00
Rationalize order of input files for gen_node_support.pl.
Per a question from Andres Freund. While here, also make the list of nodetag-only files easier to compare to the full list of input files. Discussion: https://postgr.es/m/20220710214622.haiektrjzisob6rl@awork3.anarazel.de
This commit is contained in:
parent
b2d5b4c6e0
commit
bf022d337e
@ -33,27 +33,31 @@ OBJS = \
|
||||
|
||||
include $(top_srcdir)/src/backend/common.mk
|
||||
|
||||
# The principal node-defining headers are listed in their inclusion order,
|
||||
# to ensure cross-file subtyping works correctly. The rest can just be
|
||||
# listed alphabetically.
|
||||
# Caution: re-ordering this list risks ABI breakage!
|
||||
node_headers = \
|
||||
nodes/nodes.h \
|
||||
nodes/execnodes.h \
|
||||
nodes/plannodes.h \
|
||||
nodes/primnodes.h \
|
||||
nodes/pathnodes.h \
|
||||
nodes/extensible.h \
|
||||
nodes/parsenodes.h \
|
||||
nodes/replnodes.h \
|
||||
nodes/value.h \
|
||||
commands/trigger.h \
|
||||
commands/event_trigger.h \
|
||||
foreign/fdwapi.h \
|
||||
nodes/pathnodes.h \
|
||||
nodes/plannodes.h \
|
||||
nodes/execnodes.h \
|
||||
access/amapi.h \
|
||||
access/sdir.h \
|
||||
access/tableam.h \
|
||||
access/tsmapi.h \
|
||||
utils/rel.h \
|
||||
nodes/supportnodes.h \
|
||||
commands/event_trigger.h \
|
||||
commands/trigger.h \
|
||||
executor/tuptable.h \
|
||||
foreign/fdwapi.h \
|
||||
nodes/extensible.h \
|
||||
nodes/lockoptions.h \
|
||||
access/sdir.h
|
||||
nodes/replnodes.h \
|
||||
nodes/supportnodes.h \
|
||||
nodes/value.h \
|
||||
utils/rel.h
|
||||
|
||||
# see also catalog/Makefile for an explanation of these make rules
|
||||
|
||||
|
@ -95,6 +95,22 @@ push @scalar_types, qw(EquivalenceClass* EquivalenceMember*);
|
||||
# currently not required.
|
||||
push @scalar_types, qw(QualCost);
|
||||
|
||||
# Nodes from these input files don't need support functions, just node tags.
|
||||
my @nodetag_only_files = qw(
|
||||
nodes/execnodes.h
|
||||
access/amapi.h
|
||||
access/sdir.h
|
||||
access/tableam.h
|
||||
access/tsmapi.h
|
||||
commands/event_trigger.h
|
||||
commands/trigger.h
|
||||
executor/tuptable.h
|
||||
foreign/fdwapi.h
|
||||
nodes/lockoptions.h
|
||||
nodes/replnodes.h
|
||||
nodes/supportnodes.h
|
||||
);
|
||||
|
||||
# XXX various things we are not publishing right now to stay level
|
||||
# with the manual system
|
||||
push @no_copy, qw(CallContext InlineCodeBlock);
|
||||
@ -133,6 +149,9 @@ foreach my $infile (@ARGV)
|
||||
|
||||
open my $ifh, '<', $infile or die "could not open \"$infile\": $!";
|
||||
|
||||
# now shorten filename for use below
|
||||
$infile =~ s!.*src/include/!!;
|
||||
|
||||
my $raw_file_content = do { local $/; <$ifh> };
|
||||
|
||||
# strip C comments, preserving newlines so we can count lines correctly
|
||||
@ -295,12 +314,8 @@ foreach my $infile (@ARGV)
|
||||
$node_type_info{$in_struct}->{field_types} = \%ft;
|
||||
$node_type_info{$in_struct}->{field_attrs} = \%fa;
|
||||
|
||||
# Nodes from these files don't need support functions,
|
||||
# just node tags.
|
||||
if (elem basename($infile),
|
||||
qw(execnodes.h trigger.h event_trigger.h amapi.h tableam.h
|
||||
tsmapi.h fdwapi.h tuptable.h replnodes.h supportnodes.h)
|
||||
)
|
||||
# Exclude nodes in nodetag_only_files from support.
|
||||
if (elem $infile, @nodetag_only_files)
|
||||
{
|
||||
push @no_copy, $in_struct;
|
||||
push @no_equal, $in_struct;
|
||||
|
@ -843,29 +843,28 @@ EOF
|
||||
'src/backend/nodes/node-support-stamp',
|
||||
'src/backend/nodes/gen_node_support.pl'))
|
||||
{
|
||||
# XXX duplicates src/backend/nodes/Makefile
|
||||
|
||||
# XXX duplicates node_headers list in src/backend/nodes/Makefile
|
||||
my @node_headers = qw(
|
||||
nodes/nodes.h
|
||||
nodes/execnodes.h
|
||||
nodes/plannodes.h
|
||||
nodes/primnodes.h
|
||||
nodes/pathnodes.h
|
||||
nodes/extensible.h
|
||||
nodes/parsenodes.h
|
||||
nodes/replnodes.h
|
||||
nodes/value.h
|
||||
commands/trigger.h
|
||||
commands/event_trigger.h
|
||||
foreign/fdwapi.h
|
||||
nodes/pathnodes.h
|
||||
nodes/plannodes.h
|
||||
nodes/execnodes.h
|
||||
access/amapi.h
|
||||
access/sdir.h
|
||||
access/tableam.h
|
||||
access/tsmapi.h
|
||||
utils/rel.h
|
||||
nodes/supportnodes.h
|
||||
commands/event_trigger.h
|
||||
commands/trigger.h
|
||||
executor/tuptable.h
|
||||
foreign/fdwapi.h
|
||||
nodes/extensible.h
|
||||
nodes/lockoptions.h
|
||||
access/sdir.h
|
||||
nodes/replnodes.h
|
||||
nodes/supportnodes.h
|
||||
nodes/value.h
|
||||
utils/rel.h
|
||||
);
|
||||
|
||||
chdir('src/backend/nodes');
|
||||
|
Loading…
x
Reference in New Issue
Block a user