Now we support only ScalarFunction UDFs. In Calcite, there are other kinds of UDFs. With TableMacro UDFs users can connect external data sources in a similar way as in TableProvider, but without specifying a schema, or enumerating a list of existing tables in advance.
An example use case is connecting external metadata service and querying range of partitions.
Where the implementation of `my_udf` will connect to this service, get file locations for a range of partitions, and translate to PTransform reading it.