[go: up one dir, main page]

JavaScript is turned off

Review Board requires JavaScript in order to function. Please turn it on in your browser preferences.

Firefox users: if you prefer to turn on JavaScript only for specific sites, we recommend the NoScript extension.

ExpressionTreeMaterializer may inject incorrect implicit casts

Review Request #20825 - Created April 29, 2014 and updated

Information
Mehant Baid
drill-git
DRILL-584
Reviewers
drill-git
jni
In ExpressionTreeMaterializer.visitFunctionCall() we try to get a best match between the DrillFuncHolder and the input call. We may match the input call with a DrillFuncHolder whose argument type is different from that of the input, but is allowed to be implicitly cast as per the precedence rules.

However when we inject implicit casts to compensate for the difference in argument types, we again use the same matching method to resolve the implicit cast to DrillFuncHolder. In the case of implicit casts, we should not match with a DrillFuncHolder that has different argument types than the input. We should return only the DrillFuncHolder that exactly matches the argument types and if no such holder is present should return NULL.

Added a new FunctionResolver, ExactFunctionResolver which returns a DrillFuncHolder only when there is an exact match of argument types. This is invoked when we are trying to inject implicit casts.

  
Jinfeng Ni
Ship It!
Loading...