Commit d7a31aa
authored
feat(ir): more flexible dereferencing support for join right hand side (ibis-project#8992)
Enables to use fields from parent tables of the join right hand side
instead of enforcing to use the same exact table:
```py
t1 = ibis.table(name="t1", schema={"a": "int64", "b": "string"})
t2 = ibis.table(name="t2", schema={"c": "int64", "d": "string"})
t3 = t2.mutate(e=t2.c + 1)
joined = t1.join(t3, [t1.a == t2.c]) # here we use t2.c instead of t3.c
```
Identify ambiguous cases and raise an error, like the following case:
```py
t.join(t, [t.a == t.a])
```
depends on:
- ibis-project#9043
- ibis-project#9041
fixes ibis-project#85811 parent e04c3e5 commit d7a31aa
42 files changed
Lines changed: 563 additions & 424 deletions
File tree
- docs
- _code
- how-to/analytics
- ibis
- backends
- bigquery/tests/unit
- snapshots/test_compiler/test_projection_fusion_only_peeks_at_immediate_parent
- clickhouse/tests/snapshots/test_select/test_join_self_reference
- impala/tests/snapshots/test_sql
- test_join_key_name2
- test_join_with_nested_or_condition
- test_join_with_nested_xor_condition
- test_limit_cte_extract
- test_nested_join_base
- test_nested_joins_single_cte
- pandas
- polars
- sql
- tests
- sql/snapshots
- test_select_sql
- test_limit_cte_extract
- test_limit_with_self_join
- test_self_join_subquery_distinct_equal
- test_subquery_in_union
- test_subquery_used_for_self_join
- test_tpch_self_join_failure
- test_sql
- test_cte_factor_distinct_but_equal
- test_self_reference_join
- tpch/snapshots
- test_h07/test_tpc_h07
- duckdb
- trino
- test_h08/test_tpc_h08
- duckdb
- trino
- common
- tests
- expr
- operations
- tests
- snapshots/test_format
- test_asof_join
- test_two_inner_joins
- types
- tests/expr
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
61 | | - | |
| 61 | + | |
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
69 | | - | |
70 | | - | |
| 69 | + | |
| 70 | + | |
71 | 71 | | |
72 | | - | |
| 72 | + | |
73 | 73 | | |
74 | | - | |
| 74 | + | |
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
| 18 | + | |
19 | 19 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
274 | 274 | | |
275 | 275 | | |
276 | 276 | | |
277 | | - | |
| 277 | + | |
| 278 | + | |
278 | 279 | | |
279 | 280 | | |
280 | 281 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
17 | | - | |
| 16 | + | |
| 17 | + | |
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | | - | |
| 5 | + | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | | - | |
| 5 | + | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
23 | 23 | | |
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
0 commit comments