* Throwing with ErrorCodes::ILLEGAL_COLUMN (44) when column validation fails
* added ignored optional argument to toDate() function to preserve compatibility
* fixed toUnixTimestamp
Other minor fixes:
* Better documentation on FunctionArgumentDescriptor and validateFunctionArgumentTypes
* Fixed typos in validateFunctionArgumentTypes
* FunctionArgumentDescriptor::expected_type_description can now be null to avoid confusing type names in case of generic functions.
* Fixed precision calculation in DataTypeDecimalBase c-tor
* Fixed max precision calculation in getLeastSupertype
* Fixed reading past end of vector in FunctionsConversion with extractToDecimalScale
* More verbose comments on FunctionArgumentTypeValidator and validateFunctionArgumentTypes
* style and other minor fixes.
* More precise overflow check in readIntTextImpl
* writeDateTimeText now always writes sub-second part for DateTime64
* comment for validateFunctionArgumentTypes
* DateTime64-related fixes for FunctionConvertFromString
* other minoe fixes: comments, removed commented out code, variable
renamings, etc.
* put functions in DecimalFunctions into DecimalUtils namespace
* fixed possible buffer overflow in parseDateTimeBestEffortImpl
* fixed readDateTimeTextImpl not to require fractional part separator
(if fractional part is missing)
* Tests for code from DecimalFunctions.h
* Fixed serializing DateTime64 to string with writeDateTimeText(), fixed tests
* Added isDeterministic() to IFunctionBuilder i-face
* A test for non-deterministic mutations
* In MutationsInterpreter::validate() ensure deterministic functions
* Adjusted nondeterministic mutation tests
* Moved around some code in MutationsInterpreter::validate()
* Dropped unnecessary check in findFirstNonDeterministicFuncName()
* Corrections to IFunction{Base,Builder} interface