You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by nsyca <gi...@git.apache.org> on 2017/01/26 17:42:23 UTC

[GitHub] spark pull request #16710: [SPARK-18872][SQL][TESTS] New test cases for EXIS...

Github user nsyca commented on a diff in the pull request:

    https://github.com/apache/spark/pull/16710#discussion_r98048517
  
    --- Diff: sql/core/src/test/resources/sql-tests/results/subquery/exists-subquery/exists-basic.sql.out ---
    @@ -0,0 +1,201 @@
    +-- Automatically generated by SQLQueryTestSuite
    +-- Number of queries: 12
    +
    +
    +-- !query 0
    +CREATE TEMPORARY VIEW EMP AS SELECT * FROM VALUES
    +  (100, "emp 1", date "2005-01-01", 100.00D, 10),
    +  (100, "emp 1", date "2005-01-01", 100.00D, 10),
    +  (200, "emp 2", date "2003-01-01", 200.00D, 10),
    +  (300, "emp 3", date "2002-01-01", 300.00D, 20),
    +  (400, "emp 4", date "2005-01-01", 400.00D, 30),
    +  (500, "emp 5", date "2001-01-01", 400.00D, NULL),
    +  (600, "emp 6 - no dept", date "2001-01-01", 400.00D, 100),
    +  (700, "emp 7", date "2010-01-01", 400.00D, 100),
    +  (800, "emp 8", date "2016-01-01", 150.00D, 70)
    +AS EMP(id, emp_name, hiredate, salary, dept_id)
    +-- !query 0 schema
    +struct<>
    +-- !query 0 output
    +
    +
    +
    +-- !query 1
    +CREATE TEMPORARY VIEW DEPT AS SELECT * FROM VALUES
    +  (10, "dept 1", "CA"),
    +  (20, "dept 2", "NY"),
    +  (30, "dept 3", "TX"),
    +  (40, "dept 4 - unassigned", "OR"),
    +  (50, "dept 5 - unassigned", "NJ"),
    +  (70, "dept 7", "FL")
    +AS DEPT(dept_id, dept_name, state)
    +-- !query 1 schema
    +struct<>
    +-- !query 1 output
    +
    +
    +
    +-- !query 2
    +CREATE TEMPORARY VIEW BONUS AS SELECT * FROM VALUES
    +  ("emp 1", 10.00D),
    +  ("emp 1", 20.00D),
    +  ("emp 2", 300.00D),
    +  ("emp 2", 100.00D),
    +  ("emp 3", 300.00D),
    +  ("emp 4", 100.00D),
    +  ("emp 5", 1000.00D),
    +  ("emp 6 - no dept", 500.00D)
    +AS BONUS(emp_name, bonus_amt)
    +-- !query 2 schema
    +struct<>
    +-- !query 2 output
    +
    +
    +
    +-- !query 3
    +SELECT * 
    +FROM   emp 
    +WHERE  EXISTS (SELECT 1 
    +               FROM   dept 
    +               WHERE  dept.dept_id > 10 
    +                      AND dept.dept_id < 30)
    +-- !query 3 schema
    +struct<id:int,emp_name:string,hiredate:date,salary:double,dept_id:int>
    +-- !query 3 output
    +100	emp 1	2005-01-01	100.0	10
    +100	emp 1	2005-01-01	100.0	10
    +200	emp 2	2003-01-01	200.0	10
    +300	emp 3	2002-01-01	300.0	20
    +400	emp 4	2005-01-01	400.0	30
    +500	emp 5	2001-01-01	400.0	NULL
    +600	emp 6 - no dept	2001-01-01	400.0	100
    +700	emp 7	2010-01-01	400.0	100
    +800	emp 8	2016-01-01	150.0	70
    +
    +
    +-- !query 4
    +SELECT * 
    +FROM   emp 
    +WHERE  EXISTS (SELECT dept.dept_name 
    +               FROM   dept 
    +               WHERE  emp.dept_id = dept.dept_id)
    +-- !query 4 schema
    +struct<id:int,emp_name:string,hiredate:date,salary:double,dept_id:int>
    +-- !query 4 output
    +100	emp 1	2005-01-01	100.0	10
    +100	emp 1	2005-01-01	100.0	10
    +200	emp 2	2003-01-01	200.0	10
    +300	emp 3	2002-01-01	300.0	20
    +400	emp 4	2005-01-01	400.0	30
    +800	emp 8	2016-01-01	150.0	70
    +
    +
    +-- !query 5
    +SELECT * 
    +FROM   emp 
    +WHERE  EXISTS (SELECT dept.dept_name 
    +               FROM   dept 
    +               WHERE  emp.dept_id = dept.dept_id 
    +                       OR emp.dept_id IS NULL)
    +-- !query 5 schema
    +struct<id:int,emp_name:string,hiredate:date,salary:double,dept_id:int>
    +-- !query 5 output
    +100	emp 1	2005-01-01	100.0	10
    +100	emp 1	2005-01-01	100.0	10
    +200	emp 2	2003-01-01	200.0	10
    +300	emp 3	2002-01-01	300.0	20
    +400	emp 4	2005-01-01	400.0	30
    +500	emp 5	2001-01-01	400.0	NULL
    +800	emp 8	2016-01-01	150.0	70
    +
    +
    +-- !query 6
    +SELECT * 
    +FROM   emp 
    +WHERE  EXISTS (SELECT dept.dept_name 
    +               FROM   dept 
    +               WHERE  emp.dept_id = dept.dept_id) 
    +       AND emp.id > 200
    +-- !query 6 schema
    +struct<id:int,emp_name:string,hiredate:date,salary:double,dept_id:int>
    +-- !query 6 output
    +300	emp 3	2002-01-01	300.0	20
    +400	emp 4	2005-01-01	400.0	30
    +800	emp 8	2016-01-01	150.0	70
    +
    +
    +-- !query 7
    +SELECT emp.emp_name 
    +FROM   emp 
    +WHERE  EXISTS (SELECT dept.state 
    +               FROM   dept 
    +               WHERE  emp.dept_id = dept.dept_id) 
    +       AND emp.id > 200
    +-- !query 7 schema
    +struct<emp_name:string>
    +-- !query 7 output
    +emp 3
    +emp 4
    +emp 8
    +
    +
    +-- !query 8
    +SELECT * 
    +FROM   dept 
    +WHERE  NOT EXISTS (SELECT emp_name 
    +                   FROM   emp 
    +                   WHERE  emp.dept_id = dept.dept_id)
    +-- !query 8 schema
    +struct<dept_id:int,dept_name:string,state:string>
    +-- !query 8 output
    +40	dept 4 - unassigned	OR
    +50	dept 5 - unassigned	NJ
    +
    +
    +-- !query 9
    +SELECT * 
    +FROM   dept 
    +WHERE  NOT EXISTS (SELECT emp_name 
    +                   FROM   emp 
    +                   WHERE  emp.dept_id = dept.dept_id 
    +                           OR state = 'NJ')
    +-- !query 9 schema
    +struct<dept_id:int,dept_name:string,state:string>
    +-- !query 9 output
    +40	dept 4 - unassigned	OR
    +
    +
    +-- !query 10
    +SELECT * 
    +FROM   bonus 
    +WHERE  NOT EXISTS (SELECT * 
    +                   FROM   emp 
    +                   WHERE  emp.emp_name = emp_name 
    +                          AND bonus_amt > emp.salary)
    +-- !query 10 schema
    +struct<emp_name:string,bonus_amt:double>
    +-- !query 10 output
    +emp 1	10.0
    +emp 1	20.0
    +emp 2	100.0
    +emp 4	100.0
    +
    +
    +-- !query 11
    +SELECT * 
    +FROM   bonus 
    +WHERE  EXISTS (SELECT emp_name 
    +               FROM   emp 
    +               WHERE  bonus.emp_name = emp.emp_name 
    +                      AND EXISTS (SELECT state 
    +                                  FROM   dept 
    +                                  WHERE  dept.dept_id = emp.dept_id))
    +-- !query 11 schema
    +struct<emp_name:string,bonus_amt:double>
    +-- !query 11 output
    +emp 1	10.0
    +emp 1	20.0
    +emp 2	100.0
    +emp 2	300.0
    +emp 3	300.0
    +emp 4	100.0
    --- End diff --
    
    I have compared this result file with the attached DB2 output. The two sets of result are equivalent.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org