Changeset: d92a02e72b73 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/d92a02e72b73 Modified Files: sql/test/rel-optimizers/Tests/join-merge-remote-replica.test Branch: default Log Message:
Updates test to check the rel plan for a 3 nodes setup diffs (93 lines): diff --git a/sql/test/rel-optimizers/Tests/join-merge-remote-replica.test b/sql/test/rel-optimizers/Tests/join-merge-remote-replica.test --- a/sql/test/rel-optimizers/Tests/join-merge-remote-replica.test +++ b/sql/test/rel-optimizers/Tests/join-merge-remote-replica.test @@ -5,7 +5,10 @@ statement ok insert into foo_p1 values (1, 'hello'), (2, 'world'), (3, '!!') statement ok -create remote table foo_p2 (n int, m text) on 'mapi:monetdb://localhost:50001/node2' +create remote table foo_p2 (n int, m text) on 'mapi:monetdb://localhost:50002/node2' + +statement ok +create remote table foo_p3 (n int, m text) on 'mapi:monetdb://localhost:50003/node3' statement ok create merge table foo_merge (n int, m text) @@ -16,25 +19,34 @@ alter table foo_merge add table foo_p1 statement ok alter table foo_merge add table foo_p2 +statement ok +alter table foo_merge add table foo_p3 + # create members_rpl with members LOCAL and members_rmt REMOTE statement ok -create table members (n int, m text) +create table members_n1 (n int, m text) statement ok -insert into members values (1, 'alice'), (2, 'bob') +insert into members_n1 values (1, 'alice'), (2, 'bob') statement ok -create remote table members_rmt (n int, m text) on 'mapi:monetdb://localhost:50001/node2' +create remote table members_n2 (n int, m text) on 'mapi:monetdb://localhost:50002/node2' + +statement ok +create remote table members_n3 (n int, m text) on 'mapi:monetdb://localhost:50003/node3' statement ok create replica table members_rpl (n int, m text) statement ok -alter table members_rpl add table members +alter table members_rpl add table members_n1 statement ok -alter table members_rpl add table members_rmt +alter table members_rpl add table members_n2 + +statement ok +alter table members_rpl add table members_n3 # this statement is so to have the UNIQUE property for the foo_p1 plan # of the merge. It is not there the first time we execute the plan so @@ -52,19 +64,29 @@ query T nosort plan select * from foo_merge, members_rpl ---- union ( -| project ( -| | crossproduct ( -| | | table("sys"."foo_p1") [ "foo_p1"."n" UNIQUE as "foo_merge"."n", "foo_p1"."m" as "foo_merge"."m" ], -| | | table("sys"."members") [ "members"."n" UNIQUE as "members_rpl"."n", "members"."m" UNIQUE as "members_rpl"."m", "members"."%TID%" NOT NULL UNIQUE as "members_rpl"."%TID%" ] -| | ) [ ] +| union ( +| | project ( +| | | crossproduct ( +| | | | table("sys"."foo_p1") [ "foo_p1"."n" UNIQUE as "foo_merge"."n", "foo_p1"."m" as "foo_merge"."m" ], +| | | | table("sys"."members_n1") [ "members_n1"."n" UNIQUE as "members_rpl"."n", "members_n1"."m" UNIQUE as "members_rpl"."m", "members_n1"."%TID%" NOT NULL UNIQUE as "members_rpl"."%TID%" ] +| | | ) [ ] +| | ) [ "foo_merge"."n", "foo_merge"."m", "members_rpl"."n", "members_rpl"."m" ], +| | table ( +| | | project ( +| | | | crossproduct ( +| | | | | REMOTE("sys"."foo_p2") [ "foo_p2"."n" as "foo_merge"."n", "foo_p2"."m" as "foo_merge"."m" ], +| | | | | REMOTE("sys"."members_n2") [ "members_n2"."n" as "members_rpl"."n", "members_n2"."m" as "members_rpl"."m", "members_n2"."%TID%" NOT NULL UNIQUE as "members_rpl"."%TID%" ] +| | | | ) [ ] +| | | ) [ "foo_merge"."n", "foo_merge"."m", "members_rpl"."n", "members_rpl"."m" ] REMOTE mapi:monetdb://localhost:50002/node2 +| | ) [ "foo_merge"."n", "foo_merge"."m", "members_rpl"."n", "members_rpl"."m" ] | ) [ "foo_merge"."n", "foo_merge"."m", "members_rpl"."n", "members_rpl"."m" ], | table ( | | project ( | | | crossproduct ( -| | | | REMOTE("sys"."foo_p2") [ "foo_p2"."n" as "foo_merge"."n", "foo_p2"."m" as "foo_merge"."m" ], -| | | | REMOTE("sys"."members_rmt") [ "members_rmt"."n" as "members_rpl"."n", "members_rmt"."m" as "members_rpl"."m", "members_rmt"."%TID%" NOT NULL UNIQUE as "members_rpl"."%TID%" ] +| | | | REMOTE("sys"."foo_p3") [ "foo_p3"."n" as "foo_merge"."n", "foo_p3"."m" as "foo_merge"."m" ], +| | | | REMOTE("sys"."members_n3") [ "members_n3"."n" as "members_rpl"."n", "members_n3"."m" as "members_rpl"."m", "members_n3"."%TID%" NOT NULL UNIQUE as "members_rpl"."%TID%" ] | | | ) [ ] -| | ) [ "foo_merge"."n", "foo_merge"."m", "members_rpl"."n", "members_rpl"."m" ] REMOTE mapi:monetdb://localhost:50001/node2 +| | ) [ "foo_merge"."n", "foo_merge"."m", "members_rpl"."n", "members_rpl"."m" ] REMOTE mapi:monetdb://localhost:50003/node3 | ) [ "foo_merge"."n", "foo_merge"."m", "members_rpl"."n", "members_rpl"."m" ] ) [ "foo_merge"."n", "foo_merge"."m", "members_rpl"."n", "members_rpl"."m" ] _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org