We don't expect the public to build classes that implement EnumerableRel outside of the Calcite code base.
We do expect public to use that class, don't we?
1) How would you implement MongoToEnumerableConverter without EnumerableRelImplementor?
2) It is much easier to stick with enumerable convention unless you want to implement executor from scratch. I mean there
Vladimir SitnikovI think the ability to "pass non-string literals to EnumerableImplementor" is quote often requested.
Any hints on the preferred approach here?
Well, "the proper way" might be to go through RexBuilder.makeLiteral. For instance, allow to invoke makeLiteral(customObject, SqlTypeName,OTHER, ...) for user-defined data types.
So the end-to-end would be:
1) User passes random java object into the query via RexBuilder#makeLiteral(customObject, SqlTypeName,OTHER
2) EnumerableImplementor detects such OTHER literals and passes it via DataContext transparently to the user.
Would this qualify as proper usage of OTHER sql type?