Skip to content

Conversation

KKould
Copy link
Member

@KKould KKould commented Sep 24, 2025

I hereby agree to the terms of the CLA available at: https://docs.databend.com/dev/policies/cla/

Summary

Refer to ClickHouse's Any Join

Any Join only supports HashJoin of equal value Join, which will only match the same key row once

example:

CREATE OR REPLACE TABLE t1 (id Int32, val1 String);

CREATE OR REPLACE TABLE t2 (id Int32, val2 String);

INSERT INTO t1 VALUES
(1, 'a1'),
(1, 'a2'),
(2, 'b1'),
(3, 'c1'),
(5, 'e1'),
(NULL, 'n1');

INSERT INTO t2 VALUES
(1, 'x1'),
(1, 'x2'),
(3, 'y1'),
(4, 'z1'),
(NULL, 'n2');

SELECT t1.id, t1.val1, t2.val2 FROM t1 INNER ANY JOIN t2 USING(id);
╭───────────────────────────────────────────────────────╮
│        id       │       val1       │       val2       │
│ Nullable(Int32) │ Nullable(String) │ Nullable(String) │
├─────────────────┼──────────────────┼──────────────────┤
│               1'a1''x2'             │
│               3'c1''y1'             │
╰───────────────────────────────────────────────────────╯

Tests

  • Unit Test
  • Logic Test
  • Benchmark Test
  • No Test - Explain why

Type of change

  • Bug Fix (non-breaking change which fixes an issue)
  • New Feature (non-breaking change which adds functionality)
  • Breaking Change (fix or feature that could cause existing functionality not to work as expected)
  • Documentation Update
  • Refactoring
  • Performance Improvement
  • Other (please describe):

This change is Reviewable

@github-actions github-actions bot added the pr-feature this PR introduces a new feature to the codebase label Sep 24, 2025
@KKould KKould self-assigned this Sep 24, 2025
Copy link
Contributor

github-actions bot commented Sep 24, 2025

🤖 Smart Auto-retry Analysis

Workflow: 18083854449

📊 Summary

  • Total Jobs: 83
  • Failed Jobs: 36
  • Retryable: 0
  • Code Issues: 36

NO RETRY NEEDED

All failures appear to be code/test issues requiring manual fixes.

🔍 Job Details

  • linux / test_unit: Not retryable (Code/Test)
  • linux / test_stateless_cluster: Not retryable (Code/Test)
  • linux / test_stateless_standalone: Not retryable (Code/Test)
  • linux / sqllogic / standalone_minio_with_bendsave: Not retryable (Code/Test)
  • linux / sqllogic / standalone_minio (query, hybrid, parquet): Not retryable (Code/Test)
  • linux / sqllogic / standalone (duckdb, 4c16g, http): Not retryable (Code/Test)
  • linux / sqllogic / standalone_minio (query, http, native): Not retryable (Code/Test)
  • linux / sqllogic / standalone (crdb, 2c8g, hybrid): Not retryable (Code/Test)
  • linux / sqllogic / standalone (query, 4c16g, http): Not retryable (Code/Test)
  • linux / sqllogic / standalone (query, 4c16g, hybrid): Not retryable (Code/Test)
  • linux / sqllogic / standalone (duckdb, 4c16g, hybrid): Not retryable (Code/Test)
  • linux / sqllogic / standalone (base, 2c8g, hybrid): Not retryable (Code/Test)
  • linux / sqllogic / standalone_minio (query, hybrid, native): Not retryable (Code/Test)
  • linux / sqllogic / standalone (standalone, 2c8g, http): Not retryable (Code/Test)
  • linux / sqllogic / standalone (tpch, 2c8g, hybrid): Not retryable (Code/Test)
  • linux / sqllogic / standalone (base, 2c8g, http): Not retryable (Code/Test)
  • linux / sqllogic / standalone (crdb, 2c8g, http): Not retryable (Code/Test)
  • linux / sqllogic / standalone (tpch, 2c8g, http): Not retryable (Code/Test)
  • linux / sqllogic / standalone (standalone, 2c8g, hybrid): Not retryable (Code/Test)
  • linux / sqllogic / standalone_minio (query, http, parquet): Not retryable (Code/Test)
  • linux / sqllogic / standalone (tpcds, 4c16g, 1, hybrid): Not retryable (Code/Test)
  • linux / sqllogic / standalone (tpcds, 4c16g, 1, http): Not retryable (Code/Test)
  • linux / sqllogic / cluster (crdb, 2c8g, 2, http): Not retryable (Code/Test)
  • linux / sqllogic / cluster (query, 4c16g, hybrid): Not retryable (Code/Test)
  • linux / sqllogic / cluster (duckdb, 4c16g, http): Not retryable (Code/Test)
  • linux / sqllogic / cluster (crdb, 2c8g, 2, hybrid): Not retryable (Code/Test)
  • linux / sqllogic / cluster (base, 2c8g, 2, http): Not retryable (Code/Test)
  • linux / sqllogic / cluster (duckdb, 4c16g, hybrid): Not retryable (Code/Test)
  • linux / sqllogic / cluster (cluster, 2c8g, http): Not retryable (Code/Test)
  • linux / sqllogic / cluster (base, 2c8g, 2, hybrid): Not retryable (Code/Test)
  • linux / sqllogic / cluster (cluster, 2c8g, hybrid): Not retryable (Code/Test)
  • linux / sqllogic / cluster (tpcds, 2c8g, hybrid): Not retryable (Code/Test)
  • linux / sqllogic / cluster (query, 4c16g, http): Not retryable (Code/Test)
  • linux / sqllogic / cluster (tpch, 2c8g, http): Not retryable (Code/Test)
  • linux / sqllogic / cluster (tpcds, 2c8g, http): Not retryable (Code/Test)
  • linux / sqllogic / cluster (tpch, 2c8g, hybrid): Not retryable (Code/Test)

🤖 About

Automated analysis using job annotations to distinguish infrastructure issues (auto-retried) from code/test issues (manual fixes needed).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr-feature this PR introduces a new feature to the codebase
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Feature: add left/right any join type
1 participant