forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit529ebb2
committed
Generate EquivalenceClass members for partitionwise child join rels.
Commitd25ea01 got rid of what I thought were entirely unnecessaryderived child expressions in EquivalenceClasses for EC members thatmention multiple baserels. But it turns out that some of the childexpressions that code created are necessary for partitionwise joins,else we fail to find matching pathkeys for Sort nodes. (This happensonly for certain shapes of the resulting plan; it may be thatpartitionwise aggregation is also necessary to show the failure,though I'm not sure of that.)Reverting that commit entirely would be quite painful performance-wisefor large partition sets. So instead, add code that explicitlygenerates child expressions that match only partitionwise child joinrels we have actually generated.Per report from Justin Pryzby. (Amit Langote noticed the problemearlier, though it's not clear if he recognized then that it couldresult in a planner error, not merely failure to exploit partitionwisejoin, in the code as-committed.) Back-patch to v12 where commitd25ea01 came in.Amit Langote, with lots of kibitzing from meDiscussion:https://postgr.es/m/CA+HiwqG2WVUGmLJqtR0tPFhniO=H=9qQ+Z3L_ZC+Y3-EVQHFGg@mail.gmail.comDiscussion:https://postgr.es/m/20191011143703.GN10470@telsasoft.com1 parent2a4d96e commit529ebb2
File tree
5 files changed
+259
-14
lines changed- src
- backend/optimizer
- path
- util
- include/optimizer
- test/regress
- expected
- sql
5 files changed
+259
-14
lines changedLines changed: 148 additions & 13 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1132 | 1132 |
| |
1133 | 1133 |
| |
1134 | 1134 |
| |
1135 |
| - | |
| 1135 | + | |
1136 | 1136 |
| |
1137 | 1137 |
| |
1138 | 1138 |
| |
| |||
2209 | 2209 |
| |
2210 | 2210 |
| |
2211 | 2211 |
| |
2212 |
| - | |
| 2212 | + | |
2213 | 2213 |
| |
2214 | 2214 |
| |
2215 | 2215 |
| |
2216 | 2216 |
| |
2217 | 2217 |
| |
2218 | 2218 |
| |
2219 | 2219 |
| |
| 2220 | + | |
| 2221 | + | |
| 2222 | + | |
| 2223 | + | |
| 2224 | + | |
| 2225 | + | |
2220 | 2226 |
| |
2221 | 2227 |
| |
2222 | 2228 |
| |
2223 | 2229 |
| |
2224 | 2230 |
| |
2225 | 2231 |
| |
2226 | 2232 |
| |
| 2233 | + | |
| 2234 | + | |
2227 | 2235 |
| |
2228 | 2236 |
| |
2229 | 2237 |
| |
| |||
2248 | 2256 |
| |
2249 | 2257 |
| |
2250 | 2258 |
| |
2251 |
| - | |
| 2259 | + | |
2252 | 2260 |
| |
2253 | 2261 |
| |
2254 | 2262 |
| |
| |||
2268 | 2276 |
| |
2269 | 2277 |
| |
2270 | 2278 |
| |
2271 |
| - | |
| 2279 | + | |
| 2280 | + | |
2272 | 2281 |
| |
2273 | 2282 |
| |
2274 | 2283 |
| |
2275 | 2284 |
| |
2276 | 2285 |
| |
2277 |
| - | |
| 2286 | + | |
2278 | 2287 |
| |
2279 | 2288 |
| |
2280 | 2289 |
| |
| |||
2295 | 2304 |
| |
2296 | 2305 |
| |
2297 | 2306 |
| |
2298 |
| - | |
2299 |
| - | |
| 2307 | + | |
| 2308 | + | |
2300 | 2309 |
| |
2301 | 2310 |
| |
2302 | 2311 |
| |
| |||
2306 | 2315 |
| |
2307 | 2316 |
| |
2308 | 2317 |
| |
2309 |
| - | |
2310 |
| - | |
| 2318 | + | |
| 2319 | + | |
2311 | 2320 |
| |
2312 | 2321 |
| |
2313 | 2322 |
| |
2314 | 2323 |
| |
2315 | 2324 |
| |
2316 | 2325 |
| |
2317 |
| - | |
2318 |
| - | |
| 2326 | + | |
2319 | 2327 |
| |
2320 | 2328 |
| |
2321 |
| - | |
| 2329 | + | |
2322 | 2330 |
| |
2323 |
| - | |
| 2331 | + | |
2324 | 2332 |
| |
2325 | 2333 |
| |
2326 | 2334 |
| |
| |||
2334 | 2342 |
| |
2335 | 2343 |
| |
2336 | 2344 |
| |
| 2345 | + | |
| 2346 | + | |
| 2347 | + | |
| 2348 | + | |
| 2349 | + | |
| 2350 | + | |
| 2351 | + | |
| 2352 | + | |
| 2353 | + | |
| 2354 | + | |
| 2355 | + | |
| 2356 | + | |
| 2357 | + | |
| 2358 | + | |
| 2359 | + | |
| 2360 | + | |
| 2361 | + | |
| 2362 | + | |
| 2363 | + | |
| 2364 | + | |
| 2365 | + | |
| 2366 | + | |
| 2367 | + | |
| 2368 | + | |
| 2369 | + | |
| 2370 | + | |
| 2371 | + | |
| 2372 | + | |
| 2373 | + | |
| 2374 | + | |
| 2375 | + | |
| 2376 | + | |
| 2377 | + | |
| 2378 | + | |
| 2379 | + | |
| 2380 | + | |
| 2381 | + | |
| 2382 | + | |
| 2383 | + | |
| 2384 | + | |
| 2385 | + | |
| 2386 | + | |
| 2387 | + | |
| 2388 | + | |
| 2389 | + | |
| 2390 | + | |
| 2391 | + | |
| 2392 | + | |
| 2393 | + | |
| 2394 | + | |
| 2395 | + | |
| 2396 | + | |
| 2397 | + | |
| 2398 | + | |
| 2399 | + | |
| 2400 | + | |
| 2401 | + | |
| 2402 | + | |
| 2403 | + | |
| 2404 | + | |
| 2405 | + | |
| 2406 | + | |
| 2407 | + | |
| 2408 | + | |
| 2409 | + | |
| 2410 | + | |
| 2411 | + | |
| 2412 | + | |
| 2413 | + | |
| 2414 | + | |
| 2415 | + | |
| 2416 | + | |
| 2417 | + | |
| 2418 | + | |
| 2419 | + | |
| 2420 | + | |
| 2421 | + | |
| 2422 | + | |
| 2423 | + | |
| 2424 | + | |
| 2425 | + | |
| 2426 | + | |
| 2427 | + | |
| 2428 | + | |
| 2429 | + | |
| 2430 | + | |
| 2431 | + | |
| 2432 | + | |
| 2433 | + | |
| 2434 | + | |
| 2435 | + | |
| 2436 | + | |
| 2437 | + | |
| 2438 | + | |
| 2439 | + | |
| 2440 | + | |
| 2441 | + | |
| 2442 | + | |
| 2443 | + | |
| 2444 | + | |
| 2445 | + | |
| 2446 | + | |
| 2447 | + | |
| 2448 | + | |
| 2449 | + | |
| 2450 | + | |
| 2451 | + | |
| 2452 | + | |
| 2453 | + | |
| 2454 | + | |
| 2455 | + | |
| 2456 | + | |
| 2457 | + | |
| 2458 | + | |
| 2459 | + | |
| 2460 | + | |
| 2461 | + | |
| 2462 | + | |
| 2463 | + | |
| 2464 | + | |
| 2465 | + | |
| 2466 | + | |
| 2467 | + | |
| 2468 | + | |
| 2469 | + | |
| 2470 | + | |
| 2471 | + | |
2337 | 2472 |
| |
2338 | 2473 |
| |
2339 | 2474 |
| |
|
Lines changed: 14 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
843 | 843 |
| |
844 | 844 |
| |
845 | 845 |
| |
| 846 | + | |
846 | 847 |
| |
847 | 848 |
| |
848 | 849 |
| |
| |||
854 | 855 |
| |
855 | 856 |
| |
856 | 857 |
| |
857 |
| - | |
858 | 858 |
| |
859 | 859 |
| |
860 | 860 |
| |
| |||
886 | 886 |
| |
887 | 887 |
| |
888 | 888 |
| |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
889 | 902 |
| |
890 | 903 |
| |
891 | 904 |
| |
|
Lines changed: 5 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
153 | 153 |
| |
154 | 154 |
| |
155 | 155 |
| |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
156 | 161 |
| |
157 | 162 |
| |
158 | 163 |
| |
|
Lines changed: 77 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
459 | 459 |
| |
460 | 460 |
| |
461 | 461 |
| |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
462 | 539 |
| |
463 | 540 |
| |
464 | 541 |
| |
|
Lines changed: 15 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
91 | 91 |
| |
92 | 92 |
| |
93 | 93 |
| |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
94 | 109 |
| |
95 | 110 |
| |
96 | 111 |
| |
|
0 commit comments
Comments
(0)