Add trailing commas to enum definitions
Since C99, there can be a trailing comma after the last value in an enum
definition. A lot of new code has been introducing this style on the
fly. I have noticed that some new patches are now taking an
inconsistent approach to this. Some add the last comma on the fly if
they add a new last value, some are trying to preserve the existing
style in each place, some are even dropping the last comma if there was
one. I figured we could nudge this all in a consistent direction if we
just add the trailing commas everywhere once. See attached patch; it
wasn't actually that much.
I omitted a few places where there was a fixed "last" value that will
always stay last. I also skipped the header files of libpq and ecpg, in
case people want to use those with older compilers. There were also a
small number of cases where the enum type wasn't used anywhere (but the
enum values were), which ended up confusing pgindent a bit.
Attachments:
0001-Add-trailing-commas-to-enum-definitions.patchtext/plain; charset=UTF-8; name=0001-Add-trailing-commas-to-enum-definitions.patchDownload+390-391
On Mon, Oct 23, 2023 at 2:37 PM Peter Eisentraut <peter@eisentraut.org> wrote:
Since C99, there can be a trailing comma after the last value in an enum
C99 allows us to do this doesn't mean we must do this, this is not
inconsistent IMHO, and this will pollute the git log messages, people
may *git blame* the file and see the reason for the introduction of the
line.
There are a lot of 'typedef struct' as well as 'struct', which is not
inconsistent either just like the *enum* case.
definition. A lot of new code has been introducing this style on the
fly. I have noticed that some new patches are now taking an
inconsistent approach to this. Some add the last comma on the fly if
they add a new last value, some are trying to preserve the existing
style in each place, some are even dropping the last comma if there was
one. I figured we could nudge this all in a consistent direction if we
just add the trailing commas everywhere once. See attached patch; it
wasn't actually that much.I omitted a few places where there was a fixed "last" value that will
always stay last. I also skipped the header files of libpq and ecpg, in
case people want to use those with older compilers. There were also a
small number of cases where the enum type wasn't used anywhere (but the
enum values were), which ended up confusing pgindent a bit.
--
Regards
Junwang Zhao
On Mon, Oct 23, 2023 at 05:55:32PM +0800, Junwang Zhao wrote:
On Mon, Oct 23, 2023 at 2:37 PM Peter Eisentraut <peter@eisentraut.org> wrote:
Since C99, there can be a trailing comma after the last value in an enum
C99 allows us to do this doesn't mean we must do this, this is not
inconsistent IMHO, and this will pollute the git log messages, people
may *git blame* the file and see the reason for the introduction of the
line.
I suspect that your concerns about git-blame could be resolved by adding
this commit to .git-blame-ignore-revs. From a long-term perspective, I
think standardizing on the trailing comma style will actually improve
git-blame because patches won't need to add a comma to the previous line
when adding a value.
--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com
Nathan Bossart <nathandbossart@gmail.com> writes:
From a long-term perspective, I
think standardizing on the trailing comma style will actually improve
git-blame because patches won't need to add a comma to the previous line
when adding a value.
Yeah, that's a good point. I had been leaning towards "this is
unnecessary churn", but with that idea I'm now +1.
regards, tom lane
On 10/23/23 17:04, Tom Lane wrote:
Nathan Bossart <nathandbossart@gmail.com> writes:
From a long-term perspective, I
think standardizing on the trailing comma style will actually improve
git-blame because patches won't need to add a comma to the previous line
when adding a value.Yeah, that's a good point. I had been leaning towards "this is
unnecessary churn", but with that idea I'm now +1.
+1 from me.
-David
On Tue, Oct 24, 2023 at 4:34 AM Nathan Bossart <nathandbossart@gmail.com> wrote:
On Mon, Oct 23, 2023 at 05:55:32PM +0800, Junwang Zhao wrote:
On Mon, Oct 23, 2023 at 2:37 PM Peter Eisentraut <peter@eisentraut.org> wrote:
Since C99, there can be a trailing comma after the last value in an enum
C99 allows us to do this doesn't mean we must do this, this is not
inconsistent IMHO, and this will pollute the git log messages, people
may *git blame* the file and see the reason for the introduction of the
line.I suspect that your concerns about git-blame could be resolved by adding
this commit to .git-blame-ignore-revs. From a long-term perspective, I
think standardizing on the trailing comma style will actually improve
git-blame because patches won't need to add a comma to the previous line
when adding a value.
make sense, +1 from me now.
--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com
--
Regards
Junwang Zhao
On 2023-10-23 Mo 17:04, Tom Lane wrote:
Nathan Bossart <nathandbossart@gmail.com> writes:
From a long-term perspective, I
think standardizing on the trailing comma style will actually improve
git-blame because patches won't need to add a comma to the previous line
when adding a value.Yeah, that's a good point. I had been leaning towards "this is
unnecessary churn", but with that idea I'm now +1.
+1. It's a fairly common practice in Perl code, too, and I often do it
for exactly this reason.
cheers
andrew
--
Andrew Dunstan
EDB: https://www.enterprisedb.com
On 23.10.23 22:34, Nathan Bossart wrote:
On Mon, Oct 23, 2023 at 05:55:32PM +0800, Junwang Zhao wrote:
On Mon, Oct 23, 2023 at 2:37 PM Peter Eisentraut <peter@eisentraut.org> wrote:
Since C99, there can be a trailing comma after the last value in an enum
C99 allows us to do this doesn't mean we must do this, this is not
inconsistent IMHO, and this will pollute the git log messages, people
may *git blame* the file and see the reason for the introduction of the
line.I suspect that your concerns about git-blame could be resolved by adding
this commit to .git-blame-ignore-revs. From a long-term perspective, I
think standardizing on the trailing comma style will actually improve
git-blame because patches won't need to add a comma to the previous line
when adding a value.
Committed that way.