substrait-io / substrait-java

Apache License 2.0
72 stars 70 forks source link

[isthmus] CLI failures in native image due to undefined proxy classes #251

Open vbarua opened 2 months ago

vbarua commented 2 months ago

Queries like

./isthmus -c 'CREATE TABLE foo(a VARCHAR);' "SELECT a FROM foo"

work in Isthmus, however when a GROUP BY is added

./isthmus -c 'CREATE TABLE foo(a VARCHAR);' "SELECT a FROM foo GROUP BY a"

The CLI fails with

Proxy class defined by interfaces [interface org.apache.calcite.rel.metadata.BuiltInMetadata$ColumnUniqueness] not found.

This also appears to happen with SELECT DISTINCT queries.

There does appear to be some configuration around proxy classes, but it is possibly insufficient. https://github.com/substrait-io/substrait-java/blob/ce0f1eea6b89b9bb733edab80c1bedea71345048/isthmus/proxies.json#L6