Hi Dev! I would like to start a discussion on a new Flink Improvement Proposal, FLIP-XXX: Make JAR keyword optional in CREATE FUNCTION's USING clause.
You can find the full proposal in the google doc <https://docs.google.com/document/d/1M5_TiOLInGiUm27apDcfR9D1I6jRYZDCokYsV9mNJk0/edit?tab=t.0> [1]. Here is a brief overview. *Motivation* The current DDL syntax for registering a UDF with a dependency, CREATE FUNCTION ... USING JAR '...', is specific to Java/Scala artifacts. This becomes semantically incorrect and restrictive as we improve support for other languages, particularly for Python UDFs which may depend on wheels or other archives. This proposal aims to make the USING clause more generic and future-proof by making the JAR keyword optional. *Proposed Changes* The implementation is confined to the Flink SQL parser. Focusing on adjusting the grammar to recognize USING <string_literal> as a valid clause, treating it identically to the existing USING JAR <string_literal>. No changes are anticipated for the backend logic. *Compatibility* This change is fully backward compatible. All existing SQL scripts that use the CREATE FUNCTION ... USING JAR '...' syntax will continue to work without any modification. This proposal does not aim to deprecate the explicit JAR keyword; it will remain as an optional clarifier. Please take a look at the full proposal and share your thoughts and feedback here on the mailing list. Thanks, Zander [1] https://docs.google.com/document/d/1M5_TiOLInGiUm27apDcfR9D1I6jRYZDCokYsV9mNJk0/edit?tab=t.0