Type:
Task
Priority:
Major
Resolution:
Fixed
The method Item_type_holder::display_length(Item *) has this switch :
switch (item->field_type())
This is not friendly to pluggable data types.
We'll introduce a new Type_handler virtual method:
virtual uint32 max_display_length( const Item *item) const ;
and move the pieces from Item_type_holder::display_length(Item *) into implementations of various Type_handler_xxx::max_display_length() .
Additionally, instead of doing cast to Item_field :
uint32 Item_type_holder::display_length(Item *item)
{
if (item->type() == Item::FIELD_ITEM)
return ((Item_field *)item)->max_disp_length();
return ...; // the implementation for non-field Items
}
we'll remove the method Item_type_holder::display_length() and introduce a new virtual method in Item:
virtual uint32 max_display_length() const
{
return type_handler()->max_display_length( this );
}
Notice the default implementation will use max_display_length() of the underlying data type handler.
Item_field will override this implementation and read the result from the underlying field:
uint32 max_display_length() const { return field->max_display_length(); }
blocks
MDEV-4912
Data type plugin API version 1
Closed
{"report":{"fcp":5353.5,"ttfb":1285.2000002861023,"pageVisibility":"visible","entityId":59354,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":32,"apdex":0,"journeyId":"542ca16e-ee12-438f-8370-62eb72a3fe9f","navigationType":0,"readyForUser":5422,"redirectCount":0,"resourceLoadedEnd":6092.5,"resourceLoadedStart":2359,"resourceTiming":[{"duration":1881.9000000953674,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":2359,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":2359,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":4240.900000095367,"responseStart":0,"secureConnectionStart":0},{"duration":2090.4000000953674,"initiatorType":"link","name":"https://jira.mariadb.org/s/7ebd35e77e471bc30ff0eba799ebc151-CDN/lu2cib/820016/12ta74/494e4c556ecbb29f90a3d3b4f09cb99c/_/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&whisper-enabled=true","startTime":2359.300000190735,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":2359.300000190735,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":4449.700000286102,"responseStart":0,"secureConnectionStart":0},{"duration":2094.4000000953674,"initiatorType":"script","name":"https://jira.mariadb.org/s/0917945aaa57108d00c5076fea35e069-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":2359.5999999046326,"connectEnd":2359.5999999046326,"connectStart":2359.5999999046326,"domainLookupEnd":2359.5999999046326,"domainLookupStart":2359.5999999046326,"fetchStart":2359.5999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":2359.5999999046326,"responseEnd":4454,"responseStart":4454,"secureConnectionStart":2359.5999999046326},{"duration":2233.699999809265,"initiatorType":"script","name":"https://jira.mariadb.org/s/2d8175ec2fa4c816e8023260bd8c1786-CDN/lu2cib/820016/12ta74/494e4c556ecbb29f90a3d3b4f09cb99c/_/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&whisper-enabled=true","startTime":2359.7000002861023,"connectEnd":2359.7000002861023,"connectStart":2359.7000002861023,"domainLookupEnd":2359.7000002861023,"domainLookupStart":2359.7000002861023,"fetchStart":2359.7000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":2359.7000002861023,"responseEnd":4593.400000095367,"responseStart":4593.400000095367,"secureConnectionStart":2359.7000002861023},{"duration":2318.9000000953674,"initiatorType":"script","name":"https://jira.mariadb.org/s/a9324d6758d385eb45c462685ad88f1d-CDN/lu2cib/820016/12ta74/c92c0caa9a024ae85b0ebdbed7fb4bd7/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en","startTime":2359.800000190735,"connectEnd":2359.800000190735,"connectStart":2359.800000190735,"domainLookupEnd":2359.800000190735,"domainLookupStart":2359.800000190735,"fetchStart":2359.800000190735,"redirectEnd":0,"redirectStart":0,"requestStart":2359.800000190735,"responseEnd":4678.700000286102,"responseStart":4678.700000286102,"secureConnectionStart":2359.800000190735},{"duration":2322.7000002861023,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":2360.0999999046326,"connectEnd":2360.0999999046326,"connectStart":2360.0999999046326,"domainLookupEnd":2360.0999999046326,"domainLookupStart":2360.0999999046326,"fetchStart":2360.0999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":2360.0999999046326,"responseEnd":4682.800000190735,"responseStart":4682.800000190735,"secureConnectionStart":2360.0999999046326},{"duration":2513.3999996185303,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":2360.2000002861023,"connectEnd":2360.2000002861023,"connectStart":2360.2000002861023,"domainLookupEnd":2360.2000002861023,"domainLookupStart":2360.2000002861023,"fetchStart":2360.2000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":2360.2000002861023,"responseEnd":4873.599999904633,"responseStart":4873.599999904633,"secureConnectionStart":2360.2000002861023},{"duration":2913.300000190735,"initiatorType":"link","name":"https://jira.mariadb.org/s/b04b06a02d1959df322d9cded3aeecc1-CDN/lu2cib/820016/12ta74/a2ff6aa845ffc9a1d22fe23d9ee791fc/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":2360.4000000953674,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":2360.4000000953674,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":5273.700000286102,"responseStart":0,"secureConnectionStart":0},{"duration":2621.4000000953674,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":2360.5,"connectEnd":2360.5,"connectStart":2360.5,"domainLookupEnd":2360.5,"domainLookupStart":2360.5,"fetchStart":2360.5,"redirectEnd":0,"redirectStart":0,"requestStart":2360.5,"responseEnd":4981.900000095367,"responseStart":4981.900000095367,"secureConnectionStart":2360.5},{"duration":2913.0999999046326,"initiatorType":"link","name":"https://jira.mariadb.org/s/3ac36323ba5e4eb0af2aa7ac7211b4bb-CDN/lu2cib/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":2360.7000002861023,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":2360.7000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":5273.800000190735,"responseStart":0,"secureConnectionStart":0},{"duration":2621.5999999046326,"initiatorType":"script","name":"https://jira.mariadb.org/s/5d5e8fe91fbc506585e83ea3b62ccc4b-CDN/lu2cib/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":2360.9000000953674,"connectEnd":2360.9000000953674,"connectStart":2360.9000000953674,"domainLookupEnd":2360.9000000953674,"domainLookupStart":2360.9000000953674,"fetchStart":2360.9000000953674,"redirectEnd":0,"redirectStart":0,"requestStart":2360.9000000953674,"responseEnd":4982.5,"responseStart":4982.5,"secureConnectionStart":2360.9000000953674},{"duration":3621.7999997138977,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":2361.7000002861023,"connectEnd":2361.7000002861023,"connectStart":2361.7000002861023,"domainLookupEnd":2361.7000002861023,"domainLookupStart":2361.7000002861023,"fetchStart":2361.7000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":2361.7000002861023,"responseEnd":5983.5,"responseStart":5983.5,"secureConnectionStart":2361.7000002861023},{"duration":3730.699999809265,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":2361.800000190735,"connectEnd":2361.800000190735,"connectStart":2361.800000190735,"domainLookupEnd":2361.800000190735,"domainLookupStart":2361.800000190735,"fetchStart":2361.800000190735,"redirectEnd":0,"redirectStart":0,"requestStart":2361.800000190735,"responseEnd":6092.5,"responseStart":6092.5,"secureConnectionStart":2361.800000190735},{"duration":975.0999999046326,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":4857,"connectEnd":4857,"connectStart":4857,"domainLookupEnd":4857,"domainLookupStart":4857,"fetchStart":4857,"redirectEnd":0,"redirectStart":0,"requestStart":4857,"responseEnd":5832.099999904633,"responseStart":5832.099999904633,"secureConnectionStart":4857},{"duration":756.6000003814697,"initiatorType":"script","name":"https://www.google-analytics.com/analytics.js","startTime":5345.099999904633,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":5345.099999904633,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":6101.700000286102,"responseStart":0,"secureConnectionStart":0}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":77,"responseStart":1285,"responseEnd":1370,"domLoading":2010,"domInteractive":6160,"domContentLoadedEventStart":6160,"domContentLoadedEventEnd":6271,"domComplete":8627,"loadEventStart":8627,"loadEventEnd":8630,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":6130},{"name":"bigPipe.sidebar-id.end","time":6130.800000190735},{"name":"bigPipe.activity-panel-pipe-id.start","time":6130.900000095367},{"name":"bigPipe.activity-panel-pipe-id.end","time":6133.800000190735},{"name":"activityTabFullyLoaded","time":6279.400000095367}],"measures":[],"correlationId":"e132702852a09d","effectiveType":"4g","downlink":9.2,"rtt":0,"serverDuration":102,"dbReadsTimeInMs":10,"dbConnsTimeInMs":20,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}