When implementing ScalarUDFImpl
, AggregateUDFImpl
, or WindowUDFImpl
, it would be very cool to have the chance to return a custom Diagnostic
either during the planning phase or the execution phase. Currently, you can return errors e.g. in ScalarUDFImpl::return_type_from_args
or ScalarUDFImpl::invoke
, but no Span
s are available there so there's no way to construct a Diagnostic
that highlights the call expression, or a specific argument of the function, for instance.
Add a FnCallSpans
types that bundles:
Span
for the whole call expressionSpan
for just the function identifierVec<Span>
, one for each argumentAdd a diagnose
trait function (defaults to doing nothing) which is called during logical planning and is given the types of the arguments for a particular callsite, as well as an instance of FnCallSpans
. The implementor can here construct a Diagnostic
and return an errors that contains it. The logical planner would bubble up the error.
Also add a FnCallSpans
field to ScalarFunctionArgs
(and equivalently for aggregate and window functions) so the implementor, in ScalarUDFImpl::invoke_with_args
, can create Diagnostic
s for a particular execution as well. This shouldn't be too big of a breaking change, unless users are using struct destruction syntax with ScalarFunctionArgs
.
No response
Additional contextNo response
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4