Details
-
Task
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
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.
Any plan for this?
I agree with what has been written already - if the function is defined as deterministic then that should be enough.
If a (non)deterministic function could be identified automatically, there would be no need for the keyword in the create statement and even now the documentation specifically states that "If you declare a non-deterministic function as DETERMINISTIC, you may get incorrect results.".