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.
FWIW, I'm getting the syntax error when ran the above shell script:
headerssort.sh: 10: Syntax error: "(" unexpected
--
Bharath Rupireddy
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com