Skip to content

Allow specialized physical functions to provide hints for the array adapter #3762

@isidentical

Description

@isidentical

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
We currently have a specialization system (used by the regex_replace at the moment, but can be extended to similar functions) that always produces functions with adapters, but sometimes the newly created functions might not need padded arrays for scalars (_regexp_replace_static_pattern_replace only needs an array of length-1 for the last three arguments). Instead of requiring the specialized functions to implement APIs that process raw ColumnarValue's and provides multiple implementations (because not all arguments can be hinted/known), we can extend the array->scalar adapter (make_scalar_function) to also take a list of hints and produce more optimized inputs.

This is something that was noticed during the regex_replace speed-up discussion, where on some inputs the time spent on into_array() can be as high as %25 of the whole execution.

Describe the solution you'd like
A new API that can take some hints about what the decorated function expects in terms.

Describe alternatives you've considered
Not doing this and writing multiple implementations for specialized functions that directly consumes ColumnarValue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions