public inbox for [email protected]
help / color / mirror / Atom feedFrom: Amit Kapila <[email protected]>
To: Tom Lane <[email protected]>
Cc: Peter Eisentraut <[email protected]>
Cc: Andres Freund <[email protected]>
Cc: David Rowley <[email protected]>
Cc: pgsql-hackers <[email protected]>
Subject: Re: automatically generating node support functions
Date: Mon, 8 Aug 2022 12:23:25 +0530
Message-ID: <CAA4eK1L_BZG2SJCO8kKp7q0d3v=x6gJT5N5k9h3CFWDc4ab61A@mail.gmail.com> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<CAA4eK1KQk4vP-3mTAz26h-PRUZaGu8Fc=q-ZKSajsAthH0A15w@mail.gmail.com>
<[email protected]>
<CAA4eK1+xMj83Uz8jQq-Yf2ezyN_nqkUcmnL3sAPXNgtje2Shwg@mail.gmail.com>
<[email protected]>
On Sun, Aug 7, 2022 at 8:19 PM Tom Lane <[email protected]> wrote:
>
> Amit Kapila <[email protected]> writes:
> > On Wed, Aug 3, 2022 at 7:16 PM Tom Lane <[email protected]> wrote:
> >> More likely, we need to add something explicit to Mkvcbuild.pm
> >> for this. I recall that it has stanzas to deal with updating
> >> other autogenerated files; I bet we either missed that or
> >> fat-fingered it for node-support-stamp.
>
> > I see below logic added by commit which seems to help regenerate the
> > required files.
>
> Meh ... it's not checking the data files themselves. Here's
> a patch based on the logic for invoking genbki. Completely
> untested, would somebody try it?
>
I tried it on commit a69959fab2 just before the commit (1349d2790b)
which was causing problems for me. On running "perl mkvcbuild.pl", I
got the below error:
wrong number of input files, expected nodes/nodes.h nodes/primnodes.h
nodes/parsenodes.h nodes/pathnodes.h nodes/plannodes.h
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/extensible.h
nodes/lockoptions.h nodes/replnodes.h nodes/supportnodes.h
nodes/value.h utils/rel.h
This error seems to be originating from gen_node_support.pl. If I
changed the @node_headers to what it was instead of getting it from
Makefile then the patch works and the build is also successful. See
attached.
--
With Regards,
Amit Kapila.
Attachments:
[application/octet-stream] msvc-check-for-obsolete-node-support-2.patch (2.0K, ../CAA4eK1L_BZG2SJCO8kKp7q0d3v=x6gJT5N5k9h3CFWDc4ab61A@mail.gmail.com/2-msvc-check-for-obsolete-node-support-2.patch)
download | inline diff:
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
index b09872e018..085f48f984 100644
--- a/src/tools/msvc/Solution.pm
+++ b/src/tools/msvc/Solution.pm
@@ -830,36 +830,48 @@ EOF
close($chs);
}
- if (IsNewer(
- 'src/backend/nodes/node-support-stamp',
- 'src/backend/nodes/gen_node_support.pl'))
- {
- # XXX duplicates node_headers list in src/backend/nodes/Makefile
- my @node_headers = qw(
- nodes/nodes.h
- nodes/primnodes.h
- nodes/parsenodes.h
- nodes/pathnodes.h
- nodes/plannodes.h
- 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/extensible.h
- nodes/lockoptions.h
- nodes/replnodes.h
- nodes/supportnodes.h
- nodes/value.h
- utils/rel.h
+ # XXX duplicates node_headers list in src/backend/nodes/Makefile
+ my @node_headers = qw(
+ nodes/nodes.h
+ nodes/primnodes.h
+ nodes/parsenodes.h
+ nodes/pathnodes.h
+ nodes/plannodes.h
+ 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/extensible.h
+ nodes/lockoptions.h
+ nodes/replnodes.h
+ nodes/supportnodes.h
+ nodes/value.h
+ utils/rel.h
);
- my @node_files = map { "src/include/$_" } @node_headers;
+ my @node_files = map { "src/include/$_" } @node_headers;
+ my $need_node_support = 0;
+ foreach my $nodefile (@node_files)
+ {
+ if (IsNewer('src/backend/nodes/node-support-stamp', $nodefile))
+ {
+ $need_node_support = 1;
+ last;
+ }
+ }
+ $need_node_support = 1
+ if IsNewer(
+ 'src/backend/nodes/node-support-stamp',
+ 'src/backend/nodes/gen_node_support.pl');
+
+ if ($need_node_support)
+ {
system("perl src/backend/nodes/gen_node_support.pl --outdir src/backend/nodes @node_files");
open(my $f, '>', 'src/backend/nodes/node-support-stamp')
|| confess "Could not touch node-support-stamp";
view thread (77+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected], [email protected]
Subject: Re: automatically generating node support functions
In-Reply-To: <CAA4eK1L_BZG2SJCO8kKp7q0d3v=x6gJT5N5k9h3CFWDc4ab61A@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox