Type:
Task
Priority:
Major
Resolution:
Fixed
This task is self-sufficient change MDEV-16991 .
To make the main MDEV-16991 patch simpler, we'll move fractional second truncation from these methods:
Item_time_typecast::get_date()
Item_datetime_typecast::get_date()
inside new truncating Time and Datetime constructors.
Time (Item *item, const Options opt, uint dec )
:Temporal( Time (item, opt))
{
trunc( dec );
}
Datetime(THD *thd, Item *item, sql_mode_t flags, uint dec )
:Temporal_with_date(Datetime(thd, item, flags))
{
trunc( dec );
}
Later, in the main patch for MDEV-16991 , all truncating Time and Datetime constructors will be fixed to choose between truncation and rounding, according to the current session options. So CAST will automatically start using proper truncation mode.
Additionally, we'll do the following changes:
As a result the get_date() implementations for the affected classes will look as simple as:
bool Item_time_typecast::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date)
{
Time * tm = new (ltime) Time(args[0], Time::Options_for_cast(),
MY_MIN(decimals, TIME_SECOND_PART_DIGITS));
return (null_value= ! tm ->is_valid_time());
}
bool Item_date_typecast::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date)
{
fuzzy_date= (fuzzy_date | sql_mode_for_dates(current_thd)) & ~TIME_TIME_ONLY;
Date *d= new (ltime) Date(current_thd, args[0], fuzzy_date);
return (null_value= !d->is_valid_date());
}
bool Item_datetime_typecast::get_date(MYSQL_TIME *ltime, ulonglong fuzzy_date)
{
fuzzy_date= (fuzzy_date | sql_mode_for_dates(current_thd)) & ~TIME_TIME_ONLY;
Datetime *dt= new (ltime) Datetime(current_thd, args[0], fuzzy_date,
MY_MIN(decimals, TIME_SECOND_PART_DIGITS));
return (null_value= !dt->is_valid_datetime());
}
There are no comments yet on this issue.
{"report":{"fcp":851.4000000357628,"ttfb":280.30000001192093,"pageVisibility":"visible","entityId":69809,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":64,"apdex":1,"journeyId":"23665e2f-327c-4a66-8416-22e9e8852754","navigationType":0,"readyForUser":932.4000000357628,"redirectCount":0,"resourceLoadedEnd":1190.800000011921,"resourceLoadedStart":285.4000000357628,"resourceTiming":[{"duration":65.59999996423721,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2bu7/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":285.4000000357628,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":285.4000000357628,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":351,"responseStart":0,"secureConnectionStart":0},{"duration":65.80000001192093,"initiatorType":"link","name":"https://jira.mariadb.org/s/7ebd35e77e471bc30ff0eba799ebc151-CDN/lu2bu7/820016/12ta74/8679b4946efa1a0bb029a3a22206fb5d/_/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":285.60000002384186,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":285.60000002384186,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":351.4000000357628,"responseStart":0,"secureConnectionStart":0},{"duration":121.69999998807907,"initiatorType":"script","name":"https://jira.mariadb.org/s/fbf975c0cce4b1abf04784eeae9ba1f4-CDN/lu2bu7/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":285.80000001192093,"connectEnd":285.80000001192093,"connectStart":285.80000001192093,"domainLookupEnd":285.80000001192093,"domainLookupStart":285.80000001192093,"fetchStart":285.80000001192093,"redirectEnd":0,"redirectStart":0,"requestStart":285.80000001192093,"responseEnd":407.5,"responseStart":407.4000000357628,"secureConnectionStart":285.80000001192093},{"duration":178.39999997615814,"initiatorType":"script","name":"https://jira.mariadb.org/s/099b33461394b8015fc36c0a4b96e19f-CDN/lu2bu7/820016/12ta74/8679b4946efa1a0bb029a3a22206fb5d/_/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":285.9000000357628,"connectEnd":285.9000000357628,"connectStart":285.9000000357628,"domainLookupEnd":285.9000000357628,"domainLookupStart":285.9000000357628,"fetchStart":285.9000000357628,"redirectEnd":0,"redirectStart":0,"requestStart":285.9000000357628,"responseEnd":464.30000001192093,"responseStart":464.30000001192093,"secureConnectionStart":285.9000000357628},{"duration":181.89999997615814,"initiatorType":"script","name":"https://jira.mariadb.org/s/94c15bff32baef80f4096a08aceae8bc-CDN/lu2bu7/820016/12ta74/c92c0caa9a024ae85b0ebdbed7fb4bd7/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en","startTime":286.10000002384186,"connectEnd":286.10000002384186,"connectStart":286.10000002384186,"domainLookupEnd":286.10000002384186,"domainLookupStart":286.10000002384186,"fetchStart":286.10000002384186,"redirectEnd":0,"redirectStart":0,"requestStart":286.10000002384186,"responseEnd":468,"responseStart":468,"secureConnectionStart":286.10000002384186},{"duration":182,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bu7/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":286.30000001192093,"connectEnd":286.30000001192093,"connectStart":286.30000001192093,"domainLookupEnd":286.30000001192093,"domainLookupStart":286.30000001192093,"fetchStart":286.30000001192093,"redirectEnd":0,"redirectStart":0,"requestStart":286.30000001192093,"responseEnd":468.30000001192093,"responseStart":468.30000001192093,"secureConnectionStart":286.30000001192093},{"duration":182.20000004768372,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bu7/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":286.5,"connectEnd":286.5,"connectStart":286.5,"domainLookupEnd":286.5,"domainLookupStart":286.5,"fetchStart":286.5,"redirectEnd":0,"redirectStart":0,"requestStart":286.5,"responseEnd":468.7000000476837,"responseStart":468.7000000476837,"secureConnectionStart":286.5},{"duration":262,"initiatorType":"link","name":"https://jira.mariadb.org/s/b04b06a02d1959df322d9cded3aeecc1-CDN/lu2bu7/820016/12ta74/a2ff6aa845ffc9a1d22fe23d9ee791fc/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":286.7000000476837,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":286.7000000476837,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":548.7000000476837,"responseStart":0,"secureConnectionStart":0},{"duration":261.89999997615814,"initiatorType":"link","name":"https://jira.mariadb.org/s/3ac36323ba5e4eb0af2aa7ac7211b4bb-CDN/lu2bu7/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":286.9000000357628,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":286.9000000357628,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":548.8000000119209,"responseStart":0,"secureConnectionStart":0},{"duration":182.30000001192093,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":286.9000000357628,"connectEnd":286.9000000357628,"connectStart":286.9000000357628,"domainLookupEnd":286.9000000357628,"domainLookupStart":286.9000000357628,"fetchStart":286.9000000357628,"redirectEnd":0,"redirectStart":0,"requestStart":286.9000000357628,"responseEnd":469.2000000476837,"responseStart":469.2000000476837,"secureConnectionStart":286.9000000357628},{"duration":182.60000002384186,"initiatorType":"script","name":"https://jira.mariadb.org/s/3339d87fa2538a859872f2df449bf8d0-CDN/lu2bu7/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":287.10000002384186,"connectEnd":287.10000002384186,"connectStart":287.10000002384186,"domainLookupEnd":287.10000002384186,"domainLookupStart":287.10000002384186,"fetchStart":287.10000002384186,"redirectEnd":0,"redirectStart":0,"requestStart":287.10000002384186,"responseEnd":469.7000000476837,"responseStart":469.7000000476837,"secureConnectionStart":287.10000002384186},{"duration":700.3999999761581,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bu7/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":292.4000000357628,"connectEnd":292.4000000357628,"connectStart":292.4000000357628,"domainLookupEnd":292.4000000357628,"domainLookupStart":292.4000000357628,"fetchStart":292.4000000357628,"redirectEnd":0,"redirectStart":0,"requestStart":292.4000000357628,"responseEnd":992.8000000119209,"responseStart":992.8000000119209,"secureConnectionStart":292.4000000357628},{"duration":898.3999999761581,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bu7/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":292.4000000357628,"connectEnd":292.4000000357628,"connectStart":292.4000000357628,"domainLookupEnd":292.4000000357628,"domainLookupStart":292.4000000357628,"fetchStart":292.4000000357628,"redirectEnd":0,"redirectStart":0,"requestStart":292.4000000357628,"responseEnd":1190.800000011921,"responseStart":1190.800000011921,"secureConnectionStart":292.4000000357628},{"duration":459.89999997615814,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":560.2000000476837,"connectEnd":560.2000000476837,"connectStart":560.2000000476837,"domainLookupEnd":560.2000000476837,"domainLookupStart":560.2000000476837,"fetchStart":560.2000000476837,"redirectEnd":0,"redirectStart":0,"requestStart":560.2000000476837,"responseEnd":1020.1000000238419,"responseStart":1020.1000000238419,"secureConnectionStart":560.2000000476837},{"duration":356.5,"initiatorType":"script","name":"https://www.google-analytics.com/analytics.js","startTime":845.4000000357628,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":845.4000000357628,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1201.9000000357628,"responseStart":0,"secureConnectionStart":0},{"duration":236,"initiatorType":"link","name":"https://jira.mariadb.org/s/d5715adaadd168a9002b108b2b039b50-CDN/lu2bu7/820016/12ta74/be4b45e9cec53099498fa61c8b7acba4/_/download/contextbatch/css/jira.project.sidebar,-_super,-project.issue.navigator,-jira.general,-jira.browse.project,-jira.view.issue,-jira.global,-atl.general,-com.atlassian.jira.projects.sidebar.init/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true","startTime":1023.6000000238419,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":1023.6000000238419,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1259.6000000238419,"responseStart":0,"secureConnectionStart":0},{"duration":205.10000002384186,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bu7/820016/12ta74/e65b778d185daf5aee24936755b43da6/_/download/contextbatch/js/browser-metrics-plugin.contrib,-_super,-project.issue.navigator,-jira.view.issue,-atl.general/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true","startTime":1024.6000000238419,"connectEnd":1024.6000000238419,"connectStart":1024.6000000238419,"domainLookupEnd":1024.6000000238419,"domainLookupStart":1024.6000000238419,"fetchStart":1024.6000000238419,"redirectEnd":0,"redirectStart":0,"requestStart":1024.6000000238419,"responseEnd":1229.7000000476837,"responseStart":1229.7000000476837,"secureConnectionStart":1024.6000000238419},{"duration":210.30000001192093,"initiatorType":"script","name":"https://jira.mariadb.org/s/f51ef5507eea4c158f257c66c93b2a3f-CDN/lu2bu7/820016/12ta74/be4b45e9cec53099498fa61c8b7acba4/_/download/contextbatch/js/jira.project.sidebar,-_super,-project.issue.navigator,-jira.general,-jira.browse.project,-jira.view.issue,-jira.global,-atl.general,-com.atlassian.jira.projects.sidebar.init/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en&slack-enabled=true","startTime":1025.1000000238419,"connectEnd":1025.1000000238419,"connectStart":1025.1000000238419,"domainLookupEnd":1025.1000000238419,"domainLookupStart":1025.1000000238419,"fetchStart":1025.1000000238419,"redirectEnd":0,"redirectStart":0,"requestStart":1025.1000000238419,"responseEnd":1235.4000000357628,"responseStart":1235.4000000357628,"secureConnectionStart":1025.1000000238419}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":100,"responseStart":280,"responseEnd":287,"domLoading":283,"domInteractive":1217,"domContentLoadedEventStart":1217,"domContentLoadedEventEnd":1259,"domComplete":1456,"loadEventStart":1456,"loadEventEnd":1457,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":1202.7000000476837},{"name":"bigPipe.sidebar-id.end","time":1203.6000000238419},{"name":"bigPipe.activity-panel-pipe-id.start","time":1203.7000000476837},{"name":"bigPipe.activity-panel-pipe-id.end","time":1204.1000000238419},{"name":"activityTabFullyLoaded","time":1270.1000000238419}],"measures":[],"correlationId":"10a647926a32df","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":112,"dbReadsTimeInMs":15,"dbConnsTimeInMs":24,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}