Hi Mika,

Thanks for the FLIP and apologies for not replying earlier. I've reviewed
it and overall I think this is a good proposal that addresses a need for
future-proofing the CREATE FUNCTION syntax. The alignment with the Table
API's generic ResourceUri approach is well-reasoned, and the backward
compatibility story is clean.

I have one question on the syntax when it comes to multiple artifacts.

The current Flink documentation shows that CREATE FUNCTION supports
multiple JARs:
USING JAR '<path_to_filename>.jar' [, JAR '<path_to_filename>.jar']*

However, the proposed syntax in the FLIP only shows a single artifact:
[USING JAR|ARTIFACT 'artifact_path']

Could you clarify:
- Will the new syntax support multiple artifacts like `USING ARTIFACT
'a.jar', ARTIFACT 'b.jar'`?
- Can we mix keywords within a single statement, e.g., `USING JAR 'a.jar',
ARTIFACT 'b.jar'`?
- Should the grammar be updated to: `[USING (JAR|ARTIFACT) 'artifact_path'
[, (JAR|ARTIFACT) 'artifact_path']* ]`?

Best regards,

Martijn

On Thu, Dec 4, 2025 at 8:50 PM Zander Matheson <[email protected]>
wrote:

> Thanks for creating the FLIP! This is a great move to continue to evolve
> our SQL syntax to include future developments on the language front as well
> as different types of artifacts like models.
>
> On Thu, Dec 4, 2025 at 9:39 AM Mika Naylor <[email protected]> wrote:
>
> > Hey everyone,
> >
> > I would like to kick off a discussion on FLIP-559: Add ARTIFACT keyword
> > option in CREATE FUNCTION's USING clause [1].
> >
> > The current syntax for registering a user-defined function that depends
> on
> > a binary artifact requires using the JAR keyword within the CREATE
> > FUNCTION’s USING clause. As Flink's ecosystem evolves, particularly with
> > improved Python support (e.g., Python UDFs depending on wheel files or
> > other archives), the JAR  keyword becomes semantically incorrect and
> > restrictive. We would like to add a more generic way to specify a
> > dependency artifact by adding an ARTIFACT keyword that functions the same
> > as JAR, but feels more format agnostic to the user.
> >
> > For more details, please refer to the FLIP [1]. There was also a previous
> > pre-FLIP discussion thread [2].
> >
> > Would love any feedback and thoughts the community might have on this!
> >
> > Kind regards,
> > Mika Naylor
> >
> > [1]
> >
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-559%3A+Add+ARTIFACT+keyword+option+in+CREATE+FUNCTION%27s+USING+clause
> > [2] https://lists.apache.org/thread/3hthbgrho598pr7ycsoygk8mqv84cmzt
> >
> >
> >
>

Reply via email to