Implement vectorized support for casting from any type to any type.
From the documentation:
cast(expr as <type>): Converts the results of the expression expr to <type> e.g. cast('1' as BIGINT) will convert the string '1' to it integral representation. A null is returned if the conversion does not succeed
The current supported internal types are:
Before implementation, determine what are the semantics of explicit casting to types less general than the internal types. E.g. what if you cast DOUBLE to TINYINT? Can we just cast internally to LONG and let the output process cast to TINYINT?
This JIRA includes all work to make casting operate end-to-end in a SQL query in vectorized mode, including updates to VectorizationContext.