Re: Regarding the order of the header file includes
Richard Guo <guofenglinux@gmail.com>
From: Richard Guo <guofenglinux@gmail.com>
To: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2024-03-12T11:39:16Z
Lists: pgsql-hackers
On Fri, Mar 8, 2024 at 6:58 PM Bharath Rupireddy <
bharath.rupireddyforpostgres@gmail.com> wrote:
> On Thu, Mar 7, 2024 at 12:39 PM Richard Guo <guofenglinux@gmail.com>
> wrote:
> >
> > While rebasing one of my patches I noticed that the header file includes
> > in relnode.c are not sorted in order. So I wrote a naive script to see
> > if any other C files have the same issue. The script is:
> >
> > #!/bin/bash
> >
> > find . -name "*.c" | while read -r file; do
> > headers=$(grep -o '#include "[^>]*"' "$file" |
> > grep -v "postgres.h" | grep -v "postgres_fe.h" |
> > sed 's/\.h"//g')
> >
> > sorted_headers=$(echo "$headers" | sort)
> >
> > results=$(diff <(echo "$headers") <(echo "$sorted_headers"))
> >
> > if [[ $? != 0 ]]; then
> > echo "Headers in '$file' are out of order"
> > echo $results
> > echo
> > fi
> > done
>
> Cool. Isn't it a better idea to improve this script to auto-order the
> header files and land it under src/tools/pginclude/headerssort? It can
> then be reusable and be another code beautification weapon one can use
> before the code release.
Yeah, perhaps. However the current script is quite unrefined and would
require a lot of effort to make it a reusable tool. I will add it to my
to-do list and hopefully one day I can get back to it. Feel free to
mess around with it if someone is interested.
> FWIW, I'm getting the syntax error when ran the above shell script:
>
> headerssort.sh: 10: Syntax error: "(" unexpected
I think the error is due to line 10 containing bash-style syntax. Hmm,
have you tried to use 'bash' instead of 'sh' to run this script?
Thanks
Richard
Commits
-
Make the order of the header file includes consistent
- 97d85be36544 17.0 landed