asterixdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Till Westmann" <>
Subject Re: Handling of untyped content
Date Thu, 10 Dec 2015 00:56:24 GMT
No, I don’t think so. We’d have one enforcer function for each type 
that we can have for a parameter in a function signature. And all type 
checking would be removed from the individual functions. The 
translator/rewriter would then ensure that all parameters go though an 
enforcer function, unless the type checker can statically determine that 
no type check is necessary.

Does this make sense?


On 9 Dec 2015, at 12:37, Ildar Absalyamov wrote:

> That will still mean that we’ll have to double the number of 
> functions by creating “enforced” version of each function, right?
> In either case it will introduce additional code. However in the 
> former approach it is going to be located in only type computers. In 
> ideal world all those type computers should be auto generated, since 
> it is a bunch of boilerplate code, without any specifics (except for 
> the type of course). In that case having additional checks there will 
> be tolerable.
>> On Dec 9, 2015, at 11:59, Till Westmann <> wrote:
>> Hi,
>> Ildar has filed ASTERIXDB-1219 in response to a number of issues with 
>> built-in functions that do not handle untyped parameters well. While 
>> I see the problem, I think that the solution should not be to add 
>> conditional code to each implementation.
>> Instead, I think that we should have functions that guarantee the 
>> correct input type or type conversion (or throw an error) and rely on 
>> the rewriter to ensure that these “enforcing” functions are 
>> placed into the plan only if the type check cannot determine that the 
>> correct input type is provided.
>> That way the enforcement code would be only in the plan when needed.
>> Thoughts?
>> Cheers,
>> Till
>> [1]
> Best regards,
> Ildar

View raw message