From 9c243d447799ca0cb0245495cf86beba07aa84b6 Mon Sep 17 00:00:00 2001 From: Onur Tirtir Date: Fri, 26 Jan 2024 15:10:35 +0300 Subject: [PATCH] Improve check_gucs_are_alphabetically_sorted.sh (#7460) Apparently https://github.com/citusdata/citus/pull/7452 was not enough, need to consider the GUC-like expressions only within RegisterCitusConfigVariables function. --- ci/check_gucs_are_alphabetically_sorted.sh | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/ci/check_gucs_are_alphabetically_sorted.sh b/ci/check_gucs_are_alphabetically_sorted.sh index 3d368e708..214a5c9cf 100755 --- a/ci/check_gucs_are_alphabetically_sorted.sh +++ b/ci/check_gucs_are_alphabetically_sorted.sh @@ -4,7 +4,22 @@ set -euo pipefail # shellcheck disable=SC1091 source ci/ci_helpers.sh +# Find the line that exactly matches "RegisterCitusConfigVariables(void)" in +# shared_library_init.c. grep command returns something like +# "934:RegisterCitusConfigVariables(void)" and we extract the line number +# with cut. +RegisterCitusConfigVariables_begin_linenumber=$(grep -n "^RegisterCitusConfigVariables(void)$" src/backend/distributed/shared_library_init.c | cut -d: -f1) + +# Consider the lines starting from $RegisterCitusConfigVariables_begin_linenumber, +# grep the first line that starts with "}" and extract the line number with cut +# as in the previous step. +RegisterCitusConfigVariables_length=$(tail -n +$RegisterCitusConfigVariables_begin_linenumber src/backend/distributed/shared_library_init.c | grep -n -m 1 "^}$" | cut -d: -f1) + +# extract the function definition of RegisterCitusConfigVariables into a temp file +tail -n +$RegisterCitusConfigVariables_begin_linenumber src/backend/distributed/shared_library_init.c | head -n $(($RegisterCitusConfigVariables_length)) > RegisterCitusConfigVariables_func_def.out + # extract citus gucs in the form of "citus.X" -grep -P "^[\t][\t]\"citus\.[a-zA-Z_0-9]+\"" src/backend/distributed/shared_library_init.c > gucs.out +grep -P "^[\t][\t]\"citus\.[a-zA-Z_0-9]+\"" RegisterCitusConfigVariables_func_def.out > gucs.out sort -c gucs.out rm gucs.out +rm RegisterCitusConfigVariables_func_def.out