Hello. I am confused with the implicit Drill cast rules for BIT data type. According to TypeCastRules.java there is the possibility of conversion between BIT and INT (and other number type), e.g. cast(true as int). However, when trying to perform such a conversion, the error "Missing function implementation: [castBIGINT (BIT-REQUIRED)]" occurs.
As far as I understand, Drill scans the list of functions for conversion (in my case it is castINT) and tries to find the chain of transformations that is the least expensive. However, since there is no direct BIT -> INT conversion function, it selects the function with the least difference in ResolverTypePrecedence.precedenceMap and tries to add a additional cast for the argument (In my case it is [castINT (BIGINT-REQUIRED), since TypeCastRules.java also allows conversion BIT -> BIGINT). At the time of searching for the argument conversion function, the error mentioned above occurs. questions: 1) Is it correct that BIT -> Number conversions are allowed in TypeCastRules? 2) Was the conversion supposed to be done through TinyInt? However, for this type I could not find the conversion functions to other types of numbers. 3) the inability to convert BIT to number is an error? Or is this the correct behavior?
