Changeset: 6e5eff60411f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6e5eff60411f
Added Files:
        sql/test/lateral/Tests/lateral.test
Branch: mtest
Log Message:

Converted lateral tests


diffs (122 lines):

diff --git a/sql/test/lateral/Tests/lateral.test 
b/sql/test/lateral/Tests/lateral.test
new file mode 100644
--- /dev/null
+++ b/sql/test/lateral/Tests/lateral.test
@@ -0,0 +1,117 @@
+statement ok
+CREATE function to_date(d string, dummy string) returns date
+begin
+       return str_to_date (d, '%d-%m-%Y');
+end
+
+statement ok
+CREATE TABLE departments (
+         department_id   INTEGER CONSTRAINT departments_pk PRIMARY KEY,
+         department_name VARCHAR(14),
+         location        VARCHAR(13)
+)
+
+statement ok
+INSERT INTO departments VALUES (10,'ACCOUNTING','NEW YORK')
+
+statement ok
+INSERT INTO departments VALUES (20,'RESEARCH','DALLAS')
+
+statement ok
+INSERT INTO departments VALUES (30,'SALES','CHICAGO')
+
+statement ok
+INSERT INTO departments VALUES (40,'OPERATIONS','BOSTON')
+
+statement ok
+CREATE TABLE employees (
+         employee_id   INTEGER CONSTRAINT employees_pk PRIMARY KEY,
+         employee_name VARCHAR(10),
+         job           VARCHAR(9),
+         manager_id    INTEGER,
+         hiredate      DATE,
+         salary        DECIMAL(7,2),
+         commission    DECIMAL(7,2),
+         department_id integer CONSTRAINT emp_department_id_fk REFERENCES 
departments(department_id)
+)
+
+statement ok
+INSERT INTO employees VALUES 
(7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20)
+
+statement ok
+INSERT INTO employees VALUES 
(7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30)
+
+statement ok
+INSERT INTO employees VALUES 
(7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30)
+
+statement ok
+INSERT INTO employees VALUES 
(7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20)
+
+statement ok
+INSERT INTO employees VALUES 
(7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30)
+
+statement ok
+INSERT INTO employees VALUES 
(7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30)
+
+statement ok
+INSERT INTO employees VALUES 
(7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10)
+
+statement ok
+INSERT INTO employees VALUES 
(7788,'SCOTT','ANALYST',7566,to_date('13-6-1987','dd-mm-rr')-interval '85' 
day,3000,NULL,20)
+
+statement ok
+INSERT INTO employees VALUES 
(7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10)
+
+statement ok
+INSERT INTO employees VALUES 
(7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30)
+
+statement ok
+INSERT INTO employees VALUES (7876,'ADAMS','CLERK',7788,to_date('13-6-1987', 
'dd-mm-rr')-interval '85' day,1100,NULL,20)
+
+statement ok
+INSERT INTO employees VALUES 
(7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30)
+
+statement ok
+INSERT INTO employees VALUES 
(7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20)
+
+statement ok
+INSERT INTO employees VALUES 
(7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10)
+
+query TT rowsort
+SELECT department_name, employee_name FROM
+       departments as d JOIN LATERAL (SELECT employee_name FROM   employees e 
WHERE  e.department_id = d.department_id) as e on TRUE
+order by department_name, employee_name
+----
+28 values hashing to dd6ed2b4218f7a975710cdd61c4c5918
+
+query TT rowsort
+SELECT department_name, employee_name FROM
+       departments as d, LATERAL (SELECT employee_name FROM   employees e 
WHERE  e.department_id = d.department_id) as e
+order by department_name, employee_name
+----
+28 values hashing to dd6ed2b4218f7a975710cdd61c4c5918
+
+statement ok
+create function emps(dep_id integer) returns table(employee_name string)
+begin
+       return TABLE(select employee_name from employees e where 
e.department_id = dep_id);
+end
+
+query TT rowsort
+select department_name, employee_name from departments as d, LATERAL 
emps(d.department_id) order by department_name, employee_name
+----
+112 values hashing to f495ad9b71b9275c39be6a3282a144e2
+
+statement ok
+DROP FUNCTION emps
+
+statement ok
+DROP TABLE employees
+
+statement ok
+DROP TABLE departments
+
+statement ok
+DROP FUNCTION to_date(string, string)
+
+
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to