2243 lines
		
	
	
		
			85 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			2243 lines
		
	
	
		
			85 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ***************   Case 1   ***************
 | |
| 
 | |
| SQL: use opt; 
 | |
| ***************   Case 2   ***************
 | |
| 
 | |
| SQL: insert into t1 values(0, 2); 
 | |
| 
 | |
| ====================================
 | |
| |ID|OPERATOR   |NAME|EST. ROWS|COST|
 | |
| ------------------------------------
 | |
| |0 |INSERT     |    |1        |13  |
 | |
| |1 | EXPRESSION|    |1        |1   |
 | |
| ====================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), 
 | |
|       columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p0), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c1)], [column_conv(INT,PS:(11,0),NULL,__values.c2)])
 | |
|   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        |13  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |13  |
 | |
| |2 |  INSERT            |    |1        |13  |
 | |
| |3 |   EXPRESSION       |    |1        |1   |
 | |
| =============================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil)
 | |
|   1 - output(nil), filter(nil)
 | |
|   2 - output(nil), filter(nil), 
 | |
|       columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p1), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c1)], [column_conv(INT,PS:(11,0),NULL,__values.c2)])
 | |
|   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        |13  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |13  |
 | |
| |2 |  INSERT            |    |1        |13  |
 | |
| |3 |   EXPRESSION       |    |1        |1   |
 | |
| =============================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil)
 | |
|   1 - output(nil), filter(nil)
 | |
|   2 - output(nil), filter(nil), 
 | |
|       columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p2), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c1)], [column_conv(INT,PS:(11,0),NULL,__values.c2)])
 | |
|   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        |13  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |13  |
 | |
| |2 |  INSERT            |    |1        |13  |
 | |
| |3 |   EXPRESSION       |    |1        |1   |
 | |
| =============================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil)
 | |
|   1 - output(nil), filter(nil)
 | |
|   2 - output(nil), filter(nil), 
 | |
|       columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p3), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c1)], [column_conv(INT,PS:(11,0),NULL,__values.c2)])
 | |
|   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        |13  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |13  |
 | |
| |2 |  INSERT            |    |1        |13  |
 | |
| |3 |   EXPRESSION       |    |1        |1   |
 | |
| =============================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil)
 | |
|   1 - output(nil), filter(nil)
 | |
|   2 - output(nil), filter(nil), 
 | |
|       columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p4), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c1)], [column_conv(INT,PS:(11,0),NULL,__values.c2)])
 | |
|   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        |13  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |13  |
 | |
| |2 |  INSERT_UP         |    |1        |13  |
 | |
| |3 |   EXPRESSION       |    |1        |1   |
 | |
| =============================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil)
 | |
|   1 - output(nil), filter(nil)
 | |
|   2 - output(nil), filter(nil), 
 | |
|       columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p1), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c1)], [column_conv(INT,PS:(11,0),NULL,__values.c2)]),
 | |
|       update([t1.c2=column_conv(INT,PS:(11,0),NULL,cast(t1.c2 + ?, INT(-1, 0)))])
 | |
|   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        |13  |
 | |
| |1 | EXPRESSION|    |1        |1   |
 | |
| ====================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), 
 | |
|       columns([{t2: ({t2: (t2.c1, t2.c2, t2.c3)})}]), partitions(p0), 
 | |
|       column_values([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)]),
 | |
|       update([t2.c2=column_conv(INT,PS:(11,0),NULL,cast(t2.c2 + ?, INT(-1, 0)))])
 | |
|   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        |13  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |13  |
 | |
| |2 |  INSERT            |    |1        |13  |
 | |
| |3 |   EXPRESSION       |    |1        |1   |
 | |
| =============================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil)
 | |
|   1 - output(nil), filter(nil)
 | |
|   2 - output(nil), filter(nil), 
 | |
|       columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p1), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c1)], [column_conv(INT,PS:(11,0),NULL,__values.c2)])
 | |
|   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        |13  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |13  |
 | |
| |2 |  INSERT            |    |1        |13  |
 | |
| |3 |   EXPRESSION       |    |1        |1   |
 | |
| =============================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil)
 | |
|   1 - output(nil), filter(nil)
 | |
|   2 - output(nil), filter(nil), 
 | |
|       columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p1), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c1)], [?])
 | |
|   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        |77  |
 | |
| |1 | TABLE GET|t1  |1        |46  |
 | |
| ===================================
 | |
| 
 | |
| 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        |78  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |78  |
 | |
| |2 |  UPDATE            |    |1        |77  |
 | |
| |3 |   TABLE GET        |t1  |1        |46  |
 | |
| =============================================
 | |
| 
 | |
| 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        |78  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |78  |
 | |
| |2 |  UPDATE            |    |1        |77  |
 | |
| |3 |   TABLE GET        |t1  |1        |46  |
 | |
| =============================================
 | |
| 
 | |
| 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        |78  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |78  |
 | |
| |2 |  UPDATE            |    |1        |77  |
 | |
| |3 |   TABLE GET        |t1  |1        |46  |
 | |
| =============================================
 | |
| 
 | |
| 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        |78  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |78  |
 | |
| |2 |  UPDATE            |    |1        |77  |
 | |
| |3 |   TABLE GET        |t   |1        |46  |
 | |
| =============================================
 | |
| 
 | |
| 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        |77  |
 | |
| |1 | TABLE GET|t   |1        |46  |
 | |
| ===================================
 | |
| 
 | |
| 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  |    |9        |175 |
 | |
| |1 | EXCHANGE OUT REMOTE|    |9        |174 |
 | |
| |2 |  UPDATE            |    |9        |171 |
 | |
| |3 |   TABLE SCAN       |t10 |9        |79  |
 | |
| =============================================
 | |
| 
 | |
| 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.c1], [t10.c2], [t10.c3]), 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        |78  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |78  |
 | |
| |2 |  UPDATE            |    |1        |77  |
 | |
| |3 |   TABLE GET        |t1  |1        |46  |
 | |
| =============================================
 | |
| 
 | |
| 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        |58  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |58  |
 | |
| |2 |  DELETE            |    |1        |57  |
 | |
| |3 |   TABLE GET        |t2  |1        |46  |
 | |
| =============================================
 | |
| 
 | |
| 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        |57  |
 | |
| |1 | TABLE GET|t1  |1        |46  |
 | |
| ===================================
 | |
| 
 | |
| 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        |13  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |13  |
 | |
| |2 |  INSERT            |    |1        |13  |
 | |
| |3 |   EXPRESSION       |    |1        |1   |
 | |
| =============================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil)
 | |
|   1 - output(nil), filter(nil)
 | |
|   2 - output(nil), filter(nil), 
 | |
|       columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p1), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c1)], [column_conv(INT,PS:(11,0),NULL,__values.c2)])
 | |
|   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        |13  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |13  |
 | |
| |2 |  INSERT            |    |1        |13  |
 | |
| |3 |   EXPRESSION       |    |1        |1   |
 | |
| =============================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil)
 | |
|   1 - output(nil), filter(nil)
 | |
|   2 - output(nil), filter(nil), 
 | |
|       columns([{t3: ({t3: (t3.c1, t3.c2, t3.c3)})}]), partitions(p1), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c1)], [?], [?])
 | |
|   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 |DISTRIBUTED UPDATE  |        |1        |78  |
 | |
| |1 | PX COORDINATOR     |        |1        |46  |
 | |
| |2 |  EXCHANGE OUT DISTR|:EX10000|1        |46  |
 | |
| |3 |   TABLE GET        |t1      |1        |46  |
 | |
| =================================================
 | |
| 
 | |
| 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 |DISTRIBUTED UPDATE  |        |1        |78  |
 | |
| |1 | PX COORDINATOR     |        |1        |46  |
 | |
| |2 |  EXCHANGE OUT DISTR|:EX10000|1        |46  |
 | |
| |3 |   TABLE GET        |t1      |1        |46  |
 | |
| =================================================
 | |
| 
 | |
| 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        |13  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |13  |
 | |
| |2 |  INSERT            |    |1        |13  |
 | |
| |3 |   EXPRESSION       |    |1        |1   |
 | |
| =============================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil)
 | |
|   1 - output(nil), filter(nil)
 | |
|   2 - output(nil), filter(nil), 
 | |
|       columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p3), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c1)], [column_conv(INT,PS:(11,0),NULL,__values.c2)])
 | |
|   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        |13  |
 | |
| |1 | EXPRESSION|    |1        |1   |
 | |
| ====================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), 
 | |
|       columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p0), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c1)], [column_conv(INT,PS:(11,0),NULL,__values.c2)])
 | |
|   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        |57  |
 | |
| |1 | TABLE GET|t1  |1        |46  |
 | |
| ===================================
 | |
| 
 | |
| 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        |78  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |78  |
 | |
| |2 |  UPDATE            |    |1        |77  |
 | |
| |3 |   TABLE GET        |t1  |1        |46  |
 | |
| =============================================
 | |
| 
 | |
| 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        |13  |
 | |
| |1 | EXPRESSION|    |1        |1   |
 | |
| ====================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), 
 | |
|       columns([{t9: ({t9: (t9.c1, t9.c2, t9.c3)})}]), partitions(p0), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c1)], [column_conv(INT,PS:(11,0),NOT NULL,__values.c2)], [?])
 | |
|   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        |77  |
 | |
| |1 | TABLE GET|t2_no_part|1        |46  |
 | |
| =========================================
 | |
| 
 | |
| 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]), filter(nil), 
 | |
|       access([t2_no_part.c1], [t2_no_part.c2], [t2_no_part.c3]), 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      |    |82       |599 |
 | |
| |1 | MERGE JOIN |    |82       |184 |
 | |
| |2 |  TABLE SCAN|t7  |100      |78  |
 | |
| |3 |  TABLE SCAN|t8  |100      |78  |
 | |
| =====================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}])
 | |
|   1 - output([t7.c1], [t7.c2]), filter(nil), 
 | |
|       equal_conds([t7.c1 = t8.c1], [t7.c2 = t8.c2]), other_conds(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], [t8.c2]), filter(nil), 
 | |
|       access([t8.c1], [t8.c2]), partitions(p0), 
 | |
|       is_index_back=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      |    |82       |822 |
 | |
| |1 | MERGE JOIN |    |82       |184 |
 | |
| |2 |  TABLE SCAN|t7  |100      |78  |
 | |
| |3 |  TABLE SCAN|t8  |100      |78  |
 | |
| =====================================
 | |
| 
 | |
| 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), 
 | |
|       equal_conds([t7.c1 = t8.c1], [t7.c2 = t8.c2]), other_conds(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], [t8.c2]), filter(nil), 
 | |
|       access([t8.c1], [t8.c2]), partitions(p0), 
 | |
|       is_index_back=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      |939 |
 | |
| |1 | SUBPLAN FILTER|    |100      |157 |
 | |
| |2 |  TABLE SCAN   |t7  |100      |78  |
 | |
| |3 |  TABLE SCAN   |t8  |100      |78  |
 | |
| ========================================
 | |
| 
 | |
| 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], [?]), 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      |8867|
 | |
| |1 | SUBPLAN FILTER|    |100      |8085|
 | |
| |2 |  TABLE SCAN   |t7  |100      |78  |
 | |
| |3 |  TABLE SCAN   |t8  |9        |80  |
 | |
| ========================================
 | |
| 
 | |
| 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], [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.c1], [t8.c2]), 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        |58  |
 | |
| |1 | TABLE SCAN|t7  |1        |46  |
 | |
| ====================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}])
 | |
|   1 - output([t7.c1], [t7.c2]), filter([abs(cast(t7.c1, BIGINT(-1, 0))) > ?]), 
 | |
|       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        |78  |
 | |
| |1 | TABLE SCAN|t7  |1        |46  |
 | |
| ====================================
 | |
| 
 | |
| 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(cast(t7.c2, BIGINT(-1, 0))) > ?]), 
 | |
|       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      |721 |
 | |
| |1 | SUBPLAN SCAN|VIEW1|100      |80  |
 | |
| |2 |  TABLE SCAN |t2   |100      |78  |
 | |
| =======================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), 
 | |
|       columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p0), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,VIEW1.c1)], [column_conv(INT,PS:(11,0),NULL,VIEW1.c2)])
 | |
|   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      |721 |
 | |
| |1 | SUBPLAN SCAN|VIEW1|100      |80  |
 | |
| |2 |  TABLE SCAN |t1   |100      |78  |
 | |
| =======================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), 
 | |
|       columns([{t2: ({t2: (t2.__pk_increment, t2.__pk_cluster_id, t2.__pk_partition_id, t2.c1, t2.c2)})}]), partitions(p0), 
 | |
|       column_values([column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,t2.__pk_increment.nextval())], [?], [column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,cast((), BIGINT UNSIGNED(-1, 0)))], [column_conv(INT,PS:(11,0),NULL,VIEW1.c1)], [column_conv(INT,PS:(11,0),NULL,VIEW1.c2)])
 | |
|   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      |721 |
 | |
| |1 | SUBPLAN SCAN|VIEW1|100      |80  |
 | |
| |2 |  TABLE SCAN |t1   |100      |78  |
 | |
| =======================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), 
 | |
|       columns([{t1: ({t1: (t1.c1, t1.c2)})}]), partitions(p0), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,VIEW1.c1)], [column_conv(INT,PS:(11,0),NULL,VIEW1.c2)])
 | |
|   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      |721 |
 | |
| |1 | SUBPLAN SCAN|VIEW1|100      |80  |
 | |
| |2 |  TABLE SCAN |t2   |100      |78  |
 | |
| =======================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), 
 | |
|       columns([{t2: ({t2: (t2.__pk_increment, t2.__pk_cluster_id, t2.__pk_partition_id, t2.c1, t2.c2)})}]), partitions(p0), 
 | |
|       column_values([column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,t2.__pk_increment.nextval())], [?], [column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,cast((), BIGINT UNSIGNED(-1, 0)))], [column_conv(INT,PS:(11,0),NULL,VIEW1.c1)], [column_conv(INT,PS:(11,0),NULL,VIEW1.c2)])
 | |
|   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      |721 |
 | |
| |1 | SUBPLAN SCAN|VIEW1|100      |80  |
 | |
| |2 |  TABLE SCAN |t3   |100      |78  |
 | |
| =======================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), 
 | |
|       columns([{t2: ({t2: (t2.__pk_increment, t2.__pk_cluster_id, t2.__pk_partition_id, t2.c1, t2.c2)})}]), partitions(p0), 
 | |
|       column_values([column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,t2.__pk_increment.nextval())], [?], [column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,cast((), BIGINT UNSIGNED(-1, 0)))], [column_conv(INT,PS:(11,0),NULL,VIEW1.c1)], [column_conv(INT,PS:(11,0),NULL,VIEW1.c2)])
 | |
|   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      |721 |
 | |
| |1 | SUBPLAN SCAN|VIEW1|100      |80  |
 | |
| |2 |  TABLE SCAN |t2   |100      |78  |
 | |
| =======================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), 
 | |
|       columns([{t3: ({t3: (t3.c1, t3.c2, t3.c3)})}]), partitions(p0), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,VIEW1.c1)], [column_conv(INT,PS:(11,0),NULL,VIEW1.c2)], [column_conv(INT,PS:(11,0),NULL,VIEW1.c1)])
 | |
|   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      |907 |
 | |
| |1 | SUBPLAN FILTER|    |100      |125 |
 | |
| |2 |  TABLE SCAN   |t7  |100      |78  |
 | |
| |3 |  TABLE SCAN   |t8  |1        |46  |
 | |
| ========================================
 | |
| 
 | |
| 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), 
 | |
|       exec_params_(nil), onetime_exprs_([(T_OP_EXISTS, subquery(1))]), init_plan_idxs_(nil)
 | |
|   2 - output([t7.c1], [t7.c2]), filter(nil), startup_filter([?]), 
 | |
|       access([t7.c1], [t7.c2]), partitions(p0), 
 | |
|       is_index_back=false, 
 | |
|       range_key([t7.c1]), range(MIN ; MAX)always true
 | |
|   3 - output([1]), filter(nil), 
 | |
|       access([t8.c1]), partitions(p0), 
 | |
|       limit(1), offset(nil), 
 | |
|       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      |907 |
 | |
| |1 | SUBPLAN FILTER|    |100      |125 |
 | |
| |2 |  TABLE SCAN   |t7  |100      |78  |
 | |
| |3 |  TABLE SCAN   |t8  |1        |46  |
 | |
| ========================================
 | |
| 
 | |
| 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), 
 | |
|       exec_params_(nil), onetime_exprs_([(T_OP_NOT_EXISTS, subquery(1))]), init_plan_idxs_(nil)
 | |
|   2 - output([t7.c1], [t7.c2]), filter(nil), startup_filter([?]), 
 | |
|       access([t7.c1], [t7.c2]), partitions(p0), 
 | |
|       is_index_back=false, 
 | |
|       range_key([t7.c1]), range(MIN ; MAX)always true
 | |
|   3 - output([1]), filter(nil), 
 | |
|       access([t8.c1]), partitions(p0), 
 | |
|       limit(1), offset(nil), 
 | |
|       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      |907 |
 | |
| |1 | SUBPLAN FILTER|    |100      |125 |
 | |
| |2 |  TABLE SCAN   |t7  |100      |78  |
 | |
| |3 |  TABLE SCAN   |t8  |1        |46  |
 | |
| ========================================
 | |
| 
 | |
| 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), 
 | |
|       exec_params_(nil), onetime_exprs_([(T_OP_EXISTS, subquery(1))]), init_plan_idxs_(nil)
 | |
|   2 - output([t7.c1], [t7.c2]), filter(nil), startup_filter([?]), 
 | |
|       access([t7.c1], [t7.c2]), partitions(p0), 
 | |
|       is_index_back=false, 
 | |
|       range_key([t7.c1]), range(MIN ; MAX)always true
 | |
|   3 - output([1]), filter(nil), 
 | |
|       access([t8.c1]), partitions(p0), 
 | |
|       limit(1), offset(nil), 
 | |
|       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      |907 |
 | |
| |1 | SUBPLAN FILTER|    |100      |125 |
 | |
| |2 |  TABLE SCAN   |t7  |100      |78  |
 | |
| |3 |  TABLE SCAN   |t8  |2        |46  |
 | |
| ========================================
 | |
| 
 | |
| 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), 
 | |
|       exec_params_(nil), onetime_exprs_([(T_OP_EXISTS, subquery(1))]), init_plan_idxs_(nil)
 | |
|   2 - output([t7.c1], [t7.c2]), filter(nil), startup_filter([?]), 
 | |
|       access([t7.c1], [t7.c2]), partitions(p0), 
 | |
|       is_index_back=false, 
 | |
|       range_key([t7.c1]), range(MIN ; MAX)always true
 | |
|   3 - output([1]), filter(nil), 
 | |
|       access([t8.c1]), partitions(p0), 
 | |
|       limit(2), offset(nil), 
 | |
|       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         |    |100      |636 |
 | |
| |1 | SUBPLAN FILTER|    |100      |125 |
 | |
| |2 |  TABLE SCAN   |t7  |100      |78  |
 | |
| |3 |  TABLE SCAN   |t8  |1        |46  |
 | |
| ========================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}])
 | |
|   1 - output([t7.c1], [t7.c2]), filter(nil), 
 | |
|       exec_params_(nil), onetime_exprs_([(T_OP_EXISTS, subquery(1))]), init_plan_idxs_(nil)
 | |
|   2 - output([t7.c1], [t7.c2]), filter(nil), startup_filter([?]), 
 | |
|       access([t7.c1], [t7.c2]), partitions(p0), 
 | |
|       is_index_back=false, 
 | |
|       range_key([t7.c1]), range(MIN ; MAX)always true
 | |
|   3 - output([1]), filter(nil), 
 | |
|       access([t8.c1]), partitions(p0), 
 | |
|       limit(1), offset(nil), 
 | |
|       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         |    |100      |636 |
 | |
| |1 | SUBPLAN FILTER|    |100      |125 |
 | |
| |2 |  TABLE SCAN   |t7  |100      |78  |
 | |
| |3 |  TABLE SCAN   |t8  |1        |46  |
 | |
| ========================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}])
 | |
|   1 - output([t7.c1], [t7.c2]), filter(nil), 
 | |
|       exec_params_(nil), onetime_exprs_([(T_OP_NOT_EXISTS, subquery(1))]), init_plan_idxs_(nil)
 | |
|   2 - output([t7.c1], [t7.c2]), filter(nil), startup_filter([?]), 
 | |
|       access([t7.c1], [t7.c2]), partitions(p0), 
 | |
|       is_index_back=false, 
 | |
|       range_key([t7.c1]), range(MIN ; MAX)always true
 | |
|   3 - output([1]), filter(nil), 
 | |
|       access([t8.c1]), partitions(p0), 
 | |
|       limit(1), offset(nil), 
 | |
|       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         |    |100      |636 |
 | |
| |1 | SUBPLAN FILTER|    |100      |125 |
 | |
| |2 |  TABLE SCAN   |t7  |100      |78  |
 | |
| |3 |  TABLE SCAN   |t8  |1        |46  |
 | |
| ========================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}])
 | |
|   1 - output([t7.c1], [t7.c2]), filter(nil), 
 | |
|       exec_params_(nil), onetime_exprs_([(T_OP_EXISTS, subquery(1))]), init_plan_idxs_(nil)
 | |
|   2 - output([t7.c1], [t7.c2]), filter(nil), startup_filter([?]), 
 | |
|       access([t7.c1], [t7.c2]), partitions(p0), 
 | |
|       is_index_back=false, 
 | |
|       range_key([t7.c1]), range(MIN ; MAX)always true
 | |
|   3 - output([1]), filter(nil), 
 | |
|       access([t8.c1]), partitions(p0), 
 | |
|       limit(1), offset(nil), 
 | |
|       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         |    |100      |636 |
 | |
| |1 | SUBPLAN FILTER|    |100      |125 |
 | |
| |2 |  TABLE SCAN   |t7  |100      |78  |
 | |
| |3 |  TABLE SCAN   |t8  |2        |46  |
 | |
| ========================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}])
 | |
|   1 - output([t7.c1], [t7.c2]), filter(nil), 
 | |
|       exec_params_(nil), onetime_exprs_([(T_OP_EXISTS, subquery(1))]), init_plan_idxs_(nil)
 | |
|   2 - output([t7.c1], [t7.c2]), filter(nil), startup_filter([?]), 
 | |
|       access([t7.c1], [t7.c2]), partitions(p0), 
 | |
|       is_index_back=false, 
 | |
|       range_key([t7.c1]), range(MIN ; MAX)always true
 | |
|   3 - output([1]), filter(nil), 
 | |
|       access([t8.c1]), partitions(p0), 
 | |
|       limit(2), offset(nil), 
 | |
|       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        |124 |
 | |
| |1 | EXCHANGE OUT REMOTE               |    |1        |124 |
 | |
| |2 |  UPDATE                           |    |1        |124 |
 | |
| |3 |   NESTED-LOOP OUTER JOIN CARTESIAN|    |1        |92  |
 | |
| |4 |    TABLE GET                      |t1  |1        |46  |
 | |
| |5 |    TABLE GET                      |t2  |1        |46  |
 | |
| ============================================================
 | |
| 
 | |
| 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,cast(CONCAT(cast(t1.c2, VARCHAR(1048576)), cast(t2.c2, VARCHAR(1048576))), INT(-1, 0)))])
 | |
|   3 - output([t1.c1], [t1.c2], [t2.c2]), filter(nil), 
 | |
|       conds(nil), nl_params_(nil), batch_join=false
 | |
|   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      |933 |
 | |
| |1 | NESTED-LOOP OUTER JOIN CARTESIAN|        |100      |151 |
 | |
| |2 |  TABLE SCAN                     |t7      |100      |78  |
 | |
| |3 |  MATERIAL                       |        |1        |46  |
 | |
| |4 |   PX COORDINATOR                |        |1        |46  |
 | |
| |5 |    EXCHANGE OUT DISTR           |:EX10000|1        |46  |
 | |
| |6 |     TABLE GET                   |t2      |1        |46  |
 | |
| ==============================================================
 | |
| 
 | |
| 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,cast(CONCAT(cast(t7.c2, VARCHAR(1048576)), cast(t2.c2, VARCHAR(1048576))), INT(-1, 0)))])
 | |
|   1 - output([t7.c1], [t7.c2], [t2.c2]), filter(nil), 
 | |
|       conds(nil), nl_params_(nil), batch_join=false
 | |
|   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([t2.c2]), filter(nil)
 | |
|   4 - output([t2.c2]), filter(nil)
 | |
|   5 - output([t2.c2]), filter(nil), is_single, dop=1
 | |
|   6 - 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        |123 |
 | |
| |1 | SUBPLAN FILTER|    |1        |91  |
 | |
| |2 |  TABLE GET    |t1  |1        |46  |
 | |
| |3 |  TABLE SCAN   |t7  |1        |46  |
 | |
| ========================================
 | |
| 
 | |
| 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,cast(CONCAT(cast(t1.c2, VARCHAR(1048576)), ?), INT(-1, 0)))])
 | |
|   1 - output([t1.c1], [t1.c2], [?]), filter(nil), 
 | |
|       exec_params_(nil), onetime_exprs_([cast(subquery(1), VARCHAR(1048576))]), 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      |907 |
 | |
| |1 | SUBPLAN FILTER|    |100      |125 |
 | |
| |2 |  TABLE SCAN   |t7  |100      |78  |
 | |
| |3 |  TABLE SCAN   |t8  |1        |46  |
 | |
| ========================================
 | |
| 
 | |
| 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,cast(CONCAT(cast(t7.c2, VARCHAR(1048576)), ?), INT(-1, 0)))])
 | |
|   1 - output([t7.c1], [t7.c2], [?]), filter(nil), 
 | |
|       exec_params_(nil), onetime_exprs_([cast(subquery(1), VARCHAR(1048576))]), 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), 
 | |
|       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        |173 |
 | |
| |1 | NESTED-LOOP OUTER JOIN CARTESIAN|        |1        |141 |
 | |
| |2 |  TABLE GET                      |t1      |1        |46  |
 | |
| |3 |  PX COORDINATOR                 |        |1        |46  |
 | |
| |4 |   EXCHANGE OUT DISTR            |:EX10000|1        |46  |
 | |
| |5 |    TABLE GET                    |t2      |1        |46  |
 | |
| ==============================================================
 | |
| 
 | |
| 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,cast(CONCAT(cast(t1.c2, VARCHAR(1048576)), cast(t2.c2, VARCHAR(1048576))), INT(-1, 0)))])
 | |
|   1 - output([t1.c1], [t1.c2], [t2.c2]), filter(nil), 
 | |
|       conds(nil), nl_params_(nil), batch_join=false
 | |
|   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                        |        |100      |1189|
 | |
| |1 | PX COORDINATOR               |        |100      |677 |
 | |
| |2 |  EXCHANGE OUT DISTR          |:EX10001|100      |664 |
 | |
| |3 |   HASH JOIN                  |        |100      |637 |
 | |
| |4 |    EXCHANGE IN DISTR         |        |100      |106 |
 | |
| |5 |     EXCHANGE OUT DISTR (PKEY)|:EX10000|100      |97  |
 | |
| |6 |      TABLE SCAN              |t7      |100      |78  |
 | |
| |7 |    PX PARTITION ITERATOR     |        |500      |387 |
 | |
| |8 |     TABLE SCAN               |t1      |500      |387 |
 | |
| ===========================================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), table_columns([{t7: ({t7: (t7.c1, t7.c2)})}])
 | |
|   1 - output([t7.c1], [t7.c2]), filter(nil)
 | |
|   2 - output([t7.c1], [t7.c2]), filter(nil), dop=1
 | |
|   3 - output([t7.c1], [t7.c2]), filter(nil), 
 | |
|       equal_conds([t7.c1 = t1.c1]), other_conds(nil)
 | |
|   4 - output([t7.c1], [t7.c2]), filter(nil)
 | |
|   5 - (#keys=1, [t7.c1]), output([t7.c1], [t7.c2]), filter(nil), is_single, dop=1
 | |
|   6 - 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
 | |
|   7 - output([t1.c1]), filter(nil), 
 | |
|       affinitize, force partition granule.
 | |
|   8 - 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        |13  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |13  |
 | |
| |2 |  INSERT            |    |1        |13  |
 | |
| |3 |   EXPRESSION       |    |1        |1   |
 | |
| =============================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil)
 | |
|   1 - output(nil), filter(nil)
 | |
|   2 - output(nil), 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), 
 | |
|       column_values([column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,t_u.__pk_increment.nextval())], [?], [column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,cast((), BIGINT UNSIGNED(-1, 0)))], [column_conv(BIGINT UNSIGNED,PS:(20,0),NULL,__values.c1)])
 | |
|   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        |13  |
 | |
| |1 | EXPRESSION|    |1        |1   |
 | |
| ====================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), 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), 
 | |
|       column_values([column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,t_u.__pk_increment.nextval())], [?], [column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,cast((), BIGINT UNSIGNED(-1, 0)))], [column_conv(BIGINT UNSIGNED,PS:(20,0),NULL,__values.c1)])
 | |
|   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        |13  |
 | |
| |1 | EXPRESSION|    |1        |1   |
 | |
| ====================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), 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), 
 | |
|       column_values([column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,t_u.__pk_increment.nextval())], [?], [column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,cast((), BIGINT UNSIGNED(-1, 0)))], [column_conv(BIGINT UNSIGNED,PS:(20,0),NULL,__values.c1)])
 | |
|   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        |13  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |13  |
 | |
| |2 |  INSERT            |    |1        |13  |
 | |
| |3 |   EXPRESSION       |    |1        |1   |
 | |
| =============================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil)
 | |
|   1 - output(nil), filter(nil)
 | |
|   2 - output(nil), 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), 
 | |
|       column_values([column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,t_u.__pk_increment.nextval())], [?], [column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,cast((), BIGINT UNSIGNED(-1, 0)))], [column_conv(BIGINT UNSIGNED,PS:(20,0),NULL,__values.c1)])
 | |
|   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        |13  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |13  |
 | |
| |2 |  INSERT            |    |1        |13  |
 | |
| |3 |   EXPRESSION       |    |1        |1   |
 | |
| =============================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil)
 | |
|   1 - output(nil), filter(nil)
 | |
|   2 - output(nil), 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), 
 | |
|       column_values([column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,t_u.__pk_increment.nextval())], [?], [column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,cast((), BIGINT UNSIGNED(-1, 0)))], [column_conv(BIGINT UNSIGNED,PS:(20,0),NULL,__values.c1)])
 | |
|   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        |13  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |13  |
 | |
| |2 |  INSERT            |    |1        |13  |
 | |
| |3 |   EXPRESSION       |    |1        |1   |
 | |
| =============================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil)
 | |
|   1 - output(nil), filter(nil)
 | |
|   2 - output(nil), 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), 
 | |
|       column_values([column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,t_u.__pk_increment.nextval())], [?], [column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,cast((), BIGINT UNSIGNED(-1, 0)))], [column_conv(BIGINT UNSIGNED,PS:(20,0),NULL,__values.c1)])
 | |
|   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        |13  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |13  |
 | |
| |2 |  INSERT            |    |1        |13  |
 | |
| |3 |   EXPRESSION       |    |1        |1   |
 | |
| =============================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil)
 | |
|   1 - output(nil), filter(nil)
 | |
|   2 - output(nil), 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), 
 | |
|       column_values([column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,t_u.__pk_increment.nextval())], [?], [column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,cast((), BIGINT UNSIGNED(-1, 0)))], [column_conv(BIGINT UNSIGNED,PS:(20,0),NULL,__values.c1)])
 | |
|   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        |13  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |13  |
 | |
| |2 |  INSERT            |    |1        |13  |
 | |
| |3 |   EXPRESSION       |    |1        |1   |
 | |
| =============================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil)
 | |
|   1 - output(nil), filter(nil)
 | |
|   2 - output(nil), 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), 
 | |
|       column_values([column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,t_u.__pk_increment.nextval())], [?], [column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,cast((), BIGINT UNSIGNED(-1, 0)))], [column_conv(BIGINT UNSIGNED,PS:(20,0),NULL,__values.c1)])
 | |
|   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        |13  |
 | |
| |1 | EXPRESSION|    |1        |1   |
 | |
| ====================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), 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), 
 | |
|       column_values([column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,t_u.__pk_increment.nextval())], [?], [column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,cast((), BIGINT UNSIGNED(-1, 0)))], [column_conv(BIGINT UNSIGNED,PS:(20,0),NULL,__values.c1)])
 | |
|   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        |46  |
 | |
| ===================================
 | |
| 
 | |
| 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  |4        |48  |
 | |
| ===================================
 | |
| 
 | |
| 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|     |29       |144 |
 | |
| |1 | SUBPLAN SCAN       |VIEW1|4        |46  |
 | |
| |2 |  TABLE SCAN        |t7   |4        |46  |
 | |
| |3 | TABLE SCAN         |t8   |50       |79  |
 | |
| ==============================================
 | |
| 
 | |
| 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.c1], [t8.c2]), filter([t8.c2 <= ?], [t8.c2 >= ?]), 
 | |
|       access([t8.c1], [t8.c2]), 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   |100      |78  |
 | |
| ===================================
 | |
| 
 | |
| 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   |100      |78  |
 | |
| ===================================
 | |
| 
 | |
| 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        |100 |
 | |
| |1 | TABLE SCAN|t7  |4        |46  |
 | |
| ====================================
 | |
| 
 | |
| 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        |83  |
 | |
| |1 | TABLE SCAN|t7  |6        |46  |
 | |
| ====================================
 | |
| 
 | |
| 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      |800 |
 | |
| |1 | SUBPLAN SCAN   |VIEW1|100      |159 |
 | |
| |2 |  SUBPLAN FILTER|     |100      |157 |
 | |
| |3 |   TABLE SCAN   |t7   |100      |78  |
 | |
| |4 |   TABLE SCAN   |t7   |100      |78  |
 | |
| ==========================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), 
 | |
|       columns([{t7: ({t7: (t7.c1, t7.c2)})}]), partitions(p0), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,cast(VIEW1.(select c1 from t7)+1, INT(-1, 0)))], [column_conv(INT,PS:(11,0),NULL,VIEW1.c2)])
 | |
|   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        |13  |
 | |
| |1 | EXPRESSION|    |1        |1   |
 | |
| ====================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), 
 | |
|       columns([{t_s: ({t_s: (t_s.c1, t_s.c2)})}]), partitions(p1sp1), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c1)], [column_conv(DATETIME,PS:(19,0),NOT NULL,__values.c2)])
 | |
|   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        |20  |
 | |
| |1 | EXPRESSION|    |2        |1   |
 | |
| ====================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), 
 | |
|       columns([{t_s: ({t_s: (t_s.c1, t_s.c2)})}]), partitions(p1sp0), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c1)], [column_conv(DATETIME,PS:(19,0),NOT NULL,__values.c2)])
 | |
|   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        |13  |
 | |
| |1 | EXPRESSION|    |1        |1   |
 | |
| ====================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), 
 | |
|       columns([{t_s1: ({t_s1: (t_s1.c1, t_s1.c2)})}]), partitions(p1sp1), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c1)], [column_conv(DATETIME,PS:(19,0),NOT NULL,__values.c2)])
 | |
|   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        |13  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |13  |
 | |
| |2 |  INSERT            |    |1        |13  |
 | |
| |3 |   EXPRESSION       |    |1        |1   |
 | |
| =============================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil)
 | |
|   1 - output(nil), filter(nil)
 | |
|   2 - output(nil), filter(nil), 
 | |
|       columns([{tp: ({tp: (tp.c1, tp.c2)})}]), partitions(p2), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c1)], [column_conv(INT,PS:(11,0),NULL,__values.c2)])
 | |
|   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        |13  |
 | |
| |1 | EXPRESSION|    |1        |1   |
 | |
| ====================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), 
 | |
|       columns([{ts2: ({ts2: (ts2.c3, ts2.c4, ts2.c1, ts2.c2)})}]), partitions(p0sp1), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c3)], [column_conv(DATETIME,PS:(19,0),NOT NULL,__values.c4)], [column_conv(INT,PS:(11,0),NULL,__values.c1)], [column_conv(DATETIME,PS:(19,0),NULL,__values.c2)])
 | |
|   1 - output([__values.c1], [__values.c2], [__values.c3], [__values.c4]), filter(nil)
 | |
|       values({column_conv(INT,PS:(11,0),NULL,cast(?, INT(-1, 0))), column_conv(DATETIME,PS:(19,0),NULL,cast(?, DATETIME(-1, -1))), __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        |13  |
 | |
| |1 | EXPRESSION|    |1        |1   |
 | |
| ====================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), 
 | |
|       columns([{ts2: ({ts2: (ts2.c3, ts2.c4, ts2.c1, ts2.c2)})}]), partitions(p1sp0), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c3)], [column_conv(DATETIME,PS:(19,0),NOT NULL,__values.c4)], [column_conv(INT,PS:(11,0),NULL,__values.c1)], [column_conv(DATETIME,PS:(19,0),NULL,__values.c2)])
 | |
|   1 - output([__values.c1], [__values.c2], [__values.c3], [__values.c4]), filter(nil)
 | |
|       values({?, column_conv(DATETIME,PS:(19,0),NULL,cast(?, DATETIME(-1, -1))), ?, __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        |13  |
 | |
| |1 | EXPRESSION|    |1        |1   |
 | |
| ====================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), 
 | |
|       columns([{ts2: ({ts2: (ts2.c3, ts2.c4, ts2.c1, ts2.c2)})}]), partitions(p0sp0), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c3)], [column_conv(DATETIME,PS:(19,0),NOT NULL,__values.c4)], [column_conv(INT,PS:(11,0),NULL,__values.c1)], [column_conv(DATETIME,PS:(19,0),NULL,__values.c2)])
 | |
|   1 - output([__values.c1], [__values.c2], [__values.c3], [__values.c4]), filter(nil)
 | |
|       values({?, column_conv(DATETIME,PS:(19,0),NULL,cast(?, DATETIME(-1, -1))), ?, __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        |13  |
 | |
| |1 | EXPRESSION|    |1        |1   |
 | |
| ====================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), 
 | |
|       columns([{ts2: ({ts2: (ts2.c3, ts2.c4, ts2.c1, ts2.c2)})}]), partitions(p0sp1), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c3)], [column_conv(DATETIME,PS:(19,0),NOT NULL,__values.c4)], [column_conv(INT,PS:(11,0),NULL,__values.c1)], [column_conv(DATETIME,PS:(19,0),NULL,__values.c2)])
 | |
|   1 - output([__values.c1], [__values.c2], [__values.c3], [__values.c4]), filter(nil)
 | |
|       values({?, column_conv(DATETIME,PS:(19,0),NULL,cast(?, DATETIME(-1, -1))), ?, __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        |20  |
 | |
| |1 | EXPRESSION|    |2        |1   |
 | |
| ====================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), 
 | |
|       columns([{ts2: ({ts2: (ts2.c3, ts2.c4, ts2.c1, ts2.c2)})}]), partitions(p0sp0), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c3)], [column_conv(DATETIME,PS:(19,0),NOT NULL,__values.c4)], [column_conv(INT,PS:(11,0),NULL,__values.c1)], [column_conv(DATETIME,PS:(19,0),NULL,__values.c2)])
 | |
|   1 - output([__values.c1], [__values.c2], [__values.c3], [__values.c4]), filter(nil)
 | |
|       values({?, column_conv(DATETIME,PS:(19,0),NULL,cast(?, DATETIME(-1, -1))), ?, __values.c2}, {?, column_conv(DATETIME,PS:(19,0),NULL,cast(?, DATETIME(-1, -1))), ?, __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 |DISTRIBUTED UPDATE|    |1        |77  |
 | |
| |1 | TABLE GET        |ts  |1        |46  |
 | |
| ===========================================
 | |
| 
 | |
| 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 |DISTRIBUTED UPDATE|    |1        |77  |
 | |
| |1 | TABLE GET        |ts  |1        |46  |
 | |
| ===========================================
 | |
| 
 | |
| 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        |13  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |13  |
 | |
| |2 |  INSERT            |    |1        |13  |
 | |
| |3 |   EXPRESSION       |    |1        |1   |
 | |
| =============================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil)
 | |
|   1 - output(nil), filter(nil)
 | |
|   2 - output(nil), filter(nil), 
 | |
|       columns([{t15: ({t15: (t15.__pk_increment, t15.__pk_cluster_id, t15.__pk_partition_id, t15.c1, t15.c2, t15.c3)})}]), partitions(p3), 
 | |
|       column_values([column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,t15.__pk_increment.nextval())], [?], [column_conv(BIGINT UNSIGNED,PS:(-1,-1),NOT NULL,cast((), BIGINT UNSIGNED(-1, 0)))], [?], [column_conv(INT,PS:(11,0),NULL,__values.c2)], [column_conv(VARCHAR,utf8mb4_general_ci,length:32,NULL,__values.c3)])
 | |
|   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        |13  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |13  |
 | |
| |2 |  INSERT            |    |1        |13  |
 | |
| |3 |   EXPRESSION       |    |1        |1   |
 | |
| =============================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil)
 | |
|   1 - output(nil), filter(nil)
 | |
|   2 - output(nil), filter(nil), 
 | |
|       columns([{test_insert: ({test_insert: (test_insert.c4, test_insert.c1, test_insert.c2, test_insert.c3)})}]), partitions(p1), 
 | |
|       column_values([column_conv(INT,PS:(11,0),NOT NULL,__values.c4)], [column_conv(INT,PS:(11,0),NULL,__values.c1)], [?], [?])
 | |
|   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        |13  |
 | |
| |1 | EXPRESSION|    |1        |1   |
 | |
| ====================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil), 
 | |
|       columns([{tg: ({tg: (tg.c1, tg.c2, tg.c3)})}]), partitions(p0), 
 | |
|       column_values([column_conv(VARCHAR,utf8mb4_general_ci,length:10,NOT NULL,__values.c1)], [column_conv(VARCHAR,utf8mb4_general_ci,length:8,NULL,column_conv(VARCHAR,utf8mb4_general_ci,length:8,NULL,substr(column_conv(VARCHAR,utf8mb4_general_ci,length:10,NOT NULL,__values.c1), 2)))], [column_conv(INT,PS:(11,0),NULL,__values.c3)])
 | |
|   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        |13  |
 | |
| |1 | EXCHANGE OUT REMOTE|    |1        |13  |
 | |
| |2 |  INSERT            |    |1        |13  |
 | |
| |3 |   EXPRESSION       |    |1        |1   |
 | |
| =============================================
 | |
| 
 | |
| Outputs & filters: 
 | |
| -------------------------------------
 | |
|   0 - output(nil), filter(nil)
 | |
|   1 - output(nil), filter(nil)
 | |
|   2 - output(nil), filter(nil), 
 | |
|       columns([{tg: ({tg: (tg.c1, tg.c2, tg.c3)})}]), partitions(p2), 
 | |
|       column_values([column_conv(VARCHAR,utf8mb4_general_ci,length:10,NOT NULL,__values.c1)], [column_conv(VARCHAR,utf8mb4_general_ci,length:8,NULL,column_conv(VARCHAR,utf8mb4_general_ci,length:8,NULL,substr(column_conv(VARCHAR,utf8mb4_general_ci,length:10,NOT NULL,__values.c1), 2)))], [column_conv(INT,PS:(11,0),NULL,__values.c3)])
 | |
|   3 - output([__values.c1], [__values.c3]), filter(nil)
 | |
|       values({?, ?})
 | |
| 
 | |
| *************** Case 90(end)  ************** 
 | |
| 
 | 
