]
Jerry Helbling updated TEIIDDES-196:
------------------------------------
Attachment: TEIIDDES-196 - FunctionPackageImpl - patch.txt
Changes to FunctionPackageImpl (note: Class is the same but packaging is different)
Change default for UDF property *deterministic* from false to true to
improve usability
---------------------------------------------------------------------------------------
Key: TEIIDDES-196
URL:
https://jira.jboss.org/jira/browse/TEIIDDES-196
Project: Teiid Designer
Issue Type: Bug
Components: Modeling
Affects Versions: 6.1.0
Reporter: Jerry Helbling
Priority: Minor
Attachments: TEIIDDES-196 - FunctionPackageImpl - patch.txt, TEIIDDES-196 -
ScalarFunctionImpl - patch.txt
[related to internal case IT281239]
Change the default value for the 'deterministic' property of User Defined
Functions to true, so UDFs will be specified as 'deterministic' by default.
Currently the default value for the 'deterministic' property of User Defined
Functions is false. It is probably false because that is the usual default for a boolean
property. This is a usability issue because a user who creates a new UDF without paying
attention to, and explicitly setting this property will wind up creating a
non-deterministic UDF, by default.
That is a bad outcome for several reasons. First, most Functions, including User Defined
Functions, are deterministic, not non-deterministic. So in most cases the current default
makes it more likely that this property will be specified incorrectly. Secondly,
specifying that a UDF is non-deterministic when it is really deterministic may create
unnecessary performance issues. For example, the planner has the ability to optimize the
placement of a deterministic function so that it can be called the fewest number of times.
It is unable to do that with non-deterministic functions. More critically, a change was
made to all versions in Feb 2009 (see Jira TEIID-16) that prevents the merging of queries
if one of them contains a non-deterministic function. This can have a dramatically
negative effect on performance (see internal case IT281239).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: