Skip to content

Commit

Permalink
test(flink): test the joins with no column overlap
Browse files Browse the repository at this point in the history
  • Loading branch information
deepyaman authored and jcrist committed Jun 26, 2023
1 parent be52c20 commit 4f7aede
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
WITH t0 AS (
SELECT t3.*
FROM batting t3
WHERE t3.`yearID` = 2015
),
t1 AS (
SELECT t3.*
FROM awards_players t3
WHERE t3.`lgID` = 'NL'
),
t2 AS (
SELECT t0.`yearID` AS `year`, t0.`RBI`
FROM t0
)
SELECT *
FROM t2
INNER JOIN t1
ON t2.`year` = t1.`yearID`
WHERE `RBI` = 9
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
WITH t0 AS (
SELECT t4.*, t4.`yearID` AS `year`
FROM batting t4
),
t1 AS (
SELECT t0.*
FROM t0
WHERE t0.`year` = 2015
),
t2 AS (
SELECT t1.`year`, t1.`RBI`
FROM t1
)
SELECT *
FROM t2
INNER JOIN awards_players t3
ON t2.`year` = t3.`yearID`
LIMIT 5
22 changes: 22 additions & 0 deletions ibis/backends/flink/tests/test_join.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,25 @@ def test_mutating_join(batting, awards_players, how, snapshot):
expr = left.join(right, predicate, how=how)
result = translate(expr.as_table().op())
snapshot.assert_match(str(result), "out.sql")


def test_join_then_filter_no_column_overlap(awards_players, batting, snapshot):
left = batting[batting.yearID == 2015]
year = left.yearID.name("year")
left = left[year, "RBI"]
right = awards_players[awards_players.lgID == 'NL']

expr = left.join(right, left.year == right.yearID)
filters = [expr.RBI == 9]
q = expr.filter(filters)
result = translate(q.as_table().op())
snapshot.assert_match(str(result), "out.sql")


def test_mutate_then_join_no_column_overlap(batting, awards_players, snapshot):
left = batting.mutate(year=batting.yearID).filter(lambda t: t.year == 2015)
left = left["year", "RBI"]
right = awards_players
expr = left.join(right, left.year == right.yearID)
result = translate(expr.limit(5).as_table().op())
snapshot.assert_match(str(result), "out.sql")

0 comments on commit 4f7aede

Please sign in to comment.