Type:
Task
Priority:
Major
Resolution:
Unresolved
Fix Version/s:
None
A current limitation of virtual columns is that they do not allow stored functions in their definitions, even if the function is deterministic .
The current workaround is to use a view that uses the stored functions to define its columns. However, this adds complexity to DB architecture by introducing a new table.
Since ensuring that virtual column definitions are deterministic is important, only stored functions marked as DETERMINISTIC should be allowed in virtual column definitions. One implementation question is whether Maria should check to enforce that the functions marked as deterministic really are as deterministic as they claim or if we leave it as the DBA's responsibility to ensure the functions they mark as deterministic really will return the same result every time they have the same inputs.
Sergei Golubchik
made changes -
2021-12-06 21:21
Field
Original Value
New Value
Workflow
MariaDB v3
[ 90341
]
MariaDB v4
[ 130933
]
Sergei Golubchik
made changes -
2025-02-03 20:01
Priority
Minor
[ 4
]
Major
[ 3
]
{"report":{"fcp":835.8000001907349,"ttfb":261.5,"pageVisibility":"visible","entityId":70526,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":64,"apdex":1,"journeyId":"c66875b4-85b5-4f8c-85c2-b0491b791538","navigationType":0,"readyForUser":900.1000003814697,"redirectCount":0,"resourceLoadedEnd":637.7000002861023,"resourceLoadedStart":267.40000009536743,"resourceTiming":[{"duration":44.09999990463257,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":267.40000009536743,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":267.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":311.5,"responseStart":0,"secureConnectionStart":0},{"duration":45.299999713897705,"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":267.7000002861023,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":267.7000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":313,"responseStart":0,"secureConnectionStart":0},{"duration":100.69999980926514,"initiatorType":"script","name":"https://jira.mariadb.org/s/0917945aaa57108d00c5076fea35e069-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":267.80000019073486,"connectEnd":267.80000019073486,"connectStart":267.80000019073486,"domainLookupEnd":267.80000019073486,"domainLookupStart":267.80000019073486,"fetchStart":267.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":267.80000019073486,"responseEnd":368.5,"responseStart":368.40000009536743,"secureConnectionStart":267.80000019073486},{"duration":173.80000019073486,"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":268,"connectEnd":268,"connectStart":268,"domainLookupEnd":268,"domainLookupStart":268,"fetchStart":268,"redirectEnd":0,"redirectStart":0,"requestStart":268,"responseEnd":441.80000019073486,"responseStart":441.80000019073486,"secureConnectionStart":268},{"duration":177.09999990463257,"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":268.30000019073486,"connectEnd":268.30000019073486,"connectStart":268.30000019073486,"domainLookupEnd":268.30000019073486,"domainLookupStart":268.30000019073486,"fetchStart":268.30000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":268.30000019073486,"responseEnd":445.40000009536743,"responseStart":445.40000009536743,"secureConnectionStart":268.30000019073486},{"duration":177.5,"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":268.40000009536743,"connectEnd":268.40000009536743,"connectStart":268.40000009536743,"domainLookupEnd":268.40000009536743,"domainLookupStart":268.40000009536743,"fetchStart":268.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":268.40000009536743,"responseEnd":445.90000009536743,"responseStart":445.90000009536743,"secureConnectionStart":268.40000009536743},{"duration":177.69999980926514,"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":268.6000003814697,"connectEnd":268.6000003814697,"connectStart":268.6000003814697,"domainLookupEnd":268.6000003814697,"domainLookupStart":268.6000003814697,"fetchStart":268.6000003814697,"redirectEnd":0,"redirectStart":0,"requestStart":268.6000003814697,"responseEnd":446.30000019073486,"responseStart":446.30000019073486,"secureConnectionStart":268.6000003814697},{"duration":242.19999980926514,"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":268.80000019073486,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":268.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":511,"responseStart":0,"secureConnectionStart":0},{"duration":177.7000002861023,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":269,"connectEnd":269,"connectStart":269,"domainLookupEnd":269,"domainLookupStart":269,"fetchStart":269,"redirectEnd":0,"redirectStart":0,"requestStart":269,"responseEnd":446.7000002861023,"responseStart":446.7000002861023,"secureConnectionStart":269},{"duration":242,"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":269.1000003814697,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":269.1000003814697,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":511.1000003814697,"responseStart":0,"secureConnectionStart":0},{"duration":177.90000009536743,"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":269.30000019073486,"connectEnd":269.30000019073486,"connectStart":269.30000019073486,"domainLookupEnd":269.30000019073486,"domainLookupStart":269.30000019073486,"fetchStart":269.30000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":269.30000019073486,"responseEnd":447.2000002861023,"responseStart":447.2000002861023,"secureConnectionStart":269.30000019073486},{"duration":248.69999980926514,"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":270.1000003814697,"connectEnd":270.1000003814697,"connectStart":270.1000003814697,"domainLookupEnd":270.1000003814697,"domainLookupStart":270.1000003814697,"fetchStart":270.1000003814697,"redirectEnd":0,"redirectStart":0,"requestStart":270.1000003814697,"responseEnd":518.8000001907349,"responseStart":518.8000001907349,"secureConnectionStart":270.1000003814697},{"duration":367.5,"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":270.2000002861023,"connectEnd":270.2000002861023,"connectStart":270.2000002861023,"domainLookupEnd":270.2000002861023,"domainLookupStart":270.2000002861023,"fetchStart":270.2000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":270.2000002861023,"responseEnd":637.7000002861023,"responseStart":637.7000002861023,"secureConnectionStart":270.2000002861023},{"duration":99.90000009536743,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":538.3000001907349,"connectEnd":538.3000001907349,"connectStart":538.3000001907349,"domainLookupEnd":538.3000001907349,"domainLookupStart":538.3000001907349,"fetchStart":538.3000001907349,"redirectEnd":0,"redirectStart":0,"requestStart":538.3000001907349,"responseEnd":638.2000002861023,"responseStart":638.2000002861023,"secureConnectionStart":538.3000001907349}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":103,"responseStart":262,"responseEnd":266,"domLoading":265,"domInteractive":954,"domContentLoadedEventStart":954,"domContentLoadedEventEnd":1017,"domComplete":1347,"loadEventStart":1347,"loadEventEnd":1347,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":928.3000001907349},{"name":"bigPipe.sidebar-id.end","time":929.1000003814697},{"name":"bigPipe.activity-panel-pipe-id.start","time":929.3000001907349},{"name":"bigPipe.activity-panel-pipe-id.end","time":931.1000003814697},{"name":"activityTabFullyLoaded","time":1031.8000001907349}],"measures":[],"correlationId":"aedacace630010","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":106,"dbReadsTimeInMs":18,"dbConnsTimeInMs":30,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}
Please just leave the deterministic question to the DBA's for now so that we can get this implemented. You can add the deeper analysis later if the demand is there.