From d7c48a9d1ef31caf16c236f54fc9e3f483c536df 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: ``` - 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); ``` This commit altered both the loop condition and the incrementing of `i`. After analysis, the assert no longer makes sense. cherry-picked from bd0558fe394620dafa5755a6ea9863730b7b11e4 --- src/backend/distributed/deparser/ruleutils_14.c | 1 - src/backend/distributed/deparser/ruleutils_15.c | 1 - src/backend/distributed/deparser/ruleutils_16.c | 1 - 3 files changed, 3 deletions(-) diff --git a/src/backend/distributed/deparser/ruleutils_14.c b/src/backend/distributed/deparser/ruleutils_14.c index 88948cff5..a69c726cf 100644 --- a/src/backend/distributed/deparser/ruleutils_14.c +++ b/src/backend/distributed/deparser/ruleutils_14.c @@ -1535,7 +1535,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_15.c b/src/backend/distributed/deparser/ruleutils_15.c index 018468d0b..20252c3cf 100644 --- a/src/backend/distributed/deparser/ruleutils_15.c +++ b/src/backend/distributed/deparser/ruleutils_15.c @@ -1572,7 +1572,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 7f2a41d75..140d13c97 100644 --- a/src/backend/distributed/deparser/ruleutils_16.c +++ b/src/backend/distributed/deparser/ruleutils_16.c @@ -1589,7 +1589,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