Skip to content

FunctionConverter crashes when multiple extensions define functions with the same name and signature #562

@benbellick

Description

@benbellick

When merging extension collections that contain functions with identical names and signatures but different URNs, FunctionConverter throws IllegalArgumentException during initialization. This prevents using multiple extension sets that reasonably might implement the same function (e.g., ltrim) with slightly different semantics or optimizations.

Example Error:

java.lang.IllegalArgumentException: Multiple entries with same key: ltrim:str_str
    at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:...)
    at io.substrait.isthmus.expression.FunctionConverter$FunctionFinder.<init (FunctionConverter.java:179)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions