Skip to content

Backport EXTRACT identifier quoting fix to release-13.2 - #8810

Merged
ibrahim halatci (ihalatci) merged 4 commits into
release-13.2from
ihalatci-release-13-extract-quoting
Aug 28, 2026
Merged

Backport EXTRACT identifier quoting fix to release-13.2#8810
ibrahim halatci (ihalatci) merged 4 commits into
release-13.2from
ihalatci-release-13-extract-quoting

Conversation

@ihalatci

@ihalatci ibrahim halatci (ihalatci) commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Summary

  • backport the focused CVE-2026-15741 EXTRACT field quoting fix from Quote EXTRACT fields and bump PostgreSQL minors #8804
  • apply quote_identifier(TextDatumGetCString(con->constvalue)) only to the PostgreSQL 15, 16, and 17 ruleutils copies supported by release-13.2
  • add one shared, repeat-safe regression under multi_1_create_citus_schedule, keeping it out of the N-1 matrix whose older libraries intentionally lack the fix
  • leave unsupported PostgreSQL 18 code untouched

Fixes #8803.

Validation

  • PostgreSQL 15.19 + Citus build with -Werror
  • PostgreSQL 16.15 + Citus build with -Werror
  • PostgreSQL 17.11 + Citus build with -Werror
  • shared extract_deparse regression on PG15.19, PG16.15, and PG17.11
  • each supported version: --repeat 8 --use-whole-schedule-line (24/24 target executions passed)
  • git diff --check
  • SQL snapshot consistency check

CI triage

All functional checks pass, including PG15-17 builds and regressions, style/snapshot checks, and PG17 N-1 compatibility jobs. The remaining 32 Test flakyness failures reproduce the existing multi_follower_dml failure on the latest unmodified release-13.2 run: https://github.com/citusdata/citus/actions/runs/32951828115. The codecov/project failure is downstream of those baseline failures.

ihalatci-msft and others added 4 commits August 27, 2026 18:11
Backport the focused CVE-2026-15741 fix from #8804 to the PostgreSQL versions supported by release-13.2.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Run the focused coverage from the current-only extension schedule so mixed-version jobs keep using their release-13.2 expectations.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 49709f7a-73da-4256-8380-8e46d17f61e0
Reuse the validated shared test shape so cleanup output is deterministic in the full current-version schedule.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 49709f7a-73da-4256-8380-8e46d17f61e0
Remove blank lines that the release-13 regression harness does not echo while keeping the shared SQL identical to the validated main-branch test.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 49709f7a-73da-4256-8380-8e46d17f61e0
@codecov

codecov Bot commented Aug 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 29.14%. Comparing base (5fe77a9) to head (c6567b6).

❌ Your project check has failed because the head coverage (29.14%) is below the target coverage (87.50%). You can increase the head coverage or adjust the target coverage.

❗ There is a different number of reports uploaded between BASE (5fe77a9) and HEAD (c6567b6). Click for more details.

HEAD has 137 uploads less than BASE
Flag BASE (5fe77a9) HEAD (c6567b6)
17_regress_check-split-output-plugin-denied 1 0
17_regress_check-follower-cluster 1 0
16_regress_check-split-output-plugin-denied 1 0
17_regress_check-columnar-isolation_v13.4.0_all 1 0
17_regress_check-columnar-isolation_13.4-1_v13.4.0_workeronly 1 0
15_citus_upgrade 1 0
17_regress_check-pytest 1 0
17_regress_check-columnar-isolation_13.4-1_v13.4.0_coordinatoronly 1 0
17_regress_check-follower-cluster_13.4-1_all 1 0
15_regress_check-follower-cluster 1 0
16_regress_check-columnar-isolation 1 0
15_regress_check-add-backup-node 1 0
15_regress_check-enterprise-isolation-logicalrep-3 1 0
17_regress_check-enterprise-isolation-logicalrep-2_13.4-1_all 1 0
17_regress_check-enterprise-isolation-logicalrep-3_13.4-1_all 1 0
16_regress_check-follower-cluster 1 0
15_regress_check-split 1 0
15_regress_check-enterprise-isolation-logicalrep-2 1 0
17_regress_check-columnar-isolation 1 0
17_regress_check-split_13.4-1_v13.4.0_workeronly 1 0
16_regress_check-add-backup-node 1 0
17_regress_check-enterprise-isolation-logicalrep-2_13.4-1_v13.4.0_workeronly 1 0
17_arbitrary_configs_3 1 0
17_regress_check-enterprise-isolation-logicalrep-2_v13.4.0_all 1 0
17_regress_check-enterprise-failure 1 0
16_arbitrary_configs_3 1 0
17_regress_check-enterprise-isolation-logicalrep-2_13.4-1_v13.4.0_coordinatoronly 1 0
16_regress_check-enterprise-failure 1 0
15_regress_check-enterprise-failure 1 0
15_regress_check-vanilla 1 0
17_regress_check-columnar_13.4-1_all 1 0
15_regress_check-enterprise 1 0
17_regress_check-enterprise-isolation-logicalrep-3 1 0
17_regress_check-enterprise_13.4-1_all 1 0
17_regress_check-vanilla 1 0
16_regress_check-enterprise 1 0
17_regress_check-enterprise 1 0
17_regress_check-multi-mx 1 0
16_17_upgrade 1 0
17_regress_check-add-backup-node 1 0
17_regress_check-enterprise-isolation-logicalrep-3_13.4-1_v13.4.0_coordinatoronly 1 0
17_regress_check-add-backup-node_13.4-1_all 1 0
17_regress_check-add-backup-node_13.4-1_v13.4.0_workeronly 1 0
17_regress_check-enterprise_v13.4.0_all 1 0
15_16_upgrade 1 0
15_regress_check-split-output-plugin-denied 1 0
17_regress_check-query-generator 1 0
17_regress_check-enterprise-isolation-logicalrep-1_13.4-1_all 1 0
16_cdc_installcheck 1 0
15_arbitrary_configs_2 1 0
16_arbitrary_configs_2 1 0
17_regress_check-isolation_13.4-1_all 1 0
16_arbitrary_configs_4 1 0
16_arbitrary_configs_0 1 0
15_arbitrary_configs_4 1 0
17_arbitrary_configs_4 1 0
17_regress_check-isolation_13.4-1_v13.4.0_coordinatoronly 1 0
17_regress_check-multi_13.4-1_v13.4.0_workeronly 1 0
16_regress_check-multi 1 0
17_regress_check-multi_13.4-1_v13.4.0_coordinatoronly 1 0
17_regress_check-multi_v13.4.0_all 1 0
15_regress_check-columnar-isolation 1 0
17_regress_check-columnar-isolation_13.4-1_all 1 0
17_regress_check-follower-cluster_13.4-1_v13.4.0_workeronly 1 0
17_regress_check-multi_13.4-1_all 1 0
17_regress_check-enterprise_13.4-1_v13.4.0_workeronly 1 0
17_regress_check-isolation_13.4-1_v13.4.0_workeronly 1 0
17_regress_check-isolation_v13.4.0_all 1 0
17_arbitrary_configs_0 1 0
15_arbitrary_configs_0 1 0
17_regress_check-multi 1 0
16_regress_check-isolation 1 0
17_regress_check-enterprise-isolation-logicalrep-1_13.4-1_v13.4.0_coordinatoronly 1 0
17_regress_check-enterprise-isolation_13.4-1_v13.4.0_workeronly 1 0
17_regress_check-operations_13.4-1_all 1 0
17_regress_check-operations 1 0
17_regress_check-operations_v13.4.0_all 1 0
17_regress_check-operations_13.4-1_v13.4.0_coordinatoronly 1 0
17_regress_check-operations_13.4-1_v13.4.0_workeronly 1 0
15_regress_check-isolation 1 0
16_regress_check-multi-1 1 0
17_regress_check-multi-1_13.4-1_v13.4.0_workeronly 1 0
17_regress_check-multi-1_13.4-1_v13.4.0_coordinatoronly 1 0
17_regress_check-split_13.4-1_all 1 0
16_regress_check-enterprise-isolation-logicalrep-3 1 0
15_17_upgrade 1 0
15_regress_check-query-generator 1 0
17_regress_check-add-backup-node_13.4-1_v13.4.0_coordinatoronly 1 0
17_regress_check-enterprise_13.4-1_v13.4.0_coordinatoronly 1 0
15_regress_check-enterprise-isolation-logicalrep-1 1 0
16_regress_check-enterprise-isolation 1 0
16_regress_check-enterprise-isolation-logicalrep-1 1 0
17_cdc_installcheck 1 0
16_regress_check-multi-1-create-citus 1 0
15_regress_check-multi-1-create-citus 1 0
15_cdc_installcheck 1 0
16_regress_check-multi-mx 1 0
17_regress_check-enterprise-isolation-logicalrep-1 1 0
15_regress_check-multi-mx 1 0
17_regress_check-split_v13.4.0_all 1 0
17_regress_check-columnar_13.4-1_v13.4.0_workeronly 1 0
17_regress_check-multi-1-create-citus 1 0
17_regress_check-enterprise-isolation-logicalrep-1_v13.4.0_all 1 0
17_regress_check-enterprise-isolation 1 0
17_regress_check-enterprise-isolation_v13.4.0_all 1 0
15_arbitrary_configs_5 1 0
17_regress_check-multi-1_v13.4.0_all 1 0
17_arbitrary_configs_1 1 0
15_regress_check-operations 1 0
17_regress_check-multi-1_13.4-1_all 1 0
15_regress_check-multi-1 1 0
17_regress_check-multi-1 1 0
15_arbitrary_configs_1 1 0
16_arbitrary_configs_1 1 0
17_regress_check-add-backup-node_v13.4.0_all 1 0
17_regress_check-enterprise-isolation-logicalrep-3_v13.4.0_all 1 0
16_regress_check-query-generator 1 0
16_regress_check-vanilla 1 0
17_regress_check-columnar_v13.4.0_all 1 0
17_regress_check-failure 1 0
15_regress_check-enterprise-isolation 1 0
17_regress_check-enterprise-isolation-logicalrep-1_13.4-1_v13.4.0_workeronly 1 0
15_regress_check-failure 1 0
16_arbitrary_configs_5 1 0
17_regress_check-columnar 1 0
16_regress_check-operations 1 0
17_regress_check-enterprise-isolation_13.4-1_all 1 0
17_regress_check-isolation 1 0
17_regress_check-enterprise-isolation-logicalrep-2 1 0
15_regress_check-columnar 1 0
15_regress_check-multi 1 0
17_arbitrary_configs_2 1 0
16_regress_check-columnar 1 0
17_regress_check-columnar_13.4-1_v13.4.0_coordinatoronly 1 0
17_regress_check-follower-cluster_13.4-1_v13.4.0_coordinatoronly 1 0
17_regress_check-split_13.4-1_v13.4.0_coordinatoronly 1 0
17_regress_check-follower-cluster_v13.4.0_all 1 0
Additional details and impacted files
@@                Coverage Diff                @@
##           release-13.2    #8810       +/-   ##
=================================================
- Coverage         88.72%   29.14%   -59.59%     
=================================================
  Files               289      289               
  Lines             64633    63840      -793     
  Branches           8153     7992      -161     
=================================================
- Hits              57348    18606    -38742     
- Misses             4872    43051    +38179     
+ Partials           2413     2183      -230     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ihalatci
ibrahim halatci (ihalatci) merged commit aeac7dc into release-13.2 Aug 28, 2026
182 of 215 checks passed
@ihalatci
ibrahim halatci (ihalatci) deleted the ihalatci-release-13-extract-quoting branch August 28, 2026 11:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants