-
Notifications
You must be signed in to change notification settings - Fork 126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CBRD-24258] Rewrite optimization for oracle style partial range scan #3469
Conversation
Codecov Report
@@ Coverage Diff @@
## develop #3469 +/- ##
===========================================
- Coverage 52.23% 47.09% -5.15%
===========================================
Files 515 515
Lines 396065 396275 +210
===========================================
- Hits 206890 186609 -20281
- Misses 189175 209666 +20491
Continue to review full report at Codecov.
|
http://jira.cubrid.org/browse/CBRD-24258
Implementation
case1 : oracle style limit
Modify so that view merge is possible for cases that satisfy all of the conditions below.
If subquery has order by, change rownum to orderby_num.
TO_DO
UNION query: Since union query can not be view merged, need to add a new routine.
case2 : push limit
The limit clause of mainquery of union is pushed to subquery of union.
If the subquery of union has order_by or group_by, limit is changed to order_by_num or group_by_num. it is existing routines.
'limit 10,10' is changed to 'limit 10+10' and it is pushed to subquery.
Restriction
NO_PUSH_PRED sql hint : don't push limit to subquery of union