Description
We call ScalarFunctionImpl.create() to register a UDF with Calcite schema in BeamSqlEnv. Internally it uses Calcite's internal mapping (JavaToSqlTypeConversionRules) to map Java types to SQL types to create a function signature that gets registered in the schema. Problem is that this logic is not extensible and doesn't include Joda types support (maybe others as well).
We can work around this by constructing our own subclass of Function that gets registered in the schema instead of calling ScalarFunctionImpl.create(). This logic can use our own custom mapping (or fall back to Calcite implementation if needed).
Attachments
Issue Links
- links to