Scalar and Aggregate user defined functions in Rust Implementation

It looks like GitHub Discussions has not yet been enabled! :slight_smile:

As I was familiarizing myself with PartiQL, I noticed that Scalar and Aggregate UDF support is not yet available.

I was wondering if you might be able to share more details on the current status and when we could expect support for this to land?

This is true; it is currently in progress and we will let you know once it’s there :slight_smile:

I was wondering if you might be able to share more details on the current status and when we could expect support for this to land?

Let us get back to you with more details hopefully by end the of this week.

1 Like

Just an update: we are going to have an internal meeting regarding our priorities early next week and are going to discuss our UDF support—we will get back to you by mid next week.

1 Like

Hey Rajiv,

Apologies for the delay. Thanks again for your continued interest in the project! We are looking to work on UDF support through the following sequence:

  1. Support scalar UDFs with non-special forms (i.e. functions following the syntax of comma-delimited arguments like MOD(4,3)).
  2. Support scalar UDFs with special forms similar to TRIM, SUBSTRING, OVERLAY, which will require additional parser integrations.
  3. Support for aggregate UDFs. Aggregates from what I recall have a more hard-coded logic, which may be more involved to support UDFs.

It’s hard for us to give an exact timeline, but we are targeting the next release (expected sometime in Q1 2024) for some of the above sequence.

Out of curiosity, what kinds of scalar and aggregate UDFs were you looking for PartiQL Rust to provide? Some additional information could help us better prioritize some development work.

Thanks,
Alan

1 Like

Thanks for the update. I understand the comment regarding “exact timelines”.

I was wondering if you might be able to consider making your roadmap public. Something similar to AWS Rust SDK Public Roadmap?

That would give downstream users the required insight on upcoming features.

At the moment, I do not have any specific inputs.

As I was studying PartiQL code, I was looking for “extension points”. Adding custom functions, types and table sources is a common extension point. That was when I discovered scalar and aggregate UDF support was missing. Hence, the question.