Skip to content

Commit

Permalink
Improve lab 4 test
Browse files Browse the repository at this point in the history
Signed-off-by: Wenbo Li <[email protected]>
  • Loading branch information
hnjylwb committed Mar 13, 2024
1 parent 1e33a8f commit ce14f79
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 4 deletions.
1 change: 1 addition & 0 deletions src/table/record_header.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

namespace huadb {

// deleted(1) + xmin(4) + xmax(4) + cid(4) = 13
static constexpr db_size_t RECORD_HEADER_SIZE = sizeof(bool) + sizeof(xid_t) + sizeof(xid_t) + sizeof(cid_t);

class RecordHeader {
Expand Down
3 changes: 3 additions & 0 deletions test/lab4/20-order.test
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ select * from test_order order by score;
5 55.5 eeeee
3 333.3 ccc

# asc
query
select * from test_order order by score asc;
----
Expand All @@ -58,6 +59,7 @@ select * from test_order order by score asc;
5 55.5 eeeee
3 333.3 ccc

# desc
query
select * from test_order order by score desc;
----
Expand Down Expand Up @@ -117,6 +119,7 @@ drop table test_order;
statement ok
create table empty(id int);

# order by empty table
query
select * from empty order by id;
----
Expand Down
32 changes: 29 additions & 3 deletions test/lab4/30-nested-loop-join.test
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,20 @@ create table nl_middle_1(id int, score double);
statement ok
create table nl_right_1(id int, name varchar(100));

statement ok
create table nl_left_2(id int, info varchar(100));

statement ok
create table nl_right_2(id int, score double);

statement ok
create table nl_empty(id int, info varchar(100));

statement ok
create table nl_left_2(id int, info varchar(100));
create table nl_left_3(id int, info varchar(100));

statement ok
create table nl_right_2(id int, score double);
create table nl_right_3(id int, score double);

query
insert into nl_left_1 values(2, 'b'), (3, 'c'), (1, 'a'), (2, 'bb'), (1, 'aa'), (2, 'bbb');
Expand All @@ -44,6 +50,16 @@ insert into nl_right_2 values(1, 1.1), (1, 1.2), (1, 1.3), (1, 1.4), (1, 1.5);
----
5

query
insert into nl_left_3 values(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e'), (6, 'f'), (7, 'g'), (8, 'h'), (9, 'i'), (10, 'j');
----
10

query
insert into nl_right_3 values(100, 1.1), (200, 2.2), (300, 3.3), (400, 4.4), (500, 5.5), (600, 6.6), (700, 7.7), (800, 8.8), (900, 9.9), (1000, 10.1);
----
10

query rowsort
explain (optimizer) select nl_left_1.id, nl_left_1.info, nl_middle_1.score from nl_left_1 join nl_middle_1 on nl_left_1.id = nl_middle_1.id;
----
Expand Down Expand Up @@ -79,7 +95,7 @@ select nl_left_1.id, nl_left_1.info, nl_middle_1.score from nl_left_1, nl_middle
3 c 3.4
3 c 3.5

# 三表连接
# 3 tables
query rowsort
select nl_left_1.id, nl_left_1.info, nl_middle_1.score, nl_right_1.name from (nl_left_1 join nl_middle_1 on nl_left_1.id = nl_middle_1.id) join nl_right_1 on nl_left_1.id = nl_right_1.id;
----
Expand Down Expand Up @@ -133,6 +149,10 @@ query
select * from nl_empty join nl_left_1 on nl_left_1.id = nl_empty.id;
----

query
select * from nl_left_3 join nl_right_3 on nl_left_3.id = nl_right_3.id;
----

statement ok
drop table nl_left_1;

Expand All @@ -150,3 +170,9 @@ drop table nl_right_2;

statement ok
drop table nl_empty;

statement ok
drop table nl_left_3;

statement ok
drop table nl_right_3;
28 changes: 27 additions & 1 deletion test/lab4/40-merge-join.test
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,22 @@ create table merge_right_2(id int, score double);
statement ok
create table merge_empty(id int, info varchar(100));

statement ok
create table merge_left_3(id int, info varchar(100));

statement ok
create table merge_right_3(id int, score double);

query
insert into merge_left_3 values(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e'), (6, 'f'), (7, 'g'), (8, 'h'), (9, 'i'), (10, 'j');
----
10

query
insert into merge_right_3 values(100, 1.1), (200, 2.2), (300, 3.3), (400, 4.4), (500, 5.5), (600, 6.6), (700, 7.7), (800, 8.8), (900, 9.9), (1000, 10.1);
----
10

query
insert into merge_left_1 values(2, 'b'), (3, 'c'), (1, 'a'), (2, 'bb'), (1, 'aa'), (2, 'bbb');
----
Expand Down Expand Up @@ -71,7 +87,7 @@ select merge_left_1.id, merge_left_1.info, merge_middle_1.score from merge_left_
3 c 3.4
3 c 3.5

# 三表连接
# 3 tables
query rowsort
select merge_left_1.id, merge_left_1.info, merge_middle_1.score, merge_right_1.name from (merge_left_1 join merge_middle_1 on merge_left_1.id = merge_middle_1.id) join merge_right_1 on merge_left_1.id = merge_right_1.id;
----
Expand Down Expand Up @@ -121,6 +137,10 @@ query
select * from merge_left_1 join merge_empty on merge_left_1.id = merge_empty.id;
----

query
select * from merge_left_3 join merge_right_3 on merge_left_3.id = merge_right_3.id;
----

statement ok
drop table merge_left_1;

Expand All @@ -138,3 +158,9 @@ drop table merge_right_2;

statement ok
drop table merge_empty;

statement ok
drop table merge_left_3;

statement ok
drop table merge_right_3;

0 comments on commit ce14f79

Please sign in to comment.