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 > > > > > > >
