Commit 5dc8186
kongfanshen
ORCA: add optimizer_enable_right_semi_join GUC
Adds a GUC (default on) to enable/disable GPORCA's right semi/anti hash join
xforms (CXformLeftSemiJoin2RightSemiHashJoin /
CXformLeftAntiSemiJoin2RightAntiSemiHashJoin). When turned off, the xforms
are disabled via the standard CConfigParamMapping traceflag mechanism
(GPOPT_DISABLE_XFORM_TF), so ORCA falls back to its regular left-semi / anti
plans.
Serves both as a kill-switch for the new plan shape and as the on/off toggle
for before/after performance comparisons (e.g. TPC-H Q21).
The GUC is registered in unsync_guc_name.h (per-segment, no QD/QE sync
required), matching the other optimizer_enable_* developer GUCs.
SET optimizer_enable_right_semi_join = off; -- ORCA uses plain Hash Semi Join
SET optimizer_enable_right_semi_join = on; -- ORCA may use Hash Right Semi Join1 parent db20797 commit 5dc8186
4 files changed
Lines changed: 23 additions & 0 deletions
File tree
- src
- backend
- gpopt/config
- utils/misc
- include/utils
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
442 | 442 | | |
443 | 443 | | |
444 | 444 | | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
445 | 454 | | |
446 | 455 | | |
447 | 456 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
352 | 352 | | |
353 | 353 | | |
354 | 354 | | |
| 355 | + | |
355 | 356 | | |
356 | 357 | | |
357 | 358 | | |
| |||
2354 | 2355 | | |
2355 | 2356 | | |
2356 | 2357 | | |
| 2358 | + | |
| 2359 | + | |
| 2360 | + | |
| 2361 | + | |
| 2362 | + | |
| 2363 | + | |
| 2364 | + | |
| 2365 | + | |
| 2366 | + | |
| 2367 | + | |
| 2368 | + | |
2357 | 2369 | | |
2358 | 2370 | | |
2359 | 2371 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
540 | 540 | | |
541 | 541 | | |
542 | 542 | | |
| 543 | + | |
543 | 544 | | |
544 | 545 | | |
545 | 546 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
424 | 424 | | |
425 | 425 | | |
426 | 426 | | |
| 427 | + | |
427 | 428 | | |
428 | 429 | | |
429 | 430 | | |
| |||
0 commit comments