-
Task
-
-
Major
-
Resolution:
Fixed
-
-
-
As a part of preparatory work for MDEV-4912, we'll add a new virtual method in Type_handler:
virtual Item_cache *Item_get_cache(THD *thd, const Item *item) const;
|
and split this code into implementations of the new virtual method:
Item_cache* Item_cache::get_cache(THD *thd, const Item *item,
|
const Item_result type)
|
{
|
MEM_ROOT *mem_root= thd->mem_root;
|
switch (type) {
|
case INT_RESULT:
|
return new (mem_root) Item_cache_int(thd, item->field_type());
|
case REAL_RESULT:
|
return new (mem_root) Item_cache_real(thd);
|
case DECIMAL_RESULT:
|
return new (mem_root) Item_cache_decimal(thd);
|
case STRING_RESULT:
|
return new (mem_root) Item_cache_str(thd, item);
|
case ROW_RESULT:
|
return new (mem_root) Item_cache_row(thd);
|
case TIME_RESULT:
|
return new (mem_root) Item_cache_temporal(thd, item->field_type());
|
}
|
return 0; // Impossible
|
}
|
This will allow data type plugins to create their own versions of Item_cache, to optimize comparison with constants.
- blocks
-
MDEV-4912
Data type plugin API version 1
-
-
Closed
{"report":{"fcp":740.2000002861023,"ttfb":154.2000002861023,"pageVisibility":"visible","entityId":59059,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":64,"apdex":1,"journeyId":"f3f908cc-e867-4a34-9c6b-2c1f773850e9","navigationType":0,"readyForUser":857.5,"redirectCount":0,"resourceLoadedEnd":468.80000019073486,"resourceLoadedStart":162.7000002861023,"resourceTiming":[{"duration":6.599999904632568,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2bsh/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":162.7000002861023,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":162.7000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":169.30000019073486,"responseStart":0,"secureConnectionStart":0},{"duration":7.5,"initiatorType":"link","name":"https://jira.mariadb.org/s/7ebd35e77e471bc30ff0eba799ebc151-CDN/lu2bsh/820016/12ta74/eb142f92e4bd16bd1ef8b08c1b9d5d56/_/download/contextbatch/css/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true","startTime":163,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":163,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":170.5,"responseStart":0,"secureConnectionStart":0},{"duration":186.09999990463257,"initiatorType":"script","name":"https://jira.mariadb.org/s/b09d0d077992e4331b5f9ec0d3ec448c-CDN/lu2bsh/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":163.2000002861023,"connectEnd":163.2000002861023,"connectStart":163.2000002861023,"domainLookupEnd":163.2000002861023,"domainLookupStart":163.2000002861023,"fetchStart":163.2000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":173.5,"responseEnd":349.30000019073486,"responseStart":199.2000002861023,"secureConnectionStart":163.2000002861023},{"duration":304.80000019073486,"initiatorType":"script","name":"https://jira.mariadb.org/s/b47ab3df14096803b180217eb8482517-CDN/lu2bsh/820016/12ta74/eb142f92e4bd16bd1ef8b08c1b9d5d56/_/download/contextbatch/js/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en&slack-enabled=true","startTime":164,"connectEnd":164,"connectStart":164,"domainLookupEnd":164,"domainLookupStart":164,"fetchStart":164,"redirectEnd":0,"redirectStart":0,"requestStart":174.7000002861023,"responseEnd":468.80000019073486,"responseStart":233.7000002861023,"secureConnectionStart":164},{"duration":8.799999713897705,"initiatorType":"script","name":"https://jira.mariadb.org/s/6c569cbf8087ab04e40d0bef98627457-CDN/lu2bsh/820016/12ta74/c92c0caa9a024ae85b0ebdbed7fb4bd7/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en","startTime":164.10000038146973,"connectEnd":164.10000038146973,"connectStart":164.10000038146973,"domainLookupEnd":164.10000038146973,"domainLookupStart":164.10000038146973,"fetchStart":164.10000038146973,"redirectEnd":0,"redirectStart":0,"requestStart":164.10000038146973,"responseEnd":172.90000009536743,"responseStart":172.80000019073486,"secureConnectionStart":164.10000038146973},{"duration":64.7999997138977,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bsh/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":164.2000002861023,"connectEnd":164.2000002861023,"connectStart":164.2000002861023,"domainLookupEnd":164.2000002861023,"domainLookupStart":164.2000002861023,"fetchStart":164.2000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":177.40000009536743,"responseEnd":229,"responseStart":226.10000038146973,"secureConnectionStart":164.2000002861023},{"duration":64.09999990463257,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bsh/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":164.30000019073486,"connectEnd":164.30000019073486,"connectStart":164.30000019073486,"domainLookupEnd":164.30000019073486,"domainLookupStart":164.30000019073486,"fetchStart":164.30000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":178.40000009536743,"responseEnd":228.40000009536743,"responseStart":224.7000002861023,"secureConnectionStart":164.30000019073486},{"duration":10.800000190734863,"initiatorType":"link","name":"https://jira.mariadb.org/s/b04b06a02d1959df322d9cded3aeecc1-CDN/lu2bsh/820016/12ta74/a2ff6aa845ffc9a1d22fe23d9ee791fc/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":164.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":164.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":175.30000019073486,"responseStart":0,"secureConnectionStart":0},{"duration":89.80000019073486,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":164.5,"connectEnd":164.5,"connectStart":164.5,"domainLookupEnd":164.5,"domainLookupStart":164.5,"fetchStart":164.5,"redirectEnd":0,"redirectStart":0,"requestStart":179.2000002861023,"responseEnd":254.30000019073486,"responseStart":252.7000002861023,"secureConnectionStart":164.5},{"duration":11.400000095367432,"initiatorType":"link","name":"https://jira.mariadb.org/s/3ac36323ba5e4eb0af2aa7ac7211b4bb-CDN/lu2bsh/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.css?jira.create.linked.issue=true","startTime":164.7000002861023,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":164.7000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":176.10000038146973,"responseStart":0,"secureConnectionStart":0},{"duration":59.69999980926514,"initiatorType":"script","name":"https://jira.mariadb.org/s/81b5d7c27af3ebc078cc4a36383678ba-CDN/lu2bsh/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.js?jira.create.linked.issue=true&locale=en","startTime":164.80000019073486,"connectEnd":164.80000019073486,"connectStart":164.80000019073486,"domainLookupEnd":164.80000019073486,"domainLookupStart":164.80000019073486,"fetchStart":164.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":179.30000019073486,"responseEnd":224.5,"responseStart":205.10000038146973,"secureConnectionStart":164.80000019073486},{"duration":283.90000009536743,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bsh/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":168,"connectEnd":168,"connectStart":168,"domainLookupEnd":168,"domainLookupStart":168,"fetchStart":168,"redirectEnd":0,"redirectStart":0,"requestStart":197.40000009536743,"responseEnd":451.90000009536743,"responseStart":445.2000002861023,"secureConnectionStart":168},{"duration":285.19999980926514,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bsh/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":168.2000002861023,"connectEnd":168.2000002861023,"connectStart":168.2000002861023,"domainLookupEnd":168.2000002861023,"domainLookupStart":168.2000002861023,"fetchStart":168.2000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":212.5,"responseEnd":453.40000009536743,"responseStart":449.5,"secureConnectionStart":168.2000002861023},{"duration":79.59999990463257,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":498.90000009536743,"connectEnd":498.90000009536743,"connectStart":498.90000009536743,"domainLookupEnd":498.90000009536743,"domainLookupStart":498.90000009536743,"fetchStart":498.90000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":549.4000000953674,"responseEnd":578.5,"responseStart":577.8000001907349,"secureConnectionStart":498.90000009536743},{"duration":38.89999961853027,"initiatorType":"script","name":"https://www.google-analytics.com/analytics.js","startTime":733.6000003814697,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":733.6000003814697,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":772.5,"responseStart":0,"secureConnectionStart":0},{"duration":55.299999713897705,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":740.2000002861023,"connectEnd":740.2000002861023,"connectStart":740.2000002861023,"domainLookupEnd":740.2000002861023,"domainLookupStart":740.2000002861023,"fetchStart":740.2000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":740.2000002861023,"responseEnd":795.5,"responseStart":795.5,"secureConnectionStart":740.2000002861023}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":11,"responseStart":154,"responseEnd":168,"domLoading":157,"domInteractive":916,"domContentLoadedEventStart":916,"domContentLoadedEventEnd":961,"domComplete":1114,"loadEventStart":1114,"loadEventEnd":1114,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":898.4000000953674},{"name":"bigPipe.sidebar-id.end","time":899.2000002861023},{"name":"bigPipe.activity-panel-pipe-id.start","time":899.4000000953674},{"name":"bigPipe.activity-panel-pipe-id.end","time":900.2000002861023},{"name":"activityTabFullyLoaded","time":977.3000001907349}],"measures":[],"correlationId":"de7be275226102","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":76,"dbReadsTimeInMs":11,"dbConnsTimeInMs":18,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}
Reviewed and approved by Sanja.