From bd0558fe394620dafa5755a6ea9863730b7b11e4 Mon Sep 17 00:00:00 2001 From: Colm Date: Tue, 19 Aug 2025 15:52:13 +0100 Subject: [PATCH] Remove incorrect assertion from Postgres ruleutils. (#8136) DESCRIPTION: Remove an assertion from Postgres ruleutils that was rendered meaningless by a previous Citus commit. Fixes #8123. This has been present since 00068e0, which changed the code preceding the assert as follows: ``` #ifdef USE_ASSERT_CHECKING - while (i < colinfo->num_cols && colinfo->colnames[i] == NULL) - i++; + for (int col_index = 0; col_index < colinfo->num_cols; col_index++) + { + /* + * In the above processing-loops, "i" advances only if + * the column is not new, check if this is a new column. + */ + if (colinfo->is_new_col[col_index]) + i++; + } Assert(i == colinfo->num_cols); Assert(j == nnewcolumns); #endif ``` This commit altered both the loop condition and the incrementing of `i`. After analysis, the assert no longer makes sense. --- src/backend/distributed/deparser/ruleutils_15.c | 1 - src/backend/distributed/deparser/ruleutils_16.c | 1 - src/backend/distributed/deparser/ruleutils_17.c | 1 - src/backend/distributed/deparser/ruleutils_18.c | 1 - 4 files changed, 4 deletions(-) diff --git a/src/backend/distributed/deparser/ruleutils_15.c b/src/backend/distributed/deparser/ruleutils_15.c index 2fd62a3f8..40c3192b3 100644 --- a/src/backend/distributed/deparser/ruleutils_15.c +++ b/src/backend/distributed/deparser/ruleutils_15.c @@ -1568,7 +1568,6 @@ set_join_column_names(deparse_namespace *dpns, RangeTblEntry *rte, if (colinfo->is_new_col[col_index]) i++; } - Assert(i == colinfo->num_cols); Assert(j == nnewcolumns); #endif diff --git a/src/backend/distributed/deparser/ruleutils_16.c b/src/backend/distributed/deparser/ruleutils_16.c index d3b0b2da5..9c3fe611c 100644 --- a/src/backend/distributed/deparser/ruleutils_16.c +++ b/src/backend/distributed/deparser/ruleutils_16.c @@ -1585,7 +1585,6 @@ set_join_column_names(deparse_namespace *dpns, RangeTblEntry *rte, if (colinfo->is_new_col[col_index]) i++; } - Assert(i == colinfo->num_cols); Assert(j == nnewcolumns); #endif diff --git a/src/backend/distributed/deparser/ruleutils_17.c b/src/backend/distributed/deparser/ruleutils_17.c index 1d0491ce4..c88ab1ea3 100644 --- a/src/backend/distributed/deparser/ruleutils_17.c +++ b/src/backend/distributed/deparser/ruleutils_17.c @@ -1599,7 +1599,6 @@ set_join_column_names(deparse_namespace *dpns, RangeTblEntry *rte, if (colinfo->is_new_col[col_index]) i++; } - Assert(i == colinfo->num_cols); Assert(j == nnewcolumns); #endif diff --git a/src/backend/distributed/deparser/ruleutils_18.c b/src/backend/distributed/deparser/ruleutils_18.c index 7d4b99741..bd044f5e7 100644 --- a/src/backend/distributed/deparser/ruleutils_18.c +++ b/src/backend/distributed/deparser/ruleutils_18.c @@ -1669,7 +1669,6 @@ set_join_column_names(deparse_namespace *dpns, RangeTblEntry *rte, if (colinfo->is_new_col[col_index]) i++; } - Assert(i == colinfo->num_cols); Assert(j == nnewcolumns); #endif