Changeset: 56c7a50085a3 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=56c7a50085a3
Modified Files:
sql/benchmarks/ssbm/Tests/01-explain.stable.out
sql/benchmarks/ssbm/Tests/02-explain.stable.out
sql/benchmarks/ssbm/Tests/03-explain.stable.out
sql/benchmarks/ssbm/Tests/04-explain.stable.out
sql/benchmarks/ssbm/Tests/05-explain.stable.out
sql/benchmarks/ssbm/Tests/06-explain.stable.out
sql/benchmarks/ssbm/Tests/07-explain.stable.out
sql/benchmarks/ssbm/Tests/08-explain.stable.out
sql/benchmarks/ssbm/Tests/09-explain.stable.out
sql/benchmarks/ssbm/Tests/10-explain.stable.out
sql/benchmarks/ssbm/Tests/11-explain.stable.out
sql/benchmarks/ssbm/Tests/12-explain.stable.out
sql/benchmarks/ssbm/Tests/13-explain.stable.out
sql/benchmarks/ssbm/Tests/explain.SQL.py
sql/benchmarks/tpch/Tests/01-explain.stable.out
sql/benchmarks/tpch/Tests/02-explain.stable.out
sql/benchmarks/tpch/Tests/03-explain.stable.out
sql/benchmarks/tpch/Tests/04-explain.stable.out
sql/benchmarks/tpch/Tests/05-explain.stable.out
sql/benchmarks/tpch/Tests/06-explain.stable.out
sql/benchmarks/tpch/Tests/07-explain.stable.out
sql/benchmarks/tpch/Tests/08-explain.stable.out
sql/benchmarks/tpch/Tests/09-explain.stable.out
sql/benchmarks/tpch/Tests/10-explain.stable.out
sql/benchmarks/tpch/Tests/11-explain.stable.out
sql/benchmarks/tpch/Tests/12-explain.stable.out
sql/benchmarks/tpch/Tests/13-explain.stable.out
sql/benchmarks/tpch/Tests/14-explain.stable.out
sql/benchmarks/tpch/Tests/15-explain.stable.out
sql/benchmarks/tpch/Tests/16-explain.stable.out
sql/benchmarks/tpch/Tests/17-explain.stable.out
sql/benchmarks/tpch/Tests/18-explain.stable.out
sql/benchmarks/tpch/Tests/19-explain.stable.out
sql/benchmarks/tpch/Tests/20-explain.stable.out
sql/benchmarks/tpch/Tests/21-explain.stable.out
sql/benchmarks/tpch/Tests/21.stable.out
sql/benchmarks/tpch/Tests/22-explain.stable.out
sql/benchmarks/tpch/Tests/22.stable.out
sql/benchmarks/tpch/Tests/explain.SQL.py
Branch: default
Log Message:
Merge with Feb2013 branch.
diffs (truncated from 4184 to 300 lines):
diff --git a/sql/benchmarks/ssbm/Tests/01-explain.stable.out
b/sql/benchmarks/ssbm/Tests/01-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/01-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/01-explain.stable.out
@@ -25,7 +25,7 @@ Ready.
# 23:10:45 > "/usr/bin/python2" "01-explain.SQL.py" "01-explain"
# 23:10:45 >
-#set optimizer = 'no_mitosis_pipe';
+#set optimizer = 'sequential_pipe';
#explain
#select sum(lo_extendedprice*lo_discount) as revenue
# from lineorder, dwdate
@@ -38,35 +38,34 @@ Ready.
% clob # type
% 246 # length
function user.s2_1{autoCommit=true}(A0:int,A1:int,A2:int,A3:int):void;
-barrier X_109 := language.dataflow();
X_6 := sql.mvc();
X_10 := sql.bind(X_6,"sys","lineorder","lo_quantity",0);
X_18 := sql.bind(X_6,"sys","lineorder","lo_discount",0);
X_7:bat[:oid,:oid] := sql.tid(X_6,"sys","lineorder");
- X_91 := algebra.subselect(X_18,X_7,A1,A2,true,true,false);
+ X_90 := algebra.subselect(X_18,X_7,A1,A2,true,true,false);
(X_20,r1_23) := sql.bind(X_6,"sys","lineorder","lo_discount",2);
- X_92 := algebra.subselect(r1_23,A1,A2,true,true,false);
+ X_91 := algebra.subselect(r1_23,A1,A2,true,true,false);
X_22 := sql.bind(X_6,"sys","lineorder","lo_discount",1);
- X_93 := algebra.subselect(X_22,X_7,A1,A2,true,true,false);
- X_23 := sql.subdelta(X_91,X_7,X_20,X_92,X_93);
- X_94 := algebra.thetasubselect(X_10,X_23,A3,"<");
+ X_92 := algebra.subselect(X_22,X_7,A1,A2,true,true,false);
+ X_23 := sql.subdelta(X_90,X_7,X_20,X_91,X_92);
+ X_93 := algebra.thetasubselect(X_10,X_23,A3,"<");
(X_13,r1_13) := sql.bind(X_6,"sys","lineorder","lo_quantity",2);
- X_95 := algebra.thetasubselect(r1_13,A3,"<");
+ X_94 := algebra.thetasubselect(r1_13,A3,"<");
X_16 := sql.bind(X_6,"sys","lineorder","lo_quantity",1);
- X_96 := algebra.thetasubselect(X_16,X_23,A3,"<");
- X_25 := sql.subdelta(X_94,X_23,X_13,X_95,X_96);
+ X_95 := algebra.thetasubselect(X_16,X_23,A3,"<");
+ X_25 := sql.subdelta(X_93,X_23,X_13,X_94,X_95);
X_27 :=
sql.bind_idxbat(X_6,"sys","lineorder","lineorder_lo_orderdate_fkey",0);
(X_29,r1_36) :=
sql.bind_idxbat(X_6,"sys","lineorder","lineorder_lo_orderdate_fkey",2);
X_31 :=
sql.bind_idxbat(X_6,"sys","lineorder","lineorder_lo_orderdate_fkey",1);
X_32 := sql.projectdelta(X_25,X_27,X_29,r1_36,X_31);
X_36 := sql.bind(X_6,"sys","dwdate","d_year",0);
X_33:bat[:oid,:oid] := sql.tid(X_6,"sys","dwdate");
- X_97 := algebra.subselect(X_36,X_33,A0,A0,true,true,false);
+ X_96 := algebra.subselect(X_36,X_33,A0,A0,true,true,false);
(X_39,r1_48) := sql.bind(X_6,"sys","dwdate","d_year",2);
- X_98 := algebra.subselect(r1_48,A0,A0,true,true,false);
+ X_97 := algebra.subselect(r1_48,A0,A0,true,true,false);
X_42 := sql.bind(X_6,"sys","dwdate","d_year",1);
- X_99 := algebra.subselect(X_42,X_33,A0,A0,true,true,false);
- X_44 := sql.subdelta(X_97,X_33,X_39,X_98,X_99);
+ X_98 := algebra.subselect(X_42,X_33,A0,A0,true,true,false);
+ X_44 := sql.subdelta(X_96,X_33,X_39,X_97,X_98);
X_46 := X_44;
(X_47,r1_59) := algebra.join(X_32,X_46);
X_49 := sql.bind(X_6,"sys","lineorder","lo_extendedprice",0);
@@ -80,19 +79,9 @@ barrier X_109 := language.dataflow();
X_60:bat[:oid,:lng] := batcalc.*(X_57,X_59);
X_61 := algebra.selectNotNil(X_60);
X_62:lng := aggr.sum(X_61);
- language.pass(X_7);
- language.pass(X_23);
- language.pass(X_33);
- language.pass(X_25);
- language.pass(X_18);
- language.pass(X_20);
- language.pass(r1_23);
- language.pass(X_22);
- language.pass(X_47);
-exit X_109;
sql.exportValue(1,"sys.L1","revenue","bigint",53,0,6,X_62,"");
end s2_1;
-# querylog.define("explain\nselect sum(lo_extendedprice*lo_discount) as
revenue\n\tfrom lineorder, dwdate\n\twhere lo_orderdate = d_datekey\n\t\tand
d_year = 1993\n\t\tand lo_discount between 1 and 3\n\t\tand lo_quantity <
25;","no_mitosis_pipe")
+# querylog.define("explain\nselect sum(lo_extendedprice*lo_discount) as
revenue\n\tfrom lineorder, dwdate\n\twhere lo_orderdate = d_datekey\n\t\tand
d_year = 1993\n\t\tand lo_discount between 1 and 3\n\t\tand lo_quantity <
25;","sequential_pipe")
# 23:10:45 >
# 23:10:45 > "Done."
diff --git a/sql/benchmarks/ssbm/Tests/02-explain.stable.out
b/sql/benchmarks/ssbm/Tests/02-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/02-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/02-explain.stable.out
@@ -25,7 +25,7 @@ Ready.
# 23:10:45 > "/usr/bin/python2" "02-explain.SQL.py" "02-explain"
# 23:10:45 >
-#set optimizer = 'no_mitosis_pipe';
+#set optimizer = 'sequential_pipe';
#explain
#select sum(lo_extendedprice*lo_discount) as revenue
# from lineorder, dwdate
@@ -38,35 +38,34 @@ Ready.
% clob # type
% 269 # length
function user.s2_1{autoCommit=true}(A0:int,A1:int,A2:int,A3:int,A4:int):void;
-barrier X_109 := language.dataflow();
X_7 := sql.mvc();
X_11 := sql.bind(X_7,"sys","lineorder","lo_discount",0);
X_19 := sql.bind(X_7,"sys","lineorder","lo_quantity",0);
X_8:bat[:oid,:oid] := sql.tid(X_7,"sys","lineorder");
- X_91 := algebra.subselect(X_19,X_8,A3,A4,true,true,false);
+ X_90 := algebra.subselect(X_19,X_8,A3,A4,true,true,false);
(X_21,r1_25) := sql.bind(X_7,"sys","lineorder","lo_quantity",2);
- X_92 := algebra.subselect(r1_25,A3,A4,true,true,false);
+ X_91 := algebra.subselect(r1_25,A3,A4,true,true,false);
X_23 := sql.bind(X_7,"sys","lineorder","lo_quantity",1);
- X_93 := algebra.subselect(X_23,X_8,A3,A4,true,true,false);
- X_24 := sql.subdelta(X_91,X_8,X_21,X_92,X_93);
- X_94 := algebra.subselect(X_11,X_24,A1,A2,true,true,false);
+ X_92 := algebra.subselect(X_23,X_8,A3,A4,true,true,false);
+ X_24 := sql.subdelta(X_90,X_8,X_21,X_91,X_92);
+ X_93 := algebra.subselect(X_11,X_24,A1,A2,true,true,false);
(X_14,r1_14) := sql.bind(X_7,"sys","lineorder","lo_discount",2);
- X_95 := algebra.subselect(r1_14,A1,A2,true,true,false);
+ X_94 := algebra.subselect(r1_14,A1,A2,true,true,false);
X_17 := sql.bind(X_7,"sys","lineorder","lo_discount",1);
- X_96 := algebra.subselect(X_17,X_24,A1,A2,true,true,false);
- X_26 := sql.subdelta(X_94,X_24,X_14,X_95,X_96);
+ X_95 := algebra.subselect(X_17,X_24,A1,A2,true,true,false);
+ X_26 := sql.subdelta(X_93,X_24,X_14,X_94,X_95);
X_27 :=
sql.bind_idxbat(X_7,"sys","lineorder","lineorder_lo_orderdate_fkey",0);
(X_29,r1_37) :=
sql.bind_idxbat(X_7,"sys","lineorder","lineorder_lo_orderdate_fkey",2);
X_31 :=
sql.bind_idxbat(X_7,"sys","lineorder","lineorder_lo_orderdate_fkey",1);
X_32 := sql.projectdelta(X_26,X_27,X_29,r1_37,X_31);
X_36 := sql.bind(X_7,"sys","dwdate","d_yearmonthnum",0);
X_33:bat[:oid,:oid] := sql.tid(X_7,"sys","dwdate");
- X_97 := algebra.subselect(X_36,X_33,A0,A0,true,true,false);
+ X_96 := algebra.subselect(X_36,X_33,A0,A0,true,true,false);
(X_39,r1_49) := sql.bind(X_7,"sys","dwdate","d_yearmonthnum",2);
- X_98 := algebra.subselect(r1_49,A0,A0,true,true,false);
+ X_97 := algebra.subselect(r1_49,A0,A0,true,true,false);
X_42 := sql.bind(X_7,"sys","dwdate","d_yearmonthnum",1);
- X_99 := algebra.subselect(X_42,X_33,A0,A0,true,true,false);
- X_44 := sql.subdelta(X_97,X_33,X_39,X_98,X_99);
+ X_98 := algebra.subselect(X_42,X_33,A0,A0,true,true,false);
+ X_44 := sql.subdelta(X_96,X_33,X_39,X_97,X_98);
X_46 := X_44;
(X_47,r1_60) := algebra.join(X_32,X_46);
X_49 := sql.bind(X_7,"sys","lineorder","lo_extendedprice",0);
@@ -80,19 +79,9 @@ barrier X_109 := language.dataflow();
X_60:bat[:oid,:lng] := batcalc.*(X_57,X_59);
X_61 := algebra.selectNotNil(X_60);
X_62:lng := aggr.sum(X_61);
- language.pass(X_8);
- language.pass(X_24);
- language.pass(X_33);
- language.pass(X_26);
- language.pass(X_11);
- language.pass(X_14);
- language.pass(r1_14);
- language.pass(X_17);
- language.pass(X_47);
-exit X_109;
sql.exportValue(1,"sys.L1","revenue","bigint",53,0,6,X_62,"");
end s2_1;
-# querylog.define("explain\nselect sum(lo_extendedprice*lo_discount) as
revenue\n\tfrom lineorder, dwdate\n\twhere lo_orderdate = d_datekey\n\t\tand
d_yearmonthnum = 199401\n\t\tand lo_discount between 4 and 6\n\t\tand
lo_quantity between 26 and 35;","no_mitosis_pipe")
+# querylog.define("explain\nselect sum(lo_extendedprice*lo_discount) as
revenue\n\tfrom lineorder, dwdate\n\twhere lo_orderdate = d_datekey\n\t\tand
d_yearmonthnum = 199401\n\t\tand lo_discount between 4 and 6\n\t\tand
lo_quantity between 26 and 35;","sequential_pipe")
# 23:10:45 >
# 23:10:45 > "Done."
diff --git a/sql/benchmarks/ssbm/Tests/03-explain.stable.out
b/sql/benchmarks/ssbm/Tests/03-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/03-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/03-explain.stable.out
@@ -25,7 +25,7 @@ Ready.
# 23:10:45 > "/usr/bin/python2" "03-explain.SQL.py" "03-explain"
# 23:10:45 >
-#set optimizer = 'no_mitosis_pipe';
+#set optimizer = 'sequential_pipe';
#explain
#select sum(lo_extendedprice*lo_discount) as revenue
# from lineorder, dwdate
@@ -38,23 +38,22 @@ Ready.
% clob # type
% 283 # length
function
user.s2_1{autoCommit=true}(A0:int,A1:int,A2:int,A3:int,A4:int,A5:int):void;
-barrier X_124 := language.dataflow();
X_8 := sql.mvc();
X_12 := sql.bind(X_8,"sys","lineorder","lo_discount",0);
X_20 := sql.bind(X_8,"sys","lineorder","lo_quantity",0);
X_9:bat[:oid,:oid] := sql.tid(X_8,"sys","lineorder");
- X_102 := algebra.subselect(X_20,X_9,A4,A5,true,true,false);
+ X_101 := algebra.subselect(X_20,X_9,A4,A5,true,true,false);
(X_22,r1_26) := sql.bind(X_8,"sys","lineorder","lo_quantity",2);
- X_103 := algebra.subselect(r1_26,A4,A5,true,true,false);
+ X_102 := algebra.subselect(r1_26,A4,A5,true,true,false);
X_24 := sql.bind(X_8,"sys","lineorder","lo_quantity",1);
- X_104 := algebra.subselect(X_24,X_9,A4,A5,true,true,false);
- X_25 := sql.subdelta(X_102,X_9,X_22,X_103,X_104);
- X_105 := algebra.subselect(X_12,X_25,A2,A3,true,true,false);
+ X_103 := algebra.subselect(X_24,X_9,A4,A5,true,true,false);
+ X_25 := sql.subdelta(X_101,X_9,X_22,X_102,X_103);
+ X_104 := algebra.subselect(X_12,X_25,A2,A3,true,true,false);
(X_15,r1_15) := sql.bind(X_8,"sys","lineorder","lo_discount",2);
- X_106 := algebra.subselect(r1_15,A2,A3,true,true,false);
+ X_105 := algebra.subselect(r1_15,A2,A3,true,true,false);
X_18 := sql.bind(X_8,"sys","lineorder","lo_discount",1);
- X_107 := algebra.subselect(X_18,X_25,A2,A3,true,true,false);
- X_27 := sql.subdelta(X_105,X_25,X_15,X_106,X_107);
+ X_106 := algebra.subselect(X_18,X_25,A2,A3,true,true,false);
+ X_27 := sql.subdelta(X_104,X_25,X_15,X_105,X_106);
X_28 :=
sql.bind_idxbat(X_8,"sys","lineorder","lineorder_lo_orderdate_fkey",0);
(X_30,r1_38) :=
sql.bind_idxbat(X_8,"sys","lineorder","lineorder_lo_orderdate_fkey",2);
X_32 :=
sql.bind_idxbat(X_8,"sys","lineorder","lineorder_lo_orderdate_fkey",1);
@@ -62,18 +61,18 @@ barrier X_124 := language.dataflow();
X_37 := sql.bind(X_8,"sys","dwdate","d_weeknuminyear",0);
X_45 := sql.bind(X_8,"sys","dwdate","d_year",0);
X_34:bat[:oid,:oid] := sql.tid(X_8,"sys","dwdate");
- X_108 := algebra.subselect(X_45,X_34,A1,A1,true,true,false);
+ X_107 := algebra.subselect(X_45,X_34,A1,A1,true,true,false);
(X_47,r1_60) := sql.bind(X_8,"sys","dwdate","d_year",2);
- X_109 := algebra.subselect(r1_60,A1,A1,true,true,false);
+ X_108 := algebra.subselect(r1_60,A1,A1,true,true,false);
X_49 := sql.bind(X_8,"sys","dwdate","d_year",1);
- X_110 := algebra.subselect(X_49,X_34,A1,A1,true,true,false);
- X_50 := sql.subdelta(X_108,X_34,X_47,X_109,X_110);
- X_111 := algebra.subselect(X_37,X_50,A0,A0,true,true,false);
+ X_109 := algebra.subselect(X_49,X_34,A1,A1,true,true,false);
+ X_50 := sql.subdelta(X_107,X_34,X_47,X_108,X_109);
+ X_110 := algebra.subselect(X_37,X_50,A0,A0,true,true,false);
(X_40,r1_50) := sql.bind(X_8,"sys","dwdate","d_weeknuminyear",2);
- X_112 := algebra.subselect(r1_50,A0,A0,true,true,false);
+ X_111 := algebra.subselect(r1_50,A0,A0,true,true,false);
X_43 := sql.bind(X_8,"sys","dwdate","d_weeknuminyear",1);
- X_113 := algebra.subselect(X_43,X_50,A0,A0,true,true,false);
- X_53 := sql.subdelta(X_111,X_50,X_40,X_112,X_113);
+ X_112 := algebra.subselect(X_43,X_50,A0,A0,true,true,false);
+ X_53 := sql.subdelta(X_110,X_50,X_40,X_111,X_112);
X_54 := X_53;
(X_55,r1_71) := algebra.join(X_33,X_54);
X_57 := sql.bind(X_8,"sys","lineorder","lo_extendedprice",0);
@@ -87,20 +86,9 @@ barrier X_124 := language.dataflow();
X_69:bat[:oid,:lng] := batcalc.*(X_66,X_68);
X_70 := algebra.selectNotNil(X_69);
X_71:lng := aggr.sum(X_70);
- language.pass(X_9);
- language.pass(X_25);
- language.pass(X_34);
- language.pass(X_50);
- language.pass(X_27);
- language.pass(X_12);
- language.pass(X_15);
- language.pass(r1_15);
- language.pass(X_18);
- language.pass(X_55);
-exit X_124;
sql.exportValue(1,"sys.L1","revenue","bigint",53,0,6,X_71,"");
end s2_1;
-# querylog.define("explain\nselect sum(lo_extendedprice*lo_discount) as
revenue\n\tfrom lineorder, dwdate\n\twhere lo_orderdate = d_datekey\n\t\tand
d_weeknuminyear = 6 and d_year = 1994\n\t\tand lo_discount between 5 and
7\n\t\tand lo_quantity between 36 and 40;","no_mitosis_pipe")
+# querylog.define("explain\nselect sum(lo_extendedprice*lo_discount) as
revenue\n\tfrom lineorder, dwdate\n\twhere lo_orderdate = d_datekey\n\t\tand
d_weeknuminyear = 6 and d_year = 1994\n\t\tand lo_discount between 5 and
7\n\t\tand lo_quantity between 36 and 40;","sequential_pipe")
# 23:10:45 >
# 23:10:45 > "Done."
diff --git a/sql/benchmarks/ssbm/Tests/04-explain.stable.out
b/sql/benchmarks/ssbm/Tests/04-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/04-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/04-explain.stable.out
@@ -25,7 +25,7 @@ Ready.
# 23:10:46 > "/usr/bin/python2" "04-explain.SQL.py" "04-explain"
# 23:10:46 >
-#set optimizer = 'no_mitosis_pipe';
+#set optimizer = 'sequential_pipe';
#explain
#select sum(lo_revenue), d_year, p_brand1
# from lineorder, dwdate, part, supplier
@@ -41,7 +41,6 @@ Ready.
% clob # type
% 392 # length
function user.s2_1{autoCommit=true}(A0:str,A1:str):void;
-barrier X_182 := language.dataflow();
X_4 := sql.mvc();
X_5:bat[:oid,:oid] := sql.tid(X_4,"sys","lineorder");
X_8 :=
sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_partkey_fkey",0);
@@ -50,12 +49,12 @@ barrier X_182 := language.dataflow();
X_16 := sql.projectdelta(X_5,X_8,X_11,r1_11,X_14);
X_19 := sql.bind(X_4,"sys","part","p_category",0);
X_17:bat[:oid,:oid] := sql.tid(X_4,"sys","part");
- X_160 := algebra.subselect(X_19,X_17,A0,A0,true,true,false);
+ X_159 := algebra.subselect(X_19,X_17,A0,A0,true,true,false);
(X_21,r1_22) := sql.bind(X_4,"sys","part","p_category",2);
- X_161 := algebra.subselect(r1_22,A0,A0,true,true,false);
+ X_160 := algebra.subselect(r1_22,A0,A0,true,true,false);
X_23 := sql.bind(X_4,"sys","part","p_category",1);
- X_162 := algebra.subselect(X_23,X_17,A0,A0,true,true,false);
- X_24 := sql.subdelta(X_160,X_17,X_21,X_161,X_162);
+ X_161 := algebra.subselect(X_23,X_17,A0,A0,true,true,false);
+ X_24 := sql.subdelta(X_159,X_17,X_21,X_160,X_161);
X_26 := X_24;
(X_27,r1_31) := algebra.join(X_16,X_26);
X_29 :=
sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_suppkey_fkey",0);
@@ -65,28 +64,28 @@ barrier X_182 := language.dataflow();
X_35 := algebra.leftfetchjoin(X_27,X_34);
X_39 := sql.bind(X_4,"sys","supplier","s_region",0);
X_36:bat[:oid,:oid] := sql.tid(X_4,"sys","supplier");
- X_163 := algebra.subselect(X_39,X_36,A1,A1,true,true,false);
+ X_162 := algebra.subselect(X_39,X_36,A1,A1,true,true,false);
(X_42,r1_47) := sql.bind(X_4,"sys","supplier","s_region",2);
- X_164 := algebra.subselect(r1_47,A1,A1,true,true,false);
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list