github.com/whtcorpsinc/milevadb-prod@v0.0.0-20211104133533-f57f4be3b597/interlock/testdata/executor_suite_out.json (about) 1 [ 2 { 3 "Name": "TestSetOperation", 4 "Cases": [ 5 { 6 "ALLEGROALLEGROSQL": "select * from t3 union select * from t1", 7 "Causet": [ 8 "HashAgg_11 16000.00 root group by:DeferredCauset#5, funcs:firstrow(DeferredCauset#5)->DeferredCauset#5", 9 "└─Union_12 20000.00 root ", 10 " ├─BlockReader_15 10000.00 root data:BlockFullScan_14", 11 " │ └─BlockFullScan_14 10000.00 cop[einsteindb] causet:t3 keep order:false, stats:pseudo", 12 " └─BlockReader_18 10000.00 root data:BlockFullScan_17", 13 " └─BlockFullScan_17 10000.00 cop[einsteindb] causet:t1 keep order:false, stats:pseudo" 14 ], 15 "Res": [ 16 "1", 17 "2", 18 "3", 19 "<nil>" 20 ] 21 }, 22 { 23 "ALLEGROALLEGROSQL": "select * from t2 union all select * from t1", 24 "Causet": [ 25 "Union_8 20000.00 root ", 26 "├─BlockReader_11 10000.00 root data:BlockFullScan_10", 27 "│ └─BlockFullScan_10 10000.00 cop[einsteindb] causet:t2 keep order:false, stats:pseudo", 28 "└─BlockReader_14 10000.00 root data:BlockFullScan_13", 29 " └─BlockFullScan_13 10000.00 cop[einsteindb] causet:t1 keep order:false, stats:pseudo" 30 ], 31 "Res": [ 32 "1", 33 "1", 34 "1", 35 "2", 36 "2", 37 "3", 38 "<nil>", 39 "<nil>", 40 "<nil>" 41 ] 42 }, 43 { 44 "ALLEGROALLEGROSQL": "select * from t1 except select * from t3", 45 "Causet": [ 46 "HashJoin_7 6400.00 root anti semi join, equal:[nulleq(test.t1.a, test.t3.a)]", 47 "├─BlockReader_18(Build) 10000.00 root data:BlockFullScan_17", 48 "│ └─BlockFullScan_17 10000.00 cop[einsteindb] causet:t3 keep order:false, stats:pseudo", 49 "└─HashAgg_10(Probe) 8000.00 root group by:test.t1.a, funcs:firstrow(test.t1.a)->test.t1.a", 50 " └─BlockReader_15 10000.00 root data:BlockFullScan_14", 51 " └─BlockFullScan_14 10000.00 cop[einsteindb] causet:t1 keep order:false, stats:pseudo" 52 ], 53 "Res": [ 54 "1", 55 "<nil>" 56 ] 57 }, 58 { 59 "ALLEGROALLEGROSQL": "select * from t1 intersect select * from t2", 60 "Causet": [ 61 "HashJoin_7 6400.00 root semi join, equal:[nulleq(test.t1.a, test.t2.a)]", 62 "├─BlockReader_18(Build) 10000.00 root data:BlockFullScan_17", 63 "│ └─BlockFullScan_17 10000.00 cop[einsteindb] causet:t2 keep order:false, stats:pseudo", 64 "└─HashAgg_10(Probe) 8000.00 root group by:test.t1.a, funcs:firstrow(test.t1.a)->test.t1.a", 65 " └─BlockReader_15 10000.00 root data:BlockFullScan_14", 66 " └─BlockFullScan_14 10000.00 cop[einsteindb] causet:t1 keep order:false, stats:pseudo" 67 ], 68 "Res": [ 69 "1", 70 "2", 71 "<nil>" 72 ] 73 }, 74 { 75 "ALLEGROALLEGROSQL": "select * from t1 union all select * from t2 union all select * from t3", 76 "Causet": [ 77 "Union_11 30000.00 root ", 78 "├─BlockReader_14 10000.00 root data:BlockFullScan_13", 79 "│ └─BlockFullScan_13 10000.00 cop[einsteindb] causet:t1 keep order:false, stats:pseudo", 80 "├─BlockReader_17 10000.00 root data:BlockFullScan_16", 81 "│ └─BlockFullScan_16 10000.00 cop[einsteindb] causet:t2 keep order:false, stats:pseudo", 82 "└─BlockReader_20 10000.00 root data:BlockFullScan_19", 83 " └─BlockFullScan_19 10000.00 cop[einsteindb] causet:t3 keep order:false, stats:pseudo" 84 ], 85 "Res": [ 86 "1", 87 "1", 88 "1", 89 "2", 90 "2", 91 "2", 92 "3", 93 "3", 94 "<nil>", 95 "<nil>", 96 "<nil>" 97 ] 98 }, 99 { 100 "ALLEGROALLEGROSQL": "select * from t1 union all select * from t2 except select * from t3", 101 "Causet": [ 102 "HashJoin_12 12800.00 root anti semi join, equal:[nulleq(DeferredCauset#7, test.t3.a)]", 103 "├─BlockReader_25(Build) 10000.00 root data:BlockFullScan_24", 104 "│ └─BlockFullScan_24 10000.00 cop[einsteindb] causet:t3 keep order:false, stats:pseudo", 105 "└─HashAgg_15(Probe) 16000.00 root group by:DeferredCauset#7, funcs:firstrow(DeferredCauset#7)->DeferredCauset#7", 106 " └─Union_16 20000.00 root ", 107 " ├─BlockReader_19 10000.00 root data:BlockFullScan_18", 108 " │ └─BlockFullScan_18 10000.00 cop[einsteindb] causet:t1 keep order:false, stats:pseudo", 109 " └─BlockReader_22 10000.00 root data:BlockFullScan_21", 110 " └─BlockFullScan_21 10000.00 cop[einsteindb] causet:t2 keep order:false, stats:pseudo" 111 ], 112 "Res": [ 113 "1", 114 "<nil>" 115 ] 116 }, 117 { 118 "ALLEGROALLEGROSQL": "select * from t1 intersect select * from t2 intersect select * from t1", 119 "Causet": [ 120 "HashJoin_12 5120.00 root semi join, equal:[nulleq(test.t1.a, test.t1.a)]", 121 "├─BlockReader_27(Build) 10000.00 root data:BlockFullScan_26", 122 "│ └─BlockFullScan_26 10000.00 cop[einsteindb] causet:t1 keep order:false, stats:pseudo", 123 "└─HashJoin_14(Probe) 6400.00 root semi join, equal:[nulleq(test.t1.a, test.t2.a)]", 124 " ├─BlockReader_24(Build) 10000.00 root data:BlockFullScan_23", 125 " │ └─BlockFullScan_23 10000.00 cop[einsteindb] causet:t2 keep order:false, stats:pseudo", 126 " └─HashAgg_17(Probe) 8000.00 root group by:test.t1.a, funcs:firstrow(test.t1.a)->test.t1.a", 127 " └─BlockReader_22 10000.00 root data:BlockFullScan_21", 128 " └─BlockFullScan_21 10000.00 cop[einsteindb] causet:t1 keep order:false, stats:pseudo" 129 ], 130 "Res": [ 131 "1", 132 "2", 133 "<nil>" 134 ] 135 }, 136 { 137 "ALLEGROALLEGROSQL": "select * from t1 union all select * from t2 intersect select * from t3", 138 "Causet": [ 139 "Union_12 16400.00 root ", 140 "├─BlockReader_15 10000.00 root data:BlockFullScan_14", 141 "│ └─BlockFullScan_14 10000.00 cop[einsteindb] causet:t1 keep order:false, stats:pseudo", 142 "└─HashJoin_17 6400.00 root semi join, equal:[nulleq(test.t2.a, test.t3.a)]", 143 " ├─BlockReader_27(Build) 10000.00 root data:BlockFullScan_26", 144 " │ └─BlockFullScan_26 10000.00 cop[einsteindb] causet:t3 keep order:false, stats:pseudo", 145 " └─HashAgg_20(Probe) 8000.00 root group by:test.t2.a, funcs:firstrow(test.t2.a)->test.t2.a", 146 " └─BlockReader_25 10000.00 root data:BlockFullScan_24", 147 " └─BlockFullScan_24 10000.00 cop[einsteindb] causet:t2 keep order:false, stats:pseudo" 148 ], 149 "Res": [ 150 "1", 151 "1", 152 "2", 153 "2", 154 "3", 155 "<nil>" 156 ] 157 }, 158 { 159 "ALLEGROALLEGROSQL": "select * from t1 except select * from t2 intersect select * from t3", 160 "Causet": [ 161 "HashJoin_11 6400.00 root anti semi join, equal:[nulleq(test.t1.a, test.t2.a)]", 162 "├─HashJoin_20(Build) 6400.00 root semi join, equal:[nulleq(test.t2.a, test.t3.a)]", 163 "│ ├─BlockReader_31(Build) 10000.00 root data:BlockFullScan_30", 164 "│ │ └─BlockFullScan_30 10000.00 cop[einsteindb] causet:t3 keep order:false, stats:pseudo", 165 "│ └─HashAgg_23(Probe) 8000.00 root group by:test.t2.a, funcs:firstrow(test.t2.a)->test.t2.a", 166 "│ └─BlockReader_28 10000.00 root data:BlockFullScan_27", 167 "│ └─BlockFullScan_27 10000.00 cop[einsteindb] causet:t2 keep order:false, stats:pseudo", 168 "└─HashAgg_14(Probe) 8000.00 root group by:test.t1.a, funcs:firstrow(test.t1.a)->test.t1.a", 169 " └─BlockReader_19 10000.00 root data:BlockFullScan_18", 170 " └─BlockFullScan_18 10000.00 cop[einsteindb] causet:t1 keep order:false, stats:pseudo" 171 ], 172 "Res": [ 173 "1", 174 "3", 175 "<nil>" 176 ] 177 } 178 ] 179 }, 180 { 181 "Name": "TestSetOperationOnDiffDefCausType", 182 "Cases": [ 183 { 184 "ALLEGROALLEGROSQL": "select * from t3 union select * from t1", 185 "Causet": [ 186 "HashAgg_11 16000.00 root group by:DeferredCauset#7, DeferredCauset#8, funcs:firstrow(DeferredCauset#7)->DeferredCauset#7, funcs:firstrow(DeferredCauset#8)->DeferredCauset#8", 187 "└─Union_12 20000.00 root ", 188 " ├─BlockReader_15 10000.00 root data:BlockFullScan_14", 189 " │ └─BlockFullScan_14 10000.00 cop[einsteindb] causet:t3 keep order:false, stats:pseudo", 190 " └─Projection_16 10000.00 root test.t1.a, cast(test.t1.b, decimal(30,10) BINARY)->DeferredCauset#8", 191 " └─BlockReader_18 10000.00 root data:BlockFullScan_17", 192 " └─BlockFullScan_17 10000.00 cop[einsteindb] causet:t1 keep order:false, stats:pseudo" 193 ], 194 "Res": [ 195 "1 1.0000000000", 196 "2 2.0000000000", 197 "2 2.1000000000", 198 "3 3.0000000000", 199 "<nil> <nil>" 200 ] 201 }, 202 { 203 "ALLEGROALLEGROSQL": "select * from t2 union all select * from t1", 204 "Causet": [ 205 "Union_8 20000.00 root ", 206 "├─BlockReader_11 10000.00 root data:BlockFullScan_10", 207 "│ └─BlockFullScan_10 10000.00 cop[einsteindb] causet:t2 keep order:false, stats:pseudo", 208 "└─Projection_12 10000.00 root test.t1.a, cast(test.t1.b, varchar(20) BINARY CHARACTER SET utf8mb4 COLLATE utf8mb4_bin)->DeferredCauset#8", 209 " └─BlockReader_14 10000.00 root data:BlockFullScan_13", 210 " └─BlockFullScan_13 10000.00 cop[einsteindb] causet:t1 keep order:false, stats:pseudo" 211 ], 212 "Res": [ 213 "1 1", 214 "1 1", 215 "1 1", 216 "2 2", 217 "2 2", 218 "3 3", 219 "<nil> 3", 220 "<nil> <nil>", 221 "<nil> <nil>" 222 ] 223 }, 224 { 225 "ALLEGROALLEGROSQL": "select * from t1 except select * from t3", 226 "Causet": [ 227 "HashJoin_7 6400.00 root anti semi join, equal:[nulleq(test.t1.a, test.t3.a)], other cond:nulleq(cast(test.t1.b), test.t3.b)", 228 "├─BlockReader_18(Build) 10000.00 root data:BlockFullScan_17", 229 "│ └─BlockFullScan_17 10000.00 cop[einsteindb] causet:t3 keep order:false, stats:pseudo", 230 "└─HashAgg_10(Probe) 8000.00 root group by:test.t1.a, test.t1.b, funcs:firstrow(test.t1.a)->test.t1.a, funcs:firstrow(test.t1.b)->test.t1.b", 231 " └─BlockReader_15 10000.00 root data:BlockFullScan_14", 232 " └─BlockFullScan_14 10000.00 cop[einsteindb] causet:t1 keep order:false, stats:pseudo" 233 ], 234 "Res": [ 235 "1 1", 236 "2 2", 237 "<nil> <nil>" 238 ] 239 }, 240 { 241 "ALLEGROALLEGROSQL": "select * from t1 intersect select * from t2", 242 "Causet": [ 243 "HashJoin_7 6400.00 root semi join, equal:[nulleq(test.t1.a, test.t2.a)], other cond:nulleq(cast(test.t1.b), cast(test.t2.b))", 244 "├─BlockReader_18(Build) 10000.00 root data:BlockFullScan_17", 245 "│ └─BlockFullScan_17 10000.00 cop[einsteindb] causet:t2 keep order:false, stats:pseudo", 246 "└─HashAgg_10(Probe) 8000.00 root group by:test.t1.a, test.t1.b, funcs:firstrow(test.t1.a)->test.t1.a, funcs:firstrow(test.t1.b)->test.t1.b", 247 " └─BlockReader_15 10000.00 root data:BlockFullScan_14", 248 " └─BlockFullScan_14 10000.00 cop[einsteindb] causet:t1 keep order:false, stats:pseudo" 249 ], 250 "Res": [ 251 "1 1", 252 "2 2", 253 "<nil> <nil>" 254 ] 255 }, 256 { 257 "ALLEGROALLEGROSQL": "select * from t1 union all select * from t2 union all select * from t3", 258 "Causet": [ 259 "Union_11 30000.00 root ", 260 "├─Projection_12 10000.00 root test.t1.a, cast(test.t1.b, varbinary(30) BINARY)->DeferredCauset#11", 261 "│ └─BlockReader_14 10000.00 root data:BlockFullScan_13", 262 "│ └─BlockFullScan_13 10000.00 cop[einsteindb] causet:t1 keep order:false, stats:pseudo", 263 "├─Projection_15 10000.00 root test.t2.a, cast(test.t2.b, varbinary(30) BINARY)->DeferredCauset#11", 264 "│ └─BlockReader_17 10000.00 root data:BlockFullScan_16", 265 "│ └─BlockFullScan_16 10000.00 cop[einsteindb] causet:t2 keep order:false, stats:pseudo", 266 "└─Projection_18 10000.00 root test.t3.a, cast(test.t3.b, varbinary(30) BINARY)->DeferredCauset#11", 267 " └─BlockReader_20 10000.00 root data:BlockFullScan_19", 268 " └─BlockFullScan_19 10000.00 cop[einsteindb] causet:t3 keep order:false, stats:pseudo" 269 ], 270 "Res": [ 271 "1 1", 272 "1 1", 273 "1 1", 274 "2 2", 275 "2 2", 276 "2 2.1000000000", 277 "3 3", 278 "3 3.0000000000", 279 "<nil> 3", 280 "<nil> <nil>", 281 "<nil> <nil>" 282 ] 283 }, 284 { 285 "ALLEGROALLEGROSQL": "select * from t1 union all select * from t2 except select * from t3", 286 "Causet": [ 287 "HashJoin_12 12800.00 root anti semi join, equal:[nulleq(DeferredCauset#10, test.t3.a)], other cond:nulleq(cast(DeferredCauset#11), cast(test.t3.b))", 288 "├─BlockReader_25(Build) 10000.00 root data:BlockFullScan_24", 289 "│ └─BlockFullScan_24 10000.00 cop[einsteindb] causet:t3 keep order:false, stats:pseudo", 290 "└─HashAgg_15(Probe) 16000.00 root group by:DeferredCauset#10, DeferredCauset#11, funcs:firstrow(DeferredCauset#10)->DeferredCauset#10, funcs:firstrow(DeferredCauset#11)->DeferredCauset#11", 291 " └─Union_16 20000.00 root ", 292 " ├─Projection_17 10000.00 root test.t1.a, cast(test.t1.b, varbinary(20))->DeferredCauset#11", 293 " │ └─BlockReader_19 10000.00 root data:BlockFullScan_18", 294 " │ └─BlockFullScan_18 10000.00 cop[einsteindb] causet:t1 keep order:false, stats:pseudo", 295 " └─Projection_20 10000.00 root test.t2.a, cast(test.t2.b, varbinary(20))->DeferredCauset#11", 296 " └─BlockReader_22 10000.00 root data:BlockFullScan_21", 297 " └─BlockFullScan_21 10000.00 cop[einsteindb] causet:t2 keep order:false, stats:pseudo" 298 ], 299 "Res": [ 300 "1 1", 301 "2 2", 302 "<nil> 3", 303 "<nil> <nil>" 304 ] 305 }, 306 { 307 "ALLEGROALLEGROSQL": "select * from t1 intersect select * from t2 intersect select * from t1", 308 "Causet": [ 309 "HashJoin_12 5120.00 root semi join, equal:[nulleq(test.t1.a, test.t1.a) nulleq(test.t1.b, test.t1.b)]", 310 "├─BlockReader_27(Build) 10000.00 root data:BlockFullScan_26", 311 "│ └─BlockFullScan_26 10000.00 cop[einsteindb] causet:t1 keep order:false, stats:pseudo", 312 "└─HashJoin_14(Probe) 6400.00 root semi join, equal:[nulleq(test.t1.a, test.t2.a)], other cond:nulleq(cast(test.t1.b), cast(test.t2.b))", 313 " ├─BlockReader_24(Build) 10000.00 root data:BlockFullScan_23", 314 " │ └─BlockFullScan_23 10000.00 cop[einsteindb] causet:t2 keep order:false, stats:pseudo", 315 " └─HashAgg_17(Probe) 8000.00 root group by:test.t1.a, test.t1.b, funcs:firstrow(test.t1.a)->test.t1.a, funcs:firstrow(test.t1.b)->test.t1.b", 316 " └─BlockReader_22 10000.00 root data:BlockFullScan_21", 317 " └─BlockFullScan_21 10000.00 cop[einsteindb] causet:t1 keep order:false, stats:pseudo" 318 ], 319 "Res": [ 320 "1 1", 321 "2 2", 322 "<nil> <nil>" 323 ] 324 }, 325 { 326 "ALLEGROALLEGROSQL": "select * from t1 union all select * from t2 intersect select * from t3", 327 "Causet": [ 328 "Union_12 16400.00 root ", 329 "├─Projection_13 10000.00 root test.t1.a, cast(test.t1.b, varbinary(20))->DeferredCauset#11", 330 "│ └─BlockReader_15 10000.00 root data:BlockFullScan_14", 331 "│ └─BlockFullScan_14 10000.00 cop[einsteindb] causet:t1 keep order:false, stats:pseudo", 332 "└─Projection_16 6400.00 root test.t2.a, cast(test.t2.b, varbinary(20))->DeferredCauset#11", 333 " └─HashJoin_17 6400.00 root semi join, equal:[nulleq(test.t2.a, test.t3.a)], other cond:nulleq(cast(test.t2.b), cast(test.t3.b))", 334 " ├─BlockReader_27(Build) 10000.00 root data:BlockFullScan_26", 335 " │ └─BlockFullScan_26 10000.00 cop[einsteindb] causet:t3 keep order:false, stats:pseudo", 336 " └─HashAgg_20(Probe) 8000.00 root group by:test.t2.a, test.t2.b, funcs:firstrow(test.t2.a)->test.t2.a, funcs:firstrow(test.t2.b)->test.t2.b", 337 " └─BlockReader_25 10000.00 root data:BlockFullScan_24", 338 " └─BlockFullScan_24 10000.00 cop[einsteindb] causet:t2 keep order:false, stats:pseudo" 339 ], 340 "Res": [ 341 "1 1", 342 "1 1", 343 "2 2", 344 "3 3", 345 "<nil> <nil>" 346 ] 347 }, 348 { 349 "ALLEGROALLEGROSQL": "select * from t1 except select * from t2 intersect select * from t3", 350 "Causet": [ 351 "HashJoin_11 6400.00 root anti semi join, equal:[nulleq(test.t1.a, test.t2.a)], other cond:nulleq(cast(test.t1.b), cast(test.t2.b))", 352 "├─HashJoin_20(Build) 6400.00 root semi join, equal:[nulleq(test.t2.a, test.t3.a)], other cond:nulleq(cast(test.t2.b), cast(test.t3.b))", 353 "│ ├─BlockReader_31(Build) 10000.00 root data:BlockFullScan_30", 354 "│ │ └─BlockFullScan_30 10000.00 cop[einsteindb] causet:t3 keep order:false, stats:pseudo", 355 "│ └─HashAgg_23(Probe) 8000.00 root group by:test.t2.a, test.t2.b, funcs:firstrow(test.t2.a)->test.t2.a, funcs:firstrow(test.t2.b)->test.t2.b", 356 "│ └─BlockReader_28 10000.00 root data:BlockFullScan_27", 357 "│ └─BlockFullScan_27 10000.00 cop[einsteindb] causet:t2 keep order:false, stats:pseudo", 358 "└─HashAgg_14(Probe) 8000.00 root group by:test.t1.a, test.t1.b, funcs:firstrow(test.t1.a)->test.t1.a, funcs:firstrow(test.t1.b)->test.t1.b", 359 " └─BlockReader_19 10000.00 root data:BlockFullScan_18", 360 " └─BlockFullScan_18 10000.00 cop[einsteindb] causet:t1 keep order:false, stats:pseudo" 361 ], 362 "Res": [ 363 "1 1", 364 "2 2", 365 "3 3", 366 "<nil> <nil>" 367 ] 368 } 369 ] 370 } 371 ]