--1. testLagWithPTFWindowing select p_mfgr, p_name, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, p_retailprice, sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1, p_size, p_size - lag(p_size,1,p_size) over (partition by p_mfgr order by p_name) as deltaSz from noop(on part partition by p_mfgr order by p_name ); -- 2. testLagWithWindowingNoPTF select p_mfgr, p_name, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, p_retailprice, sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1, p_size, p_size - lag(p_size,1,p_size) over (partition by p_mfgr order by p_name) as deltaSz from part ; -- 3. testJoinWithLag select p1.p_mfgr, p1.p_name, p1.p_size, p1.p_size - lag(p1.p_size,1,p1.p_size) over( distribute by p1.p_mfgr sort by p1.p_name) as deltaSz from part p1 join part p2 on p1.p_partkey = p2.p_partkey ; -- 4. testLagInSum select p_mfgr,p_name, p_size, sum(p_size - lag(p_size,1)) over(distribute by p_mfgr sort by p_name ) as deltaSum from part window w1 as (rows between 2 preceding and 2 following) ; -- 5. testLagInSumOverWindow select p_mfgr,p_name, p_size, sum(p_size - lag(p_size,1)) over w1 as deltaSum from part window w1 as (distribute by p_mfgr sort by p_name rows between 2 preceding and 2 following) ; set hive.cbo.enable=false; -- 6. testRankInLead -- disable cbo because of CALCITE-653 select p_mfgr, p_name, p_size, r1, lead(r1,1,r1) over (distribute by p_mfgr sort by p_name) as deltaRank from ( select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r1 from part ) a; set hive.cbo.enable=true; -- 7. testLeadWithPTF select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, p_size, p_size - lead(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from noop(on part partition by p_mfgr order by p_name ) ; -- 8. testOverNoPartitionMultipleAggregate select p_name, p_retailprice, lead(p_retailprice) over() as l1 , lag(p_retailprice) over() as l2 from part where p_retailprice = 1173.15;