-- source include/have_ndb.inc # Test is using error insert, check that binaries support it --source have_ndb_error_insert.inc --disable_warnings drop table if exists t1,t2; --enable_warnings --exec $NDB_MGM --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" -e "all error 0" >> $NDB_TOOLS_OUTPUT # make ndb nodes die if correct tc is not selected --echo # --echo # Test tc select with 2-way joins with unique lookups --echo # create table t1 (a int key, b int) engine ndb; create table t2 (a int, b int, c int, d int, primary key(a,b), unique(d)) engine ndb partition by key(a); --disable_query_log --disable_result_log let $i= 100; let $j= 1; while ($i) { --eval insert into t1 values ("$i","$j") --eval insert into t2 values ("$i","$j",9999,"$j") dec $i; inc $j; } --enable_query_log --enable_result_log --echo # --echo # 2-way join tc selection in pk --echo # --exec $NDB_MGM --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" -e "all error 8072" >> $NDB_TOOLS_OUTPUT --replace_column 9 # explain select t2.c from t1,t2 where t1.a=50 and t2.a=t1.a and t2.b=t1.b; --disable_query_log --disable_result_log let $i= 100; while ($i) { --eval select t2.c from t1,t2 where t1.a="$i" and t2.a=t1.a and t2.b=t1.b dec $i; } --enable_query_log --enable_result_log --echo # --echo # 2-way join tc selection in unique key --echo # --exec $NDB_MGM --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" -e "all error 8071" >> $NDB_TOOLS_OUTPUT --replace_column 9 # explain select t1.b from t1,t2 where t2.d=50 and t1.a=t2.a; --disable_query_log --disable_result_log let $i= 100; while ($i) { --eval select t1.b from t1,t2 where t2.d="$i" and t1.a=t2.a dec $i; } --enable_query_log --enable_result_log # cleanup --exec $NDB_MGM --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" -e "all error 0" >> $NDB_TOOLS_OUTPUT drop table t1,t2; --echo # --echo # Test tc select with 2-way joins with scan followed by unique lookup --echo # create table t1 (a int, b int, primary key(a,b)) engine ndb partition by key (a); create table t2 (a int, b int, c int, primary key(a,b)) engine ndb partition by key (a); --disable_query_log --disable_result_log let $i= 100; let $j= 1; while ($i) { --eval insert into t1 values ("$i","$j") --eval insert into t2 values ("$i",9999,"$j") dec $i; inc $j; } --enable_query_log --enable_result_log --exec $NDB_MGM --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" -e "all error 8071" >> $NDB_TOOLS_OUTPUT --replace_column 9 # explain select t2.c from t1,t2 where t1.a=50 and t2.a=t1.a and t2.b=t1.b; --disable_query_log --disable_result_log let $i= 100; while ($i) { --eval select t2.c from t1,t2 where t1.a="$i" and t2.a=t1.a and t2.b=t1.b dec $i; } --enable_query_log --enable_result_log # cleanup --exec $NDB_MGM --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" -e "all error 0" >> $NDB_TOOLS_OUTPUT drop table t1,t2; --let $type1= int --let $type2= varchar(22) --source suite/ndb/t/ndb_dbug_tc_select_1.inc --let $type1= varchar(1024) --let $type2= int --source suite/ndb/t/ndb_dbug_tc_select_1.inc --let $type1= varchar(32) --let $type2= varchar(257) --source suite/ndb/t/ndb_dbug_tc_select_1.inc --let $type1= int --let $type2= int --let $type3= int --source suite/ndb/t/ndb_dbug_tc_select_2.inc --let $type1= int --let $type2= char(22) --let $type3= char(12) --source suite/ndb/t/ndb_dbug_tc_select_2.inc --let $type1= varchar(32) --let $type2= int --let $type3= varchar(257) --source suite/ndb/t/ndb_dbug_tc_select_2.inc --let $type1= int --let $type2= int --let $type3= int --let $type4= int --source suite/ndb/t/ndb_dbug_tc_select_3.inc --let $type1= int --let $type2= varchar(22) --let $type3= char(12) --let $type4= varchar(257) --source suite/ndb/t/ndb_dbug_tc_select_3.inc --let $type1= varchar(1024) --let $type2= char(22) --let $type3= varchar(257) --let $type4= char(12) --source suite/ndb/t/ndb_dbug_tc_select_3.inc