Skip to content

Outer join removal in citus_tables view#8546

Open
michailtoksovo wants to merge 1 commit intocitusdata:mainfrom
michailtoksovo:main
Open

Outer join removal in citus_tables view#8546
michailtoksovo wants to merge 1 commit intocitusdata:mainfrom
michailtoksovo:main

Conversation

@michailtoksovo
Copy link
Copy Markdown
Contributor

Hey! I noticed a small issue with the citus_tables view: even when selecting just a single column from it (e.g. table_name), it still triggers network communication between nodes due to citus_shard_size() call within a subquery. I wanted to get rid of that overhead wherever possible.

I replaced the INNER JOIN with a LEFT OUTER JOIN. This lets PostgreSQL's outer join removal optimization kick in, so the join (and the extra network traffic) gets completely skipped when the right-side columns aren't used.

@codecov
Copy link
Copy Markdown

codecov bot commented Apr 16, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 72.74%. Comparing base (42edfe8) to head (0abf8ab).

❗ There is a different number of reports uploaded between BASE (42edfe8) and HEAD (0abf8ab). Click for more details.

HEAD has 64 uploads less than BASE
Flag BASE (42edfe8) HEAD (0abf8ab)
18_regress_check-query-generator 1 0
17_citus_upgrade 1 0
18_regress_check-pytest 1 0
16_citus_upgrade 1 0
16_regress_check-pytest 1 0
17_regress_check-pytest 1 0
17_regress_check-add-backup-node 1 0
18_regress_check-columnar-isolation 1 0
16_regress_check-add-backup-node 1 0
17_18_upgrade 1 0
17_regress_check-follower-cluster 1 0
16_regress_check-columnar-isolation 1 0
16_regress_check-tap 1 0
18_regress_check-tap 1 0
18_regress_check-follower-cluster 1 0
17_regress_check-tap 1 0
17_regress_check-columnar-isolation 1 0
16_17_upgrade 1 0
16_regress_check-enterprise-failure 1 0
16_regress_check-enterprise-isolation-logicalrep-2 1 0
18_regress_check-enterprise-failure 1 0
18_regress_check-enterprise-isolation-logicalrep-2 1 0
17_regress_check-enterprise-failure 1 0
16_arbitrary_configs_3 1 0
17_arbitrary_configs_3 1 0
18_arbitrary_configs_3 1 0
17_regress_check-query-generator 1 0
16_18_upgrade 1 0
17_regress_check-enterprise-isolation-logicalrep-3 1 0
18_regress_check-columnar 1 0
18_regress_check-add-backup-node 1 0
17_regress_check-enterprise-isolation-logicalrep-2 1 0
18_cdc_installcheck 1 0
17_cdc_installcheck 1 0
17_regress_check-enterprise-isolation-logicalrep-1 1 0
17_arbitrary_configs_5 1 0
16_arbitrary_configs_5 1 0
18_regress_check-multi-1-create-citus 1 0
17_regress_check-multi-mx 1 0
16_regress_check-enterprise-isolation-logicalrep-3 1 0
18_regress_check-enterprise-isolation-logicalrep-3 1 0
16_regress_check-isolation 1 0
18_regress_check-isolation 1 0
16_arbitrary_configs_2 1 0
18_regress_check-multi 1 0
16_regress_check-multi 1 0
17_arbitrary_configs_0 1 0
18_arbitrary_configs_4 1 0
16_cdc_installcheck 1 0
17_regress_check-multi 1 0
18_arbitrary_configs_0 1 0
16_arbitrary_configs_0 1 0
18_regress_check-multi-1 1 0
17_arbitrary_configs_2 1 0
17_regress_check-isolation 1 0
16_regress_check-multi-1 1 0
18_regress_check-operations 1 0
16_regress_check-operations 1 0
17_regress_check-operations 1 0
17_regress_check-multi-1 1 0
16_regress_check-multi-mx 1 0
18_arbitrary_configs_1 1 0
17_arbitrary_configs_1 1 0
16_arbitrary_configs_1 1 0
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #8546       +/-   ##
===========================================
- Coverage   88.88%   72.74%   -16.15%     
===========================================
  Files         286      286               
  Lines       63763    63750       -13     
  Branches     8017     8012        -5     
===========================================
- Hits        56678    46376    -10302     
- Misses       4776    14621     +9845     
- Partials     2309     2753      +444     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

1 participant