Skip to content

Commit

Permalink
test(flink): test different hows for mutating join
Browse files Browse the repository at this point in the history
  • Loading branch information
deepyaman authored and jcrist committed Jun 26, 2023
1 parent 83fe5c3 commit be52c20
Show file tree
Hide file tree
Showing 5 changed files with 71 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
WITH t0 AS (
SELECT t3.*
FROM awards_players t3
WHERE t3.`lgID` = 'NL'
),
t1 AS (
SELECT t0.`playerID`, t0.`awardID`, t0.`tie`, t0.`notes`
FROM t0
),
t2 AS (
SELECT t3.*
FROM batting t3
WHERE t3.`yearID` = 2015
)
SELECT t2.`playerID`, t2.`yearID`, t2.`stint`, t2.`teamID`, t2.`lgID`, t2.`G`,
t2.`AB`, t2.`R`, t2.`H`, t2.`X2B`, t2.`X3B`, t2.`HR`, t2.`RBI`,
t2.`SB`, t2.`CS`, t2.`BB`, t2.`SO`, t2.`IBB`, t2.`HBP`, t2.`SH`,
t2.`SF`, t2.`GIDP`, t1.`playerID` AS `playerID_right`,
t1.`awardID`, t1.`tie`, t1.`notes`
FROM t2
LEFT OUTER JOIN t1
ON t2.`playerID` = t1.`playerID`
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
WITH t0 AS (
SELECT t3.*
FROM awards_players t3
WHERE t3.`lgID` = 'NL'
),
t1 AS (
SELECT t0.`playerID`, t0.`awardID`, t0.`tie`, t0.`notes`
FROM t0
),
t2 AS (
SELECT t3.*
FROM batting t3
WHERE t3.`yearID` = 2015
)
SELECT t2.`playerID`, t2.`yearID`, t2.`stint`, t2.`teamID`, t2.`lgID`, t2.`G`,
t2.`AB`, t2.`R`, t2.`H`, t2.`X2B`, t2.`X3B`, t2.`HR`, t2.`RBI`,
t2.`SB`, t2.`CS`, t2.`BB`, t2.`SO`, t2.`IBB`, t2.`HBP`, t2.`SH`,
t2.`SF`, t2.`GIDP`, t1.`playerID` AS `playerID_right`,
t1.`awardID`, t1.`tie`, t1.`notes`
FROM t2
FULL OUTER JOIN t1
ON t2.`playerID` = t1.`playerID`
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
WITH t0 AS (
SELECT t3.*
FROM awards_players t3
WHERE t3.`lgID` = 'NL'
),
t1 AS (
SELECT t0.`playerID`, t0.`awardID`, t0.`tie`, t0.`notes`
FROM t0
),
t2 AS (
SELECT t3.*
FROM batting t3
WHERE t3.`yearID` = 2015
)
SELECT t2.`playerID`, t2.`yearID`, t2.`stint`, t2.`teamID`, t2.`lgID`, t2.`G`,
t2.`AB`, t2.`R`, t2.`H`, t2.`X2B`, t2.`X3B`, t2.`HR`, t2.`RBI`,
t2.`SB`, t2.`CS`, t2.`BB`, t2.`SO`, t2.`IBB`, t2.`HBP`, t2.`SH`,
t2.`SF`, t2.`GIDP`, t1.`playerID` AS `playerID_right`,
t1.`awardID`, t1.`tie`, t1.`notes`
FROM t2
RIGHT OUTER JOIN t1
ON t2.`playerID` = t1.`playerID`
7 changes: 5 additions & 2 deletions ibis/backends/flink/tests/test_join.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
import pytest

from ibis.backends.flink.compiler.core import translate


def test_mutating_join(batting, awards_players, snapshot):
@pytest.mark.parametrize("how", ["inner", "left", "right", "outer"])
def test_mutating_join(batting, awards_players, how, snapshot):
left = batting[batting.yearID == 2015]
right = awards_players[awards_players.lgID == 'NL'].drop('yearID', 'lgID')

predicate = ['playerID']

expr = left.join(right, predicate)
expr = left.join(right, predicate, how=how)
result = translate(expr.as_table().op())
snapshot.assert_match(str(result), "out.sql")

0 comments on commit be52c20

Please sign in to comment.