Skip to content

Commit

Permalink
fix over window
Browse files Browse the repository at this point in the history
  • Loading branch information
xxchan committed Jan 4, 2024
1 parent ff3c396 commit f911389
Show file tree
Hide file tree
Showing 2 changed files with 168 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# This file is generated by `gen.py`. Do not edit it manually!

statement ok
create table t (
id int
, p1 int
, p2 int
, time int
, v1 int
, v2 int
);

statement ok
create view v as
select
*
, row_number() over (partition by p1 order by time, id) as out1
, row_number() over (partition by p1 order by p2 desc, id) as out2
from t;

statement ok
insert into t values
(100001, 100, 200, 1, 701, 805)
, (100002, 100, 200, 2, 700, 806)
, (100003, 100, 208, 2, 723, 807)
, (100004, 103, 200, 2, 702, 808);

query II
select * from v order by id;
----
100001 100 200 1 701 805 1 2
100002 100 200 2 700 806 2 3
100003 100 208 2 723 807 3 1
100004 103 200 2 702 808 1 1

statement ok
insert into t values
(100005, 100, 200, 3, 717, 810)
, (100006, 105, 204, 5, 703, 828);

query II
select * from v order by id;
----
100001 100 200 1 701 805 1 2
100002 100 200 2 700 806 2 3
100003 100 208 2 723 807 3 1
100004 103 200 2 702 808 1 1
100005 100 200 3 717 810 4 4
100006 105 204 5 703 828 1 1

statement ok
update t set v1 = 799 where id = 100002; -- value change

statement ok
update t set p2 = 200 where id = 100003; -- partition change

statement ok
update t set "time" = 1 where id = 100005; -- order change

query iiiiiii
select * from v order by id;
----
100001 100 200 1 701 805 1 1
100002 100 200 2 799 806 3 2
100003 100 200 2 723 807 4 3
100004 103 200 2 702 808 1 1
100005 100 200 1 717 810 2 4
100006 105 204 5 703 828 1 1

statement ok
delete from t where time = 2;

query iiiiiii
select * from v order by id;
----
100001 100 200 1 701 805 1 1
100005 100 200 1 717 810 2 2
100006 105 204 5 703 828 1 1

statement ok
drop view v;

statement ok
drop table t;
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# This file is generated by `gen.py`. Do not edit it manually!

statement ok
create table t (
id int
, p1 int
, p2 int
, time int
, v1 int
, v2 int
);

statement ok
create materialized view v as
select
*
, row_number() over (partition by p1 order by time, id) as out1
, row_number() over (partition by p1 order by p2 desc, id) as out2
from t;

statement ok
insert into t values
(100001, 100, 200, 1, 701, 805)
, (100002, 100, 200, 2, 700, 806)
, (100003, 100, 208, 2, 723, 807)
, (100004, 103, 200, 2, 702, 808);

query II
select * from v order by id;
----
100001 100 200 1 701 805 1 2
100002 100 200 2 700 806 2 3
100003 100 208 2 723 807 3 1
100004 103 200 2 702 808 1 1

statement ok
insert into t values
(100005, 100, 200, 3, 717, 810)
, (100006, 105, 204, 5, 703, 828);

query II
select * from v order by id;
----
100001 100 200 1 701 805 1 2
100002 100 200 2 700 806 2 3
100003 100 208 2 723 807 3 1
100004 103 200 2 702 808 1 1
100005 100 200 3 717 810 4 4
100006 105 204 5 703 828 1 1

statement ok
update t set v1 = 799 where id = 100002; -- value change

statement ok
update t set p2 = 200 where id = 100003; -- partition change

statement ok
update t set "time" = 1 where id = 100005; -- order change

query iiiiiii
select * from v order by id;
----
100001 100 200 1 701 805 1 1
100002 100 200 2 799 806 3 2
100003 100 200 2 723 807 4 3
100004 103 200 2 702 808 1 1
100005 100 200 1 717 810 2 4
100006 105 204 5 703 828 1 1

statement ok
delete from t where time = 2;

query iiiiiii
select * from v order by id;
----
100001 100 200 1 701 805 1 1
100005 100 200 1 717 810 2 2
100006 105 204 5 703 828 1 1

statement ok
drop materialized view v;

statement ok
drop table t;

0 comments on commit f911389

Please sign in to comment.