*************** Case 1 *************** SQL: use opt; *************** Case 2 *************** SQL: insert into t1 values(0, 2); ==================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------ |0 |INSERT | |1 |1 | |1 | EXPRESSION| |1 |1 | ==================================== Outputs & filters: ------------------------------------- 0 - output([__values.c1], [__values.c2]), filter(nil), columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p0) 1 - output([__values.c1], [__values.c2]), filter(nil) values({?, ?}) *************** Case 2(end) ************** *************** Case 3 *************** SQL: insert into t1 values(1, 2); ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |1 | |1 | EXCHANGE OUT REMOTE| |1 |1 | |2 | INSERT | |1 |1 | |3 | EXPRESSION | |1 |1 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output([__values.c1], [__values.c2]), filter(nil), columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p1) 3 - output([__values.c1], [__values.c2]), filter(nil) values({?, ?}) *************** Case 3(end) ************** *************** Case 4 *************** SQL: insert into t1 values(2, 2); ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |1 | |1 | EXCHANGE OUT REMOTE| |1 |1 | |2 | INSERT | |1 |1 | |3 | EXPRESSION | |1 |1 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output([__values.c1], [__values.c2]), filter(nil), columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p2) 3 - output([__values.c1], [__values.c2]), filter(nil) values({?, ?}) *************** Case 4(end) ************** *************** Case 5 *************** SQL: insert into t1 partition (p3, p0) values(3, 2); ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |1 | |1 | EXCHANGE OUT REMOTE| |1 |1 | |2 | INSERT | |1 |1 | |3 | EXPRESSION | |1 |1 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output([__values.c1], [__values.c2]), filter(nil), columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p3) 3 - output([__values.c1], [__values.c2]), filter(nil) values({?, ?}) *************** Case 5(end) ************** *************** Case 6 *************** SQL: insert into opt.t1 values(4, 2); ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |1 | |1 | EXCHANGE OUT REMOTE| |1 |1 | |2 | INSERT | |1 |1 | |3 | EXPRESSION | |1 |1 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output([__values.c1], [__values.c2]), filter(nil), columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p4) 3 - output([__values.c1], [__values.c2]), filter(nil) values({?, ?}) *************** Case 6(end) ************** *************** Case 7 *************** SQL: insert into t1 values (1,2) on duplicate key update c2 = c2+1; ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |1 | |1 | EXCHANGE OUT REMOTE| |1 |1 | |2 | INSERT_UP | |1 |1 | |3 | EXPRESSION | |1 |1 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output([column_conv(INT,PS:(11,0),NOT NULL,__values.c1)], [column_conv(INT,PS:(11,0),NULL,__values.c2)]), filter(nil), columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p1), update([t1.c2=column_conv(INT,PS:(11,0),NULL,t1.c2 + ?)]) 3 - output([__values.c1], [__values.c2]), filter(nil) values({?, ?}) *************** Case 7(end) ************** *************** Case 8 *************** SQL: insert into t2 values (3,4,'test') on duplicate key update t2.c2 = t2.c2 + 1; ==================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------ |0 |INSERT_UP | |1 |1 | |1 | EXPRESSION| |1 |1 | ==================================== Outputs & filters: ------------------------------------- 0 - output([column_conv(INT,PS:(11,0),NOT NULL,__values.c1)], [column_conv(INT,PS:(11,0),NULL,__values.c2)], [column_conv(VARCHAR,utf8mb4_general_ci,length:32,NULL,__values.c3)]), filter(nil), columns([{t2: ({t2: (t2.c1, t2.c2, t2.c3)})}]), partitions(p0), update([t2.c2=column_conv(INT,PS:(11,0),NULL,t2.c2 + ?)]) 1 - output([__values.c1], [__values.c2], [__values.c3]), filter(nil) values({?, ?, ?}) *************** Case 8(end) ************** *************** Case 9 *************** SQL: insert into t1(c1, c2) values(1, 2); ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |1 | |1 | EXCHANGE OUT REMOTE| |1 |1 | |2 | INSERT | |1 |1 | |3 | EXPRESSION | |1 |1 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output([__values.c1], [__values.c2]), filter(nil), columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p1) 3 - output([__values.c1], [__values.c2]), filter(nil) values({?, ?}) *************** Case 9(end) ************** *************** Case 10 *************** SQL: insert into t1(c1) values(1); ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |1 | |1 | EXCHANGE OUT REMOTE| |1 |1 | |2 | INSERT | |1 |1 | |3 | EXPRESSION | |1 |1 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output([__values.c1], [?]), filter(nil), columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p1) 3 - output([__values.c1]), filter(nil) values({?}) *************** Case 10(end) ************** *************** Case 11 *************** SQL: update t1 set c2 = 3 where c1 = 0; =================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ----------------------------------- |0 |UPDATE | |1 |53 | |1 | TABLE GET|t1 |1 |52 | =================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t1: ({t1: (t1.c1, t1.c2)})}]), update([t1.c2=?]) 1 - output([t1.c1], [t1.c2], [?]), filter(nil), access([t1.c1], [t1.c2]), partitions(p0), is_index_back=false, range_key([t1.c1]), range[0 ; 0], range_cond([t1.c1 = ?]) *************** Case 11(end) ************** *************** Case 12 *************** SQL: update t1 set c2 = 3 where c1 = 1; ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |53 | |1 | EXCHANGE OUT REMOTE| |1 |53 | |2 | UPDATE | |1 |53 | |3 | TABLE GET |t1 |1 |52 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output(nil), filter(nil), table_columns([{t1: ({t1: (t1.c1, t1.c2)})}]), update([t1.c2=?]) 3 - output([t1.c1], [t1.c2], [?]), filter(nil), access([t1.c1], [t1.c2]), partitions(p1), is_index_back=false, range_key([t1.c1]), range[1 ; 1], range_cond([t1.c1 = ?]) *************** Case 12(end) ************** *************** Case 13 *************** SQL: update t1 set c2 = 3 where c1 = 2; ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |53 | |1 | EXCHANGE OUT REMOTE| |1 |53 | |2 | UPDATE | |1 |53 | |3 | TABLE GET |t1 |1 |52 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output(nil), filter(nil), table_columns([{t1: ({t1: (t1.c1, t1.c2)})}]), update([t1.c2=?]) 3 - output([t1.c1], [t1.c2], [?]), filter(nil), access([t1.c1], [t1.c2]), partitions(p2), is_index_back=false, range_key([t1.c1]), range[2 ; 2], range_cond([t1.c1 = ?]) *************** Case 13(end) ************** *************** Case 14 *************** SQL: update t1 set c2 = 3 where c1 = 3; ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |53 | |1 | EXCHANGE OUT REMOTE| |1 |53 | |2 | UPDATE | |1 |53 | |3 | TABLE GET |t1 |1 |52 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output(nil), filter(nil), table_columns([{t1: ({t1: (t1.c1, t1.c2)})}]), update([t1.c2=?]) 3 - output([t1.c1], [t1.c2], [?]), filter(nil), access([t1.c1], [t1.c2]), partitions(p3), is_index_back=false, range_key([t1.c1]), range[3 ; 3], range_cond([t1.c1 = ?]) *************** Case 14(end) ************** *************** Case 15 *************** SQL: update t1 as t set c2 = 3 where c1 = 4; ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |53 | |1 | EXCHANGE OUT REMOTE| |1 |53 | |2 | UPDATE | |1 |53 | |3 | TABLE GET |t |1 |52 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output(nil), filter(nil), table_columns([{t1: ({t1: (t.c1, t.c2)})}]), update([t.c2=?]) 3 - output([t.c1], [t.c2], [?]), filter(nil), access([t.c1], [t.c2]), partitions(p4), is_index_back=false, range_key([t.c1]), range[4 ; 4], range_cond([t.c1 = ?]) *************** Case 15(end) ************** *************** Case 16 *************** SQL: update opt.t1 t set c2 = 3 where c1 = 5; =================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ----------------------------------- |0 |UPDATE | |1 |53 | |1 | TABLE GET|t |1 |52 | =================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t1: ({t1: (t.c1, t.c2)})}]), update([t.c2=?]) 1 - output([t.c1], [t.c2], [?]), filter(nil), access([t.c1], [t.c2]), partitions(p0), is_index_back=false, range_key([t.c1]), range[5 ; 5], range_cond([t.c1 = ?]) *************** Case 16(end) ************** *************** Case 17 *************** SQL: update t10 set c3 = 5 where c2 = 3; ============================================== |ID|OPERATOR |NAME|EST. ROWS|COST | ---------------------------------------------- |0 |EXCHANGE IN REMOTE | |1000 |81811| |1 | EXCHANGE OUT REMOTE| |1000 |81811| |2 | UPDATE | |1000 |81811| |3 | TABLE SCAN |t10 |1000 |80811| ============================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output(nil), filter(nil), table_columns([{t10: ({t10: (t10.c1, t10.c2, t10.c3)})}]), update([t10.c3=?]) 3 - output([t10.c1], [t10.c2], [t10.c3], [?]), filter([t10.c2 = ?]), access([t10.c2], [t10.c3], [t10.c1]), partitions(p1), is_index_back=false, filter_before_indexback[false], range_key([t10.c1], [t10.c2]), range(MIN,MIN ; MAX,MAX)always true *************** Case 17(end) ************** *************** Case 18 *************** SQL: update t1 set c2 = 3 where c1 = 1 order by c1 limit 100; ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |53 | |1 | EXCHANGE OUT REMOTE| |1 |53 | |2 | UPDATE | |1 |53 | |3 | TABLE GET |t1 |1 |52 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output(nil), filter(nil), table_columns([{t1: ({t1: (t1.c1, t1.c2)})}]), update([t1.c2=?]) 3 - output([t1.c1], [t1.c2], [?]), filter(nil), access([t1.c1], [t1.c2]), partitions(p1), limit(100), offset(nil), is_index_back=false, range_key([t1.c1]), range[1 ; 1], range_cond([t1.c1 = ?]) *************** Case 18(end) ************** *************** Case 19 *************** SQL: delete from t2 where c1 = 5 order by c3 limit 1; ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |54 | |1 | EXCHANGE OUT REMOTE| |1 |54 | |2 | DELETE | |1 |54 | |3 | TABLE GET |t2 |1 |53 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output(nil), filter(nil), table_columns([{t2: ({t2: (t2.c1, t2.c2, t2.c3)})}]) 3 - output([t2.c1], [t2.c2], [t2.c3]), filter(nil), access([t2.c1], [t2.c2], [t2.c3]), partitions(p2), limit(1), offset(nil), is_index_back=false, range_key([t2.c1]), range[5 ; 5], range_cond([t2.c1 = ?]) *************** Case 19(end) ************** *************** Case 20 *************** SQL: delete from t1 where c1 = 5; =================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ----------------------------------- |0 |DELETE | |1 |53 | |1 | TABLE GET|t1 |1 |52 | =================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t1: ({t1: (t1.c1, t1.c2)})}]) 1 - output([t1.c1], [t1.c2]), filter(nil), access([t1.c1], [t1.c2]), partitions(p0), is_index_back=false, range_key([t1.c1]), range[5 ; 5], range_cond([t1.c1 = ?]) *************** Case 20(end) ************** *************** Case 21 *************** SQL: insert into t1 values(1,null); ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |1 | |1 | EXCHANGE OUT REMOTE| |1 |1 | |2 | INSERT | |1 |1 | |3 | EXPRESSION | |1 |1 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output([__values.c1], [__values.c2]), filter(nil), columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p1) 3 - output([__values.c1], [__values.c2]), filter(nil) values({?, ?}) *************** Case 21(end) ************** *************** Case 22 *************** SQL: insert into t3(c1) values(1); ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |1 | |1 | EXCHANGE OUT REMOTE| |1 |1 | |2 | INSERT | |1 |1 | |3 | EXPRESSION | |1 |1 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output([__values.c1], [?], [?]), filter(nil), columns([{t3: ({t3: (t3.c1, t3.c2, t3.c3)})}]), partitions(p1) 3 - output([__values.c1]), filter(nil) values({?}) *************** Case 22(end) ************** *************** Case 23 *************** SQL: update t1 set c1 = 1 where c1 = 1; =================================================== |ID|OPERATOR |NAME |EST. ROWS|COST| --------------------------------------------------- |0 |MULTI PARTITION UPDATE| |1 |54 | |1 | PX COORDINATOR | |1 |53 | |2 | EXCHANGE OUT DISTR |:EX10000|1 |52 | |3 | TABLE GET |t1 |1 |52 | =================================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t1: ({t1: (t1.c1, t1.c2)})}]), update([t1.c1=?]) 1 - output([t1.c1], [t1.c2], [?]), filter(nil) 2 - output([t1.c1], [t1.c2], [?]), filter(nil), is_single, dop=1 3 - output([t1.c1], [t1.c2], [?]), filter(nil), access([t1.c1], [t1.c2]), partitions(p1), is_index_back=false, range_key([t1.c1]), range[1 ; 1], range_cond([t1.c1 = ?]) *************** Case 23(end) ************** *************** Case 24 *************** SQL: update t1 set c1 = 1 + 1 where c1 = 2; =================================================== |ID|OPERATOR |NAME |EST. ROWS|COST| --------------------------------------------------- |0 |MULTI PARTITION UPDATE| |1 |54 | |1 | PX COORDINATOR | |1 |53 | |2 | EXCHANGE OUT DISTR |:EX10000|1 |52 | |3 | TABLE GET |t1 |1 |52 | =================================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t1: ({t1: (t1.c1, t1.c2)})}]), update([t1.c1=?]) 1 - output([t1.c1], [t1.c2], [?]), filter(nil) 2 - output([t1.c1], [t1.c2], [?]), filter(nil), is_single, dop=1 3 - output([t1.c1], [t1.c2], [?]), filter(nil), access([t1.c1], [t1.c2]), partitions(p2), is_index_back=false, range_key([t1.c1]), range[2 ; 2], range_cond([t1.c1 = ?]) *************** Case 24(end) ************** *************** Case 25 *************** SQL: insert into t1 partition (p3, p0) values(3, 2); ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |1 | |1 | EXCHANGE OUT REMOTE| |1 |1 | |2 | INSERT | |1 |1 | |3 | EXPRESSION | |1 |1 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output([__values.c1], [__values.c2]), filter(nil), columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p3) 3 - output([__values.c1], [__values.c2]), filter(nil) values({?, ?}) *************** Case 25(end) ************** *************** Case 26 *************** SQL: replace into t1 partition (p3, p0) values(0, 3); ==================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------ |0 |REPLACE | |1 |1 | |1 | EXPRESSION| |1 |1 | ==================================== Outputs & filters: ------------------------------------- 0 - output([column_conv(INT,PS:(11,0),NOT NULL,__values.c1)], [column_conv(INT,PS:(11,0),NULL,__values.c2)]), filter(nil), columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p0) 1 - output([__values.c1], [__values.c2]), filter(nil) values({?, ?}) *************** Case 26(end) ************** *************** Case 27 *************** SQL: delete from t1 partition (p0) where c1 = 5; =================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ----------------------------------- |0 |DELETE | |1 |53 | |1 | TABLE GET|t1 |1 |52 | =================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t1: ({t1: (t1.c1, t1.c2)})}]) 1 - output([t1.c1], [t1.c2]), filter(nil), access([t1.c1], [t1.c2]), partitions(p0), is_index_back=false, range_key([t1.c1]), range[5 ; 5], range_cond([t1.c1 = ?]) *************** Case 27(end) ************** *************** Case 28 *************** SQL: update t1 partition(p3) set c2 = 2 where c1 = 3; ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |53 | |1 | EXCHANGE OUT REMOTE| |1 |53 | |2 | UPDATE | |1 |53 | |3 | TABLE GET |t1 |1 |52 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output(nil), filter(nil), table_columns([{t1: ({t1: (t1.c1, t1.c2)})}]), update([t1.c2=?]) 3 - output([t1.c1], [t1.c2], [?]), filter(nil), access([t1.c1], [t1.c2]), partitions(p3), is_index_back=false, range_key([t1.c1]), range[3 ; 3], range_cond([t1.c1 = ?]) *************** Case 28(end) ************** *************** Case 29 *************** SQL: insert into t9(c1, c2) values(0, 2); ==================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------ |0 |INSERT | |1 |1 | |1 | EXPRESSION| |1 |1 | ==================================== Outputs & filters: ------------------------------------- 0 - output([__values.c1], [__values.c2], [?]), filter(nil), columns([{t9: ({t9: (t9.c1, t9.c2, t9.c3)})}]), partitions(p0) 1 - output([__values.c1], [__values.c2]), filter(nil) values({?, ?}) *************** Case 29(end) ************** *************** Case 30 *************** SQL: update t2_no_part set c2 = (c3 = 1 and 1 = 1) where c1 = 1; ========================================= |ID|OPERATOR |NAME |EST. ROWS|COST| ----------------------------------------- |0 |UPDATE | |1 |54 | |1 | TABLE GET|t2_no_part|1 |53 | ========================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t2_no_part: ({t2_no_part: (t2_no_part.c1, t2_no_part.c2, t2_no_part.c3)})}]), update([t2_no_part.c2=column_conv(INT,PS:(11,0),NULL,t2_no_part.c3 = ? AND ?)]) 1 - output([t2_no_part.c1], [t2_no_part.c2], [t2_no_part.c3], [column_conv(INT,PS:(11,0),NULL,t2_no_part.c3 = ? AND ?)]), filter(nil), access([t2_no_part.c2], [t2_no_part.c3], [t2_no_part.c1]), partitions(p0), is_index_back=false, range_key([t2_no_part.c1]), range[1 ; 1], range_cond([t2_no_part.c1 = ?]) *************** Case 30(end) ************** *************** Case 31 *************** SQL: delete from t7 where c1 in (select c1 from t8 where t7.c2=c2); ======================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ---------------------------------------- |0 |DELETE | |50 |9976| |1 | SUBPLAN FILTER| |50 |9926| |2 | TABLE SCAN |t7 |100 |90 | |3 | TABLE SCAN |t8 |1 |99 | ======================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}]) 1 - output([t7.c1], [t7.c2]), filter([t7.c1 = ANY(subquery(1))]), exec_params_([t7.c2]), onetime_exprs_(nil), init_plan_idxs_(nil) 2 - output([t7.c1], [t7.c2]), filter(nil), access([t7.c1], [t7.c2]), partitions(p0), is_index_back=false, range_key([t7.c1]), range(MIN ; MAX)always true 3 - output([t8.c1]), filter([? = t8.c2]), access([t8.c2], [t8.c1]), partitions(p0), is_index_back=false, filter_before_indexback[false], range_key([t8.c1]), range(MIN ; MAX)always true *************** Case 31(end) ************** *************** Case 32 *************** SQL: update t7 set c1=1 where c1 in (select c1 from t8 where t7.c2=c2); ======================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ---------------------------------------- |0 |UPDATE | |50 |9976| |1 | SUBPLAN FILTER| |50 |9926| |2 | TABLE SCAN |t7 |100 |90 | |3 | TABLE SCAN |t8 |1 |99 | ======================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}]), update([t7.c1=?]) 1 - output([t7.c1], [t7.c2], [?]), filter([t7.c1 = ANY(subquery(1))]), exec_params_([t7.c2]), onetime_exprs_(nil), init_plan_idxs_(nil) 2 - output([t7.c1], [t7.c2]), filter(nil), access([t7.c1], [t7.c2]), partitions(p0), is_index_back=false, range_key([t7.c1]), range(MIN ; MAX)always true 3 - output([t8.c1]), filter([? = t8.c2]), access([t8.c2], [t8.c1]), partitions(p0), is_index_back=false, filter_before_indexback[false], range_key([t8.c1]), range(MIN ; MAX)always true *************** Case 32(end) ************** *************** Case 33 *************** SQL: update t7 set c1=(select c1 from t8); ======================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ---------------------------------------- |0 |UPDATE | |100 |292 | |1 | SUBPLAN FILTER| |100 |192 | |2 | TABLE SCAN |t7 |100 |90 | |3 | TABLE SCAN |t8 |100 |88 | ======================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}]), update([t7.c1=column_conv(INT,PS:(11,0),NOT NULL,?)]) 1 - output([t7.c1], [t7.c2], [column_conv(INT,PS:(11,0),NOT NULL,?)]), filter(nil), exec_params_(nil), onetime_exprs_([subquery(1)]), init_plan_idxs_(nil) 2 - output([t7.c1], [t7.c2]), filter(nil), access([t7.c1], [t7.c2]), partitions(p0), is_index_back=false, range_key([t7.c1]), range(MIN ; MAX)always true 3 - output([t8.c1]), filter(nil), access([t8.c1]), partitions(p0), is_index_back=false, range_key([t8.c1]), range(MIN ; MAX)always true *************** Case 33(end) ************** *************** Case 34 *************** SQL: update t7 set c1=(select c1 from t8 where t7.c2=c2); ========================================= |ID|OPERATOR |NAME|EST. ROWS|COST | ----------------------------------------- |0 |UPDATE | |100 |10026| |1 | SUBPLAN FILTER| |100 |9926 | |2 | TABLE SCAN |t7 |100 |90 | |3 | TABLE SCAN |t8 |1 |99 | ========================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}]), update([t7.c1=column_conv(INT,PS:(11,0),NOT NULL,subquery(1))]) 1 - output([t7.c1], [t7.c2], [column_conv(INT,PS:(11,0),NOT NULL,subquery(1))]), filter(nil), exec_params_([t7.c2]), onetime_exprs_(nil), init_plan_idxs_(nil) 2 - output([t7.c1], [t7.c2]), filter(nil), access([t7.c1], [t7.c2]), partitions(p0), is_index_back=false, range_key([t7.c1]), range(MIN ; MAX)always true 3 - output([t8.c1]), filter([? = t8.c2]), access([t8.c2], [t8.c1]), partitions(p0), is_index_back=false, filter_before_indexback[false], range_key([t8.c1]), range(MIN ; MAX)always true *************** Case 34(end) ************** *************** Case 35 *************** SQL: delete from t7 where abs(c1) > 0 order by c1 limit 1; ==================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------ |0 |DELETE | |1 |38 | |1 | TABLE SCAN|t7 |1 |37 | ==================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}]) 1 - output([t7.c1], [t7.c2]), filter([abs(t7.c1) > ?]), access([t7.c1], [t7.c2]), partitions(p0), limit(1), offset(nil), is_index_back=false, filter_before_indexback[false], range_key([t7.c1]), range(MIN ; MAX)always true *************** Case 35(end) ************** *************** Case 36 *************** SQL: update t7 set c1 = 1 where abs(c2) > 0 order by c1 limit 1; ==================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------ |0 |UPDATE | |1 |38 | |1 | TABLE SCAN|t7 |1 |37 | ==================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}]), update([t7.c1=?]) 1 - output([t7.c1], [t7.c2], [?]), filter([abs(t7.c2) > ?]), access([t7.c1], [t7.c2]), partitions(p0), limit(1), offset(nil), is_index_back=false, filter_before_indexback[false], range_key([t7.c1]), range(MIN ; MAX)always true *************** Case 36(end) ************** *************** Case 37 *************** SQL: use insert_db; *************** Case 38 *************** SQL: insert into t1 select * from t2; ======================================= |ID|OPERATOR |NAME |EST. ROWS|COST| --------------------------------------- |0 |INSERT | |100 |124 | |1 | SUBPLAN SCAN|VIEW1|100 |111 | |2 | TABLE SCAN |t2 |100 |97 | ======================================= Outputs & filters: ------------------------------------- 0 - output([VIEW1.c1], [VIEW1.c2]), filter(nil), columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p0) 1 - output([VIEW1.c1], [VIEW1.c2]), filter(nil), access([VIEW1.c1], [VIEW1.c2]) 2 - output([t2.c1], [t2.c2]), filter(nil), access([t2.c1], [t2.c2]), partitions(p0), is_index_back=false, range_key([t2.__pk_increment], [t2.__pk_cluster_id], [t2.__pk_partition_id]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true *************** Case 38(end) ************** *************** Case 39 *************** SQL: insert into t2 select * from t1; ======================================= |ID|OPERATOR |NAME |EST. ROWS|COST| --------------------------------------- |0 |INSERT | |100 |118 | |1 | SUBPLAN SCAN|VIEW1|100 |104 | |2 | TABLE SCAN |t1 |100 |90 | ======================================= Outputs & filters: ------------------------------------- 0 - output([nextval(1)], [?], [()], [VIEW1.c1], [VIEW1.c2]), filter(nil), columns([{t2: ({t2: (t2.__pk_increment, t2.__pk_cluster_id, t2.__pk_partition_id, t2.c1, t2.c2)})}]), partitions(p0) 1 - output([VIEW1.c1], [VIEW1.c2]), filter(nil), access([VIEW1.c1], [VIEW1.c2]) 2 - output([t1.c1], [t1.c2]), filter(nil), access([t1.c1], [t1.c2]), partitions(p0), is_index_back=false, range_key([t1.c1]), range(MIN ; MAX)always true *************** Case 39(end) ************** *************** Case 40 *************** SQL: insert into t1 select * from t1; ======================================= |ID|OPERATOR |NAME |EST. ROWS|COST| --------------------------------------- |0 |INSERT | |100 |118 | |1 | SUBPLAN SCAN|VIEW1|100 |104 | |2 | TABLE SCAN |t1 |100 |90 | ======================================= Outputs & filters: ------------------------------------- 0 - output([VIEW1.c1], [VIEW1.c2]), filter(nil), columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p0) 1 - output([VIEW1.c1], [VIEW1.c2]), filter(nil), access([VIEW1.c1], [VIEW1.c2]) 2 - output([t1.c1], [t1.c2]), filter(nil), access([t1.c1], [t1.c2]), partitions(p0), is_index_back=false, range_key([t1.c1]), range(MIN ; MAX)always true *************** Case 40(end) ************** *************** Case 41 *************** SQL: insert into t2 select * from t2; ======================================= |ID|OPERATOR |NAME |EST. ROWS|COST| --------------------------------------- |0 |INSERT | |100 |124 | |1 | SUBPLAN SCAN|VIEW1|100 |111 | |2 | TABLE SCAN |t2 |100 |97 | ======================================= Outputs & filters: ------------------------------------- 0 - output([nextval(1)], [?], [()], [VIEW1.c1], [VIEW1.c2]), filter(nil), columns([{t2: ({t2: (t2.__pk_increment, t2.__pk_cluster_id, t2.__pk_partition_id, t2.c1, t2.c2)})}]), partitions(p0) 1 - output([VIEW1.c1], [VIEW1.c2]), filter(nil), access([VIEW1.c1], [VIEW1.c2]) 2 - output([t2.c1], [t2.c2]), filter(nil), access([t2.c1], [t2.c2]), partitions(p0), is_index_back=false, range_key([t2.__pk_increment], [t2.__pk_cluster_id], [t2.__pk_partition_id]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true *************** Case 41(end) ************** *************** Case 42 *************** SQL: insert into t2 select c1, c2 from t3; ======================================= |ID|OPERATOR |NAME |EST. ROWS|COST| --------------------------------------- |0 |INSERT | |100 |118 | |1 | SUBPLAN SCAN|VIEW1|100 |104 | |2 | TABLE SCAN |t3 |100 |90 | ======================================= Outputs & filters: ------------------------------------- 0 - output([nextval(1)], [?], [()], [VIEW1.c1], [VIEW1.c2]), filter(nil), columns([{t2: ({t2: (t2.__pk_increment, t2.__pk_cluster_id, t2.__pk_partition_id, t2.c1, t2.c2)})}]), partitions(p0) 1 - output([VIEW1.c1], [VIEW1.c2]), filter(nil), access([VIEW1.c1], [VIEW1.c2]) 2 - output([t3.c1], [t3.c2]), filter(nil), access([t3.c1], [t3.c2]), partitions(p0), is_index_back=false, range_key([t3.c1]), range(MIN ; MAX)always true *************** Case 42(end) ************** *************** Case 43 *************** SQL: insert into t3 select c1, c2, c1 from t2; ======================================= |ID|OPERATOR |NAME |EST. ROWS|COST| --------------------------------------- |0 |INSERT | |100 |124 | |1 | SUBPLAN SCAN|VIEW1|100 |111 | |2 | TABLE SCAN |t2 |100 |97 | ======================================= Outputs & filters: ------------------------------------- 0 - output([VIEW1.c1], [VIEW1.c2], [VIEW1.c1]), filter(nil), columns([{t3: ({t3: (t3.c1, t3.c2, t3.c3)})}]), partitions(p0) 1 - output([VIEW1.c1], [VIEW1.c2], [VIEW1.c1]), filter(nil), access([VIEW1.c1], [VIEW1.c2], [VIEW1.c1]) 2 - output([t2.c1], [t2.c2], [t2.c1]), filter(nil), access([t2.c1], [t2.c2]), partitions(p0), is_index_back=false, range_key([t2.__pk_increment], [t2.__pk_cluster_id], [t2.__pk_partition_id]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true *************** Case 43(end) ************** *************** Case 44 *************** SQL: use opt; *************** Case 45 *************** SQL: update t7 set c1 = 1 where exists(select c2+2 from t8); ======================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ---------------------------------------- |0 |UPDATE | |100 |294 | |1 | SUBPLAN FILTER| |100 |194 | |2 | TABLE SCAN |t7 |100 |90 | |3 | TABLE SCAN |t8 |100 |90 | ======================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}]), update([t7.c1=?]) 1 - output([t7.c1], [t7.c2], [?]), filter([?]), exec_params_(nil), onetime_exprs_([(T_OP_EXISTS, subquery(1))]), init_plan_idxs_(nil) 2 - output([t7.c1], [t7.c2]), filter(nil), access([t7.c1], [t7.c2]), partitions(p0), is_index_back=false, range_key([t7.c1]), range(MIN ; MAX)always true 3 - output([t8.c2 + ?]), filter(nil), access([t8.c2]), partitions(p0), is_index_back=false, range_key([t8.c1]), range(MIN ; MAX)always true *************** Case 45(end) ************** *************** Case 46 *************** SQL: update t7 set c1 = 1 where not exists(select c2+2 from t8); ======================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ---------------------------------------- |0 |UPDATE | |100 |294 | |1 | SUBPLAN FILTER| |100 |194 | |2 | TABLE SCAN |t7 |100 |90 | |3 | TABLE SCAN |t8 |100 |90 | ======================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}]), update([t7.c1=?]) 1 - output([t7.c1], [t7.c2], [?]), filter([?]), exec_params_(nil), onetime_exprs_([(T_OP_NOT_EXISTS, subquery(1))]), init_plan_idxs_(nil) 2 - output([t7.c1], [t7.c2]), filter(nil), access([t7.c1], [t7.c2]), partitions(p0), is_index_back=false, range_key([t7.c1]), range(MIN ; MAX)always true 3 - output([t8.c2 + ?]), filter(nil), access([t8.c2]), partitions(p0), is_index_back=false, range_key([t8.c1]), range(MIN ; MAX)always true *************** Case 46(end) ************** *************** Case 47 *************** SQL: update t7 set c1 = 1 where exists(select c2+2 from t8 group by c2 order by c2); ========================================= |ID|OPERATOR |NAME|EST. ROWS|COST| ----------------------------------------- |0 |UPDATE | |100 |424 | |1 | SUBPLAN FILTER | |100 |324 | |2 | TABLE SCAN |t7 |100 |90 | |3 | MERGE GROUP BY| |100 |220 | |4 | SORT | |100 |198 | |5 | TABLE SCAN |t8 |100 |90 | ========================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}]), update([t7.c1=?]) 1 - output([t7.c1], [t7.c2], [?]), filter([?]), exec_params_(nil), onetime_exprs_([(T_OP_EXISTS, subquery(1))]), init_plan_idxs_(nil) 2 - output([t7.c1], [t7.c2]), filter(nil), access([t7.c1], [t7.c2]), partitions(p0), is_index_back=false, range_key([t7.c1]), range(MIN ; MAX)always true 3 - output([t8.c2 + ?]), filter(nil), group([t8.c2]), agg_func(nil) 4 - output([t8.c2]), filter(nil), sort_keys([t8.c2, ASC]) 5 - output([t8.c2]), filter(nil), access([t8.c2]), partitions(p0), is_index_back=false, range_key([t8.c1]), range(MIN ; MAX)always true *************** Case 47(end) ************** *************** Case 48 *************** SQL: update t7 set c1 = 1 where exists(select c2+2 from t8 group by c2 order by c2 limit 2); ========================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------------ |0 |UPDATE | |100 |402 | |1 | SUBPLAN FILTER | |100 |302 | |2 | TABLE SCAN |t7 |100 |90 | |3 | LIMIT | |2 |199 | |4 | MERGE GROUP BY| |2 |198 | |5 | SORT | |2 |198 | |6 | TABLE SCAN |t8 |100 |90 | ========================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}]), update([t7.c1=?]) 1 - output([t7.c1], [t7.c2], [?]), filter([?]), exec_params_(nil), onetime_exprs_([(T_OP_EXISTS, subquery(1))]), init_plan_idxs_(nil) 2 - output([t7.c1], [t7.c2]), filter(nil), access([t7.c1], [t7.c2]), partitions(p0), is_index_back=false, range_key([t7.c1]), range(MIN ; MAX)always true 3 - output([t8.c2 + ?]), filter(nil), limit(2), offset(nil) 4 - output([t8.c2]), filter(nil), group([t8.c2]), agg_func(nil) 5 - output([t8.c2]), filter(nil), sort_keys([t8.c2, ASC]) 6 - output([t8.c2]), filter(nil), access([t8.c2]), partitions(p0), is_index_back=false, range_key([t8.c1]), range(MIN ; MAX)always true *************** Case 48(end) ************** *************** Case 49 *************** SQL: delete from t7 where exists(select c2+2 from t8); ======================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ---------------------------------------- |0 |DELETE | |50 |244 | |1 | SUBPLAN FILTER| |50 |194 | |2 | TABLE SCAN |t7 |100 |90 | |3 | TABLE SCAN |t8 |100 |90 | ======================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}]) 1 - output([t7.c1], [t7.c2]), filter([?]), exec_params_(nil), onetime_exprs_([(T_OP_EXISTS, subquery(1))]), init_plan_idxs_(nil) 2 - output([t7.c1], [t7.c2]), filter(nil), access([t7.c1], [t7.c2]), partitions(p0), is_index_back=false, range_key([t7.c1]), range(MIN ; MAX)always true 3 - output([t8.c2 + ?]), filter(nil), access([t8.c2]), partitions(p0), is_index_back=false, range_key([t8.c1]), range(MIN ; MAX)always true *************** Case 49(end) ************** *************** Case 50 *************** SQL: delete from t7 where not exists(select c2+2 from t8); ======================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ---------------------------------------- |0 |DELETE | |50 |244 | |1 | SUBPLAN FILTER| |50 |194 | |2 | TABLE SCAN |t7 |100 |90 | |3 | TABLE SCAN |t8 |100 |90 | ======================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}]) 1 - output([t7.c1], [t7.c2]), filter([?]), exec_params_(nil), onetime_exprs_([(T_OP_NOT_EXISTS, subquery(1))]), init_plan_idxs_(nil) 2 - output([t7.c1], [t7.c2]), filter(nil), access([t7.c1], [t7.c2]), partitions(p0), is_index_back=false, range_key([t7.c1]), range(MIN ; MAX)always true 3 - output([t8.c2 + ?]), filter(nil), access([t8.c2]), partitions(p0), is_index_back=false, range_key([t8.c1]), range(MIN ; MAX)always true *************** Case 50(end) ************** *************** Case 51 *************** SQL: delete from t7 where exists(select c2+2 from t8 group by c2 order by c2); ========================================= |ID|OPERATOR |NAME|EST. ROWS|COST| ----------------------------------------- |0 |DELETE | |50 |374 | |1 | SUBPLAN FILTER | |50 |324 | |2 | TABLE SCAN |t7 |100 |90 | |3 | MERGE GROUP BY| |100 |220 | |4 | SORT | |100 |198 | |5 | TABLE SCAN |t8 |100 |90 | ========================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}]) 1 - output([t7.c1], [t7.c2]), filter([?]), exec_params_(nil), onetime_exprs_([(T_OP_EXISTS, subquery(1))]), init_plan_idxs_(nil) 2 - output([t7.c1], [t7.c2]), filter(nil), access([t7.c1], [t7.c2]), partitions(p0), is_index_back=false, range_key([t7.c1]), range(MIN ; MAX)always true 3 - output([t8.c2 + ?]), filter(nil), group([t8.c2]), agg_func(nil) 4 - output([t8.c2]), filter(nil), sort_keys([t8.c2, ASC]) 5 - output([t8.c2]), filter(nil), access([t8.c2]), partitions(p0), is_index_back=false, range_key([t8.c1]), range(MIN ; MAX)always true *************** Case 51(end) ************** *************** Case 52 *************** SQL: delete from t7 where exists(select c2+2 from t8 group by c2 order by c2 limit 2); ========================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------------ |0 |DELETE | |50 |352 | |1 | SUBPLAN FILTER | |50 |302 | |2 | TABLE SCAN |t7 |100 |90 | |3 | LIMIT | |2 |199 | |4 | MERGE GROUP BY| |2 |198 | |5 | SORT | |2 |198 | |6 | TABLE SCAN |t8 |100 |90 | ========================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}]) 1 - output([t7.c1], [t7.c2]), filter([?]), exec_params_(nil), onetime_exprs_([(T_OP_EXISTS, subquery(1))]), init_plan_idxs_(nil) 2 - output([t7.c1], [t7.c2]), filter(nil), access([t7.c1], [t7.c2]), partitions(p0), is_index_back=false, range_key([t7.c1]), range(MIN ; MAX)always true 3 - output([t8.c2 + ?]), filter(nil), limit(2), offset(nil) 4 - output([t8.c2]), filter(nil), group([t8.c2]), agg_func(nil) 5 - output([t8.c2]), filter(nil), sort_keys([t8.c2, ASC]) 6 - output([t8.c2]), filter(nil), access([t8.c2]), partitions(p0), is_index_back=false, range_key([t8.c1]), range(MIN ; MAX)always true *************** Case 52(end) ************** *************** Case 53 *************** SQL: UPDATE t1 SET c2 = CONCAT(c2, (SELECT c2 FROM t2 where t2.c1=1)) WHERE c1 = 1; ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |106 | |1 | EXCHANGE OUT REMOTE| |1 |106 | |2 | UPDATE | |1 |106 | |3 | SUBPLAN FILTER | |1 |105 | |4 | TABLE GET |t1 |1 |52 | |5 | TABLE GET |t2 |1 |52 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output(nil), filter(nil), table_columns([{t1: ({t1: (t1.c1, t1.c2)})}]), update([t1.c2=column_conv(INT,PS:(11,0),NULL,CONCAT(t1.c2, ?))]) 3 - output([t1.c1], [t1.c2], [column_conv(INT,PS:(11,0),NULL,CONCAT(t1.c2, ?))]), filter(nil), exec_params_(nil), onetime_exprs_([subquery(1)]), init_plan_idxs_(nil) 4 - output([t1.c1], [t1.c2]), filter(nil), access([t1.c1], [t1.c2]), partitions(p1), is_index_back=false, range_key([t1.c1]), range[1 ; 1], range_cond([t1.c1 = ?]) 5 - output([t2.c2]), filter(nil), access([t2.c2]), partitions(p1), is_index_back=false, range_key([t2.c1]), range[1 ; 1], range_cond([t2.c1 = ?]) *************** Case 53(end) ************** *************** Case 54 *************** SQL: UPDATE t7 SET c2 = CONCAT(c2, (SELECT c2 FROM t2 where t2.c1=1)); ================================================== |ID|OPERATOR |NAME |EST. ROWS|COST| -------------------------------------------------- |0 |UPDATE | |100 |256 | |1 | SUBPLAN FILTER | |100 |156 | |2 | TABLE SCAN |t7 |100 |90 | |3 | PX COORDINATOR | |1 |53 | |4 | EXCHANGE OUT DISTR|:EX10000|1 |52 | |5 | TABLE GET |t2 |1 |52 | ================================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}]), update([t7.c2=column_conv(INT,PS:(11,0),NULL,CONCAT(t7.c2, ?))]) 1 - output([t7.c1], [t7.c2], [column_conv(INT,PS:(11,0),NULL,CONCAT(t7.c2, ?))]), filter(nil), exec_params_(nil), onetime_exprs_([subquery(1)]), init_plan_idxs_(nil) 2 - output([t7.c2], [t7.c1]), filter(nil), access([t7.c2], [t7.c1]), partitions(p0), is_index_back=false, range_key([t7.c1]), range(MIN ; MAX)always true 3 - output([t2.c2]), filter(nil) 4 - output([t2.c2]), filter(nil), is_single, dop=1 5 - output([t2.c2]), filter(nil), access([t2.c2]), partitions(p1), is_index_back=false, range_key([t2.c1]), range[1 ; 1], range_cond([t2.c1 = ?]) *************** Case 54(end) ************** *************** Case 55 *************** SQL: UPDATE t1 SET c2 = CONCAT(c2, (SELECT c2 FROM t7 limit 1)) WHERE c1 = 0; ======================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ---------------------------------------- |0 |UPDATE | |1 |90 | |1 | SUBPLAN FILTER| |1 |89 | |2 | TABLE GET |t1 |1 |52 | |3 | TABLE SCAN |t7 |1 |36 | ======================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t1: ({t1: (t1.c1, t1.c2)})}]), update([t1.c2=column_conv(INT,PS:(11,0),NULL,CONCAT(t1.c2, ?))]) 1 - output([t1.c1], [t1.c2], [column_conv(INT,PS:(11,0),NULL,CONCAT(t1.c2, ?))]), filter(nil), exec_params_(nil), onetime_exprs_([subquery(1)]), init_plan_idxs_(nil) 2 - output([t1.c1], [t1.c2]), filter(nil), access([t1.c1], [t1.c2]), partitions(p0), is_index_back=false, range_key([t1.c1]), range[0 ; 0], range_cond([t1.c1 = ?]) 3 - output([t7.c2]), filter(nil), access([t7.c2]), partitions(p0), limit(1), offset(nil), is_index_back=false, range_key([t7.c1]), range(MIN ; MAX)always true *************** Case 55(end) ************** *************** Case 56 *************** SQL: UPDATE t7 SET c2 = CONCAT(c2, (SELECT c2 FROM t8 limit 1)); ======================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ---------------------------------------- |0 |UPDATE | |100 |240 | |1 | SUBPLAN FILTER| |100 |140 | |2 | TABLE SCAN |t7 |100 |90 | |3 | TABLE SCAN |t8 |1 |36 | ======================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}]), update([t7.c2=column_conv(INT,PS:(11,0),NULL,CONCAT(t7.c2, ?))]) 1 - output([t7.c1], [t7.c2], [column_conv(INT,PS:(11,0),NULL,CONCAT(t7.c2, ?))]), filter(nil), exec_params_(nil), onetime_exprs_([subquery(1)]), init_plan_idxs_(nil) 2 - output([t7.c2], [t7.c1]), filter(nil), access([t7.c2], [t7.c1]), partitions(p0), is_index_back=false, range_key([t7.c1]), range(MIN ; MAX)always true 3 - output([t8.c2]), filter(nil), access([t8.c2]), partitions(p0), limit(1), offset(nil), is_index_back=false, range_key([t8.c1]), range(MIN ; MAX)always true *************** Case 56(end) ************** *************** Case 57 *************** SQL: UPDATE t1 SET c2 = CONCAT(c2, (SELECT c2 FROM t2 where t2.c1=1)) WHERE c1 = 0; ================================================== |ID|OPERATOR |NAME |EST. ROWS|COST| -------------------------------------------------- |0 |UPDATE | |1 |106 | |1 | SUBPLAN FILTER | |1 |105 | |2 | TABLE GET |t1 |1 |52 | |3 | PX COORDINATOR | |1 |53 | |4 | EXCHANGE OUT DISTR|:EX10000|1 |52 | |5 | TABLE GET |t2 |1 |52 | ================================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t1: ({t1: (t1.c1, t1.c2)})}]), update([t1.c2=column_conv(INT,PS:(11,0),NULL,CONCAT(t1.c2, ?))]) 1 - output([t1.c1], [t1.c2], [column_conv(INT,PS:(11,0),NULL,CONCAT(t1.c2, ?))]), filter(nil), exec_params_(nil), onetime_exprs_([subquery(1)]), init_plan_idxs_(nil) 2 - output([t1.c1], [t1.c2]), filter(nil), access([t1.c1], [t1.c2]), partitions(p0), is_index_back=false, range_key([t1.c1]), range[0 ; 0], range_cond([t1.c1 = ?]) 3 - output([t2.c2]), filter(nil) 4 - output([t2.c2]), filter(nil), is_single, dop=1 5 - output([t2.c2]), filter(nil), access([t2.c2]), partitions(p1), is_index_back=false, range_key([t2.c1]), range[1 ; 1], range_cond([t2.c1 = ?]) *************** Case 57(end) ************** *************** Case 58 *************** SQL: delete from t7 where c1 in (select c1 from t1); ======================================================= |ID|OPERATOR |NAME |EST. ROWS|COST | ------------------------------------------------------- |0 |DELETE | |50 |10583| |1 | SUBPLAN FILTER | |50 |10533| |2 | TABLE SCAN |t7 |100 |90 | |3 | PX COORDINATOR | |500 |354 | |4 | EXCHANGE OUT DISTR |:EX10000|500 |331 | |5 | PX PARTITION ITERATOR| |500 |331 | |6 | TABLE SCAN |t1 |500 |331 | ======================================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}]) 1 - output([t7.c1], [t7.c2]), filter([t7.c1 = ANY(subquery(1))]), exec_params_(nil), onetime_exprs_(nil), init_plan_idxs_([1]) 2 - output([t7.c1], [t7.c2]), filter(nil), access([t7.c1], [t7.c2]), partitions(p0), is_index_back=false, range_key([t7.c1]), range(MIN ; MAX)always true 3 - output([t1.c1]), filter(nil) 4 - output([t1.c1]), filter(nil), dop=1 5 - output([t1.c1]), filter(nil), force partition granule, asc. 6 - output([t1.c1]), filter(nil), access([t1.c1]), partitions(p[0-4]), is_index_back=false, range_key([t1.c1]), range(MIN ; MAX)always true *************** Case 58(end) ************** *************** Case 59 *************** SQL: insert into t_u values(18446744073709551612); ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |1 | |1 | EXCHANGE OUT REMOTE| |1 |1 | |2 | INSERT | |1 |1 | |3 | EXPRESSION | |1 |1 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output([nextval(1)], [?], [()], [__values.c1]), filter(nil), columns([{t_u: ({t_u: (t_u.__pk_increment, t_u.__pk_cluster_id, t_u.__pk_partition_id, t_u.c1)})}]), partitions(p1) 3 - output([__values.c1]), filter(nil) values({?}) *************** Case 59(end) ************** *************** Case 60 *************** SQL: insert into t_u values(18446744073709551613); ==================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------ |0 |INSERT | |1 |1 | |1 | EXPRESSION| |1 |1 | ==================================== Outputs & filters: ------------------------------------- 0 - output([nextval(1)], [?], [()], [__values.c1]), filter(nil), columns([{t_u: ({t_u: (t_u.__pk_increment, t_u.__pk_cluster_id, t_u.__pk_partition_id, t_u.c1)})}]), partitions(p0) 1 - output([__values.c1]), filter(nil) values({?}) *************** Case 60(end) ************** *************** Case 61 *************** SQL: insert into t_u values(0); ==================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------ |0 |INSERT | |1 |1 | |1 | EXPRESSION| |1 |1 | ==================================== Outputs & filters: ------------------------------------- 0 - output([nextval(1)], [?], [()], [__values.c1]), filter(nil), columns([{t_u: ({t_u: (t_u.__pk_increment, t_u.__pk_cluster_id, t_u.__pk_partition_id, t_u.c1)})}]), partitions(p0) 1 - output([__values.c1]), filter(nil) values({?}) *************** Case 61(end) ************** *************** Case 62 *************** SQL: insert into t_u values(1); ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |1 | |1 | EXCHANGE OUT REMOTE| |1 |1 | |2 | INSERT | |1 |1 | |3 | EXPRESSION | |1 |1 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output([nextval(1)], [?], [()], [__values.c1]), filter(nil), columns([{t_u: ({t_u: (t_u.__pk_increment, t_u.__pk_cluster_id, t_u.__pk_partition_id, t_u.c1)})}]), partitions(p1) 3 - output([__values.c1]), filter(nil) values({?}) *************** Case 62(end) ************** *************** Case 63 *************** SQL: insert into t_u values(2); ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |1 | |1 | EXCHANGE OUT REMOTE| |1 |1 | |2 | INSERT | |1 |1 | |3 | EXPRESSION | |1 |1 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output([nextval(1)], [?], [()], [__values.c1]), filter(nil), columns([{t_u: ({t_u: (t_u.__pk_increment, t_u.__pk_cluster_id, t_u.__pk_partition_id, t_u.c1)})}]), partitions(p2) 3 - output([__values.c1]), filter(nil) values({?}) *************** Case 63(end) ************** *************** Case 64 *************** SQL: insert into t_u values(9223372036854775807); ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |1 | |1 | EXCHANGE OUT REMOTE| |1 |1 | |2 | INSERT | |1 |1 | |3 | EXPRESSION | |1 |1 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output([nextval(1)], [?], [()], [__values.c1]), filter(nil), columns([{t_u: ({t_u: (t_u.__pk_increment, t_u.__pk_cluster_id, t_u.__pk_partition_id, t_u.c1)})}]), partitions(p1) 3 - output([__values.c1]), filter(nil) values({?}) *************** Case 64(end) ************** *************** Case 65 *************** SQL: insert into t_u values(9223372036854775808); ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |1 | |1 | EXCHANGE OUT REMOTE| |1 |1 | |2 | INSERT | |1 |1 | |3 | EXPRESSION | |1 |1 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output([nextval(1)], [?], [()], [__values.c1]), filter(nil), columns([{t_u: ({t_u: (t_u.__pk_increment, t_u.__pk_cluster_id, t_u.__pk_partition_id, t_u.c1)})}]), partitions(p1) 3 - output([__values.c1]), filter(nil) values({?}) *************** Case 65(end) ************** *************** Case 66 *************** SQL: insert into t_u values(9223372036854775809); ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |1 | |1 | EXCHANGE OUT REMOTE| |1 |1 | |2 | INSERT | |1 |1 | |3 | EXPRESSION | |1 |1 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output([nextval(1)], [?], [()], [__values.c1]), filter(nil), columns([{t_u: ({t_u: (t_u.__pk_increment, t_u.__pk_cluster_id, t_u.__pk_partition_id, t_u.c1)})}]), partitions(p1) 3 - output([__values.c1]), filter(nil) values({?}) *************** Case 66(end) ************** *************** Case 67 *************** SQL: insert into t_u values(9223372036854775810); ==================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------ |0 |INSERT | |1 |1 | |1 | EXPRESSION| |1 |1 | ==================================== Outputs & filters: ------------------------------------- 0 - output([nextval(1)], [?], [()], [__values.c1]), filter(nil), columns([{t_u: ({t_u: (t_u.__pk_increment, t_u.__pk_cluster_id, t_u.__pk_partition_id, t_u.c1)})}]), partitions(p0) 1 - output([__values.c1]), filter(nil) values({?}) *************** Case 67(end) ************** *************** Case 68 *************** SQL: select c2 from t7 where c2 >=1 and c2 <= 10 limit 3,4; =================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ----------------------------------- |0 |TABLE SCAN|t7 |4 |44 | =================================== Outputs & filters: ------------------------------------- 0 - output([t7.c2]), filter([t7.c2 <= ?], [t7.c2 >= ?]), access([t7.c2]), partitions(p0), limit(4), offset(?), is_index_back=false, filter_before_indexback[false,false], range_key([t7.c1]), range(MIN ; MAX)always true *************** Case 68(end) ************** *************** Case 69 *************** SQL: select c2 from t7 where c2 = 2 limit 2,4; =================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ----------------------------------- |0 |TABLE SCAN|t7 |0 |107 | =================================== Outputs & filters: ------------------------------------- 0 - output([t7.c2]), filter([t7.c2 = ?]), access([t7.c2]), partitions(p0), limit(4), offset(?), is_index_back=false, filter_before_indexback[false], range_key([t7.c1]), range(MIN ; MAX)always true *************** Case 69(end) ************** *************** Case 70 *************** SQL: select * from t8 where c2 in (select c2 from t7 where c2 >=1 and c2 <= 10 limit 3,4); ============================================== |ID|OPERATOR |NAME |EST. ROWS|COST| ---------------------------------------------- |0 |HASH RIGHT SEMI JOIN| |4 |190 | |1 | SUBPLAN SCAN |VIEW1|4 |45 | |2 | TABLE SCAN |t7 |4 |44 | |3 | TABLE SCAN |t8 |46 |124 | ============================================== Outputs & filters: ------------------------------------- 0 - output([t8.c1], [t8.c2]), filter(nil), equal_conds([t8.c2 = VIEW1.c2]), other_conds(nil) 1 - output([VIEW1.c2]), filter(nil), access([VIEW1.c2]) 2 - output([t7.c2]), filter([t7.c2 <= ?], [t7.c2 >= ?]), access([t7.c2]), partitions(p0), limit(4), offset(?), is_index_back=false, filter_before_indexback[false,false], range_key([t7.c1]), range(MIN ; MAX)always true 3 - output([t8.c2], [t8.c1]), filter([t8.c2 <= ?], [t8.c2 >= ?]), access([t8.c2], [t8.c1]), partitions(p0), is_index_back=false, filter_before_indexback[false,false], range_key([t8.c1]), range(MIN ; MAX)always true *************** Case 70(end) ************** *************** Case 71 *************** SQL: select * from t7 as t limit 789,456; =================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ----------------------------------- |0 |TABLE SCAN|t |0 |90 | =================================== Outputs & filters: ------------------------------------- 0 - output([t.c1], [t.c2]), filter(nil), access([t.c1], [t.c2]), partitions(p0), limit(456), offset(?), is_index_back=false, range_key([t.c1]), range(MIN ; MAX)always true *************** Case 71(end) ************** *************** Case 72 *************** SQL: select * from t7 as t limit 789,345; =================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ----------------------------------- |0 |TABLE SCAN|t |0 |90 | =================================== Outputs & filters: ------------------------------------- 0 - output([t.c1], [t.c2]), filter(nil), access([t.c1], [t.c2]), partitions(p0), limit(345), offset(?), is_index_back=false, range_key([t.c1]), range(MIN ; MAX)always true *************** Case 72(end) ************** *************** Case 73 *************** SQL: update t7 set c1 = 2 limit 3,4; ==================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------ |0 |UPDATE | |4 |42 | |1 | TABLE SCAN|t7 |4 |38 | ==================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}]), update([t7.c1=?]) 1 - output([t7.c1], [t7.c2], [?]), filter(nil), access([t7.c1], [t7.c2]), partitions(p0), limit(4), offset(?), is_index_back=false, range_key([t7.c1]), range(MIN ; MAX)always true *************** Case 73(end) ************** *************** Case 74 *************** SQL: delete from t7 limit 5,6; ==================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------ |0 |DELETE | |6 |44 | |1 | TABLE SCAN|t7 |6 |38 | ==================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}]) 1 - output([t7.c1], [t7.c2]), filter(nil), access([t7.c1], [t7.c2]), partitions(p0), limit(6), offset(?), is_index_back=false, range_key([t7.c1]), range(MIN ; MAX)always true *************** Case 74(end) ************** *************** Case 75 *************** SQL: insert into t7 select (select c1 from t7)+1, c2 from t7; ========================================== |ID|OPERATOR |NAME |EST. ROWS|COST| ------------------------------------------ |0 |INSERT | |100 |219 | |1 | SUBPLAN SCAN |VIEW1|100 |205 | |2 | SUBPLAN FILTER| |100 |192 | |3 | TABLE SCAN |t7 |100 |90 | |4 | TABLE SCAN |t7 |100 |88 | ========================================== Outputs & filters: ------------------------------------- 0 - output([VIEW1.(select c1 from t7)+1], [VIEW1.c2]), filter(nil), columns([{t7: ({t7: (t7.c1, t7.c2)})}]), partitions(p0) 1 - output([VIEW1.(select c1 from t7)+1], [VIEW1.c2]), filter(nil), access([VIEW1.(select c1 from t7)+1], [VIEW1.c2]) 2 - output([?], [t7.c2]), filter(nil), exec_params_(nil), onetime_exprs_([subquery(1) + ?]), init_plan_idxs_(nil) 3 - output([t7.c2]), filter(nil), access([t7.c2]), partitions(p0), is_index_back=false, range_key([t7.c1]), range(MIN ; MAX)always true 4 - output([t7.c1]), filter(nil), access([t7.c1]), partitions(p0), is_index_back=false, range_key([t7.c1]), range(MIN ; MAX)always true *************** Case 75(end) ************** *************** Case 76 *************** SQL: insert into t_s values(1, '2013-10-10'); ==================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------ |0 |INSERT | |1 |1 | |1 | EXPRESSION| |1 |1 | ==================================== Outputs & filters: ------------------------------------- 0 - output([__values.c1], [__values.c2]), filter(nil), columns([{t_s: ({t_s: (t_s.c1, t_s.c2)})}]), partitions(p1sp1) 1 - output([__values.c1], [__values.c2]), filter(nil) values({?, ?}) *************** Case 76(end) ************** *************** Case 77 *************** SQL: insert into t_s values(1, '2013-10-9'), (3, '2013-2-1'); ==================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------ |0 |INSERT | |2 |1 | |1 | EXPRESSION| |2 |1 | ==================================== Outputs & filters: ------------------------------------- 0 - output([__values.c1], [__values.c2]), filter(nil), columns([{t_s: ({t_s: (t_s.c1, t_s.c2)})}]), partitions(p1sp0) 1 - output([__values.c1], [__values.c2]), filter(nil) values({?, ?}, {?, ?}) *************** Case 77(end) ************** *************** Case 78 *************** SQL: insert into t_s1 values(1, '2016-1-2'); ==================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------ |0 |INSERT | |1 |1 | |1 | EXPRESSION| |1 |1 | ==================================== Outputs & filters: ------------------------------------- 0 - output([__values.c1], [__values.c2]), filter(nil), columns([{t_s1: ({t_s1: (t_s1.c1, t_s1.c2)})}]), partitions(p1sp1) 1 - output([__values.c1], [__values.c2]), filter(nil) values({?, ?}) *************** Case 78(end) ************** *************** Case 79 *************** SQL: insert into tp values(2, 1); ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |1 | |1 | EXCHANGE OUT REMOTE| |1 |1 | |2 | INSERT | |1 |1 | |3 | EXPRESSION | |1 |1 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output([__values.c1], [__values.c2]), filter(nil), columns([{tp: ({tp: (tp.c1, tp.c2)})}]), partitions(p2) 3 - output([__values.c1], [__values.c2]), filter(nil) values({?, ?}) *************** Case 79(end) ************** *************** Case 80 *************** SQL: insert into ts2 values(1, '2013-10-13', c1+1, c2); ==================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------ |0 |INSERT | |1 |1 | |1 | EXPRESSION| |1 |1 | ==================================== Outputs & filters: ------------------------------------- 0 - output([__values.c3], [__values.c4], [__values.c1], [__values.c2]), filter(nil), columns([{ts2: ({ts2: (ts2.c3, ts2.c4, ts2.c1, ts2.c2)})}]), partitions(p0sp1) 1 - output([__values.c1], [__values.c2], [__values.c3], [__values.c4]), filter(nil) values({column_conv(INT,PS:(11,0),NULL,?), column_conv(DATETIME,PS:(19,0),NULL,?), __values.c1 + ?, __values.c2}) *************** Case 80(end) ************** *************** Case 81 *************** SQL: insert into ts2 values(1, '2013-10-13', 1, c2); ==================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------ |0 |INSERT | |1 |1 | |1 | EXPRESSION| |1 |1 | ==================================== Outputs & filters: ------------------------------------- 0 - output([__values.c3], [__values.c4], [__values.c1], [__values.c2]), filter(nil), columns([{ts2: ({ts2: (ts2.c3, ts2.c4, ts2.c1, ts2.c2)})}]), partitions(p1sp0) 1 - output([__values.c1], [__values.c2], [__values.c3], [__values.c4]), filter(nil) values({?, column_conv(DATETIME,PS:(19,0),NULL,?), ?, __values.c2}) *************** Case 81(end) ************** *************** Case 82 *************** SQL: insert into ts2 values(1, '2013-10-9', 2, c2); ==================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------ |0 |INSERT | |1 |1 | |1 | EXPRESSION| |1 |1 | ==================================== Outputs & filters: ------------------------------------- 0 - output([__values.c3], [__values.c4], [__values.c1], [__values.c2]), filter(nil), columns([{ts2: ({ts2: (ts2.c3, ts2.c4, ts2.c1, ts2.c2)})}]), partitions(p0sp0) 1 - output([__values.c1], [__values.c2], [__values.c3], [__values.c4]), filter(nil) values({?, column_conv(DATETIME,PS:(19,0),NULL,?), ?, __values.c2}) *************** Case 82(end) ************** *************** Case 83 *************** SQL: insert into ts2 values(1, '2013-10-10', 2, c2); ==================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------ |0 |INSERT | |1 |1 | |1 | EXPRESSION| |1 |1 | ==================================== Outputs & filters: ------------------------------------- 0 - output([__values.c3], [__values.c4], [__values.c1], [__values.c2]), filter(nil), columns([{ts2: ({ts2: (ts2.c3, ts2.c4, ts2.c1, ts2.c2)})}]), partitions(p0sp1) 1 - output([__values.c1], [__values.c2], [__values.c3], [__values.c4]), filter(nil) values({?, column_conv(DATETIME,PS:(19,0),NULL,?), ?, __values.c2}) *************** Case 83(end) ************** *************** Case 84 *************** SQL: insert into ts2 values(1, '2013-10-9', 2, c2), (3, '2013-2-1', 2, c2); ==================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------ |0 |INSERT | |2 |1 | |1 | EXPRESSION| |2 |1 | ==================================== Outputs & filters: ------------------------------------- 0 - output([__values.c3], [__values.c4], [__values.c1], [__values.c2]), filter(nil), columns([{ts2: ({ts2: (ts2.c3, ts2.c4, ts2.c1, ts2.c2)})}]), partitions(p0sp0) 1 - output([__values.c1], [__values.c2], [__values.c3], [__values.c4]), filter(nil) values({?, column_conv(DATETIME,PS:(19,0),NULL,?), ?, __values.c2}, {?, column_conv(DATETIME,PS:(19,0),NULL,?), ?, __values.c2}) *************** Case 84(end) ************** *************** Case 85 *************** SQL: update ts set c1 = 1 where c1 = 3 and c2 = '2013-10-10'; =============================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ----------------------------------------------- |0 |MULTI PARTITION UPDATE| |1 |53 | |1 | TABLE GET |ts |1 |52 | =============================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{ts: ({ts: (ts.c1, ts.c2)})}]), update([ts.c1=?]) 1 - output([ts.c1], [ts.c2], [?]), filter(nil), access([ts.c1], [ts.c2]), partitions(p1sp1), is_index_back=false, range_key([ts.c1], [ts.c2]), range[3,2013-10-10 00:00:00.000000 ; 3,2013-10-10 00:00:00.000000], range_cond([ts.c1 = ?], [ts.c2 = ?]) *************** Case 85(end) ************** *************** Case 86 *************** SQL: update ts set c2 = '2016-3-29' where c1 = 3 and c2 = '2013-10-10'; =============================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ----------------------------------------------- |0 |MULTI PARTITION UPDATE| |1 |53 | |1 | TABLE GET |ts |1 |52 | =============================================== Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil), table_columns([{ts: ({ts: (ts.c1, ts.c2)})}]), update([ts.c2=?]) 1 - output([ts.c1], [ts.c2], [?]), filter(nil), access([ts.c1], [ts.c2]), partitions(p1sp1), is_index_back=false, range_key([ts.c1], [ts.c2]), range[3,2013-10-10 00:00:00.000000 ; 3,2013-10-10 00:00:00.000000], range_cond([ts.c1 = ?], [ts.c2 = ?]) *************** Case 86(end) ************** *************** Case 87 *************** SQL: insert into t15 (c2, c3) values(2,'a'); ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |1 | |1 | EXCHANGE OUT REMOTE| |1 |1 | |2 | INSERT | |1 |1 | |3 | EXPRESSION | |1 |1 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output([nextval(1)], [?], [()], [?], [__values.c2], [__values.c3]), filter(nil), columns([{t15: ({t15: (t15.__pk_increment, t15.__pk_cluster_id, t15.__pk_partition_id, t15.c1, t15.c2, t15.c3)})}]), partitions(p3) 3 - output([__values.c2], [__values.c3]), filter(nil) values({?, ?}) *************** Case 87(end) ************** *************** Case 88 *************** SQL: insert into test_insert set c1 = 4, c4 = c1 + 3; ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |1 | |1 | EXCHANGE OUT REMOTE| |1 |1 | |2 | INSERT | |1 |1 | |3 | EXPRESSION | |1 |1 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output([__values.c4], [__values.c1], [?], [?]), filter(nil), columns([{test_insert: ({test_insert: (test_insert.c4, test_insert.c1, test_insert.c2, test_insert.c3)})}]), partitions(p1) 3 - output([__values.c1], [__values.c4]), filter(nil) values({column_conv(INT,PS:(11,0),NULL,?), ?}) *************** Case 88(end) ************** *************** Case 89 *************** SQL: insert into tg(c1, c3) values ('bcde', 10); ==================================== |ID|OPERATOR |NAME|EST. ROWS|COST| ------------------------------------ |0 |INSERT | |1 |1 | |1 | EXPRESSION| |1 |1 | ==================================== Outputs & filters: ------------------------------------- 0 - output([__values.c1], [column_conv(VARCHAR,utf8mb4_general_ci,length:8,NULL,substr(tg.c1, 2))], [__values.c3]), filter(nil), columns([{tg: ({tg: (tg.c1, tg.c2, tg.c3)})}]), partitions(p0) 1 - output([__values.c1], [__values.c3]), filter(nil) values({?, ?}) *************** Case 89(end) ************** *************** Case 90 *************** SQL: insert into tg(c1, c3) values ('caaaa', 10); ============================================= |ID|OPERATOR |NAME|EST. ROWS|COST| --------------------------------------------- |0 |EXCHANGE IN REMOTE | |1 |1 | |1 | EXCHANGE OUT REMOTE| |1 |1 | |2 | INSERT | |1 |1 | |3 | EXPRESSION | |1 |1 | ============================================= Outputs & filters: ------------------------------------- 0 - output(nil), filter(nil) 1 - output(nil), filter(nil) 2 - output([__values.c1], [column_conv(VARCHAR,utf8mb4_general_ci,length:8,NULL,substr(tg.c1, 2))], [__values.c3]), filter(nil), columns([{tg: ({tg: (tg.c1, tg.c2, tg.c3)})}]), partitions(p1) 3 - output([__values.c1], [__values.c3]), filter(nil) values({?, ?}) *************** Case 90(end) **************