DRILL-316: Implement explicit casting
Includes following changes:
Parse syntax to support explicit cast function in physical or logical plan.
prototype of explicit casting : parsing from plan's expr, and call generated cast code.
Prototype of explicit cast with unit test.
explicit cast: create different cast for type with fixed size vs with var size.
explicit cast : minor change in comments, varname, etc.
Drill-316 : explicit cast. change func def for cast with var size.
Drill-316: minor change in unit test case for explicit cast.
Drill-316 : modify the function def for cast functions.
DRILL-316: prototype impl of cast from/to var-length type.
Dirll-316 : add test case for explicit cast.
Drill-316: explicit cast into varchar type from int, bigint, float4, float8. unit test physical plan added.
Drill-316: change parser syntax for explicit cast. Add more test case physical plans.
DRILL-316: explict cast. Use functiom template to generate all cast functions. Currently, excplict
cast supports cast between int, bigint, float4, float8, varchar, varbinary. (total 30 combinations).
Drill-316: explict cast - add test case for nested cast functions.
Drill-316: minor change to function template for explicit cast.
DRILL-316: add junit test case for explict cast, using 7 json physical plans.
DRILL-316: explict cast. remove a test json file.
DRILL-316: explicit cast. add a json testcase.
DRILL-316: check return type for function resolution. delete two un-needed test json files.
Drill-316: code change for review comment 1 and 2.
Drill-316: address review comment 3.
Drill-316: address testcase comments.
Drill-316: Decode byte array directly into int/long, when cast varchar/varbinary into int/bigint.
Drill-316: minor change to grammer rule for cast.