You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
effectively, there's a function anchor and definition for each pair of types that gets compiled in, so long as the function is defined for those types in the corresponding extension URI file.
Currently, Acero just discards the : and everything after it, and I think that's a reasonable way to restore functionality for the moment. Ibis-substrait won't submit plans with invalid type combinations, but I can't speak for other plan producers.
To Reproduce
In [38]: importibisIn [39]: fromibis_substrait.compiler.coreimportSubstraitCompilerIn [40]: compiler=SubstraitCompiler()
In [41]: t=ibis.table({'a': 'int64', 'b': 'int32'}, name='t')
In [42]: expr=t.mutate(c=t.a+t.a)
In [43]: plan=compiler.compile(expr)
In [44]: importduckdbIn [45]: con=duckdb.connect()
In [46]: con.execute("CREATE TABLE t(a INT8, b INT4)")
Out[46]: <duckdb.DuckDBPyConnectionat0x7f5f1a0faa30>In [47]: con.install_extension("substrait")
In [48]: con.load_extension("substrait")
In [49]: con.from_substrait(plan.SerializeToString())
---------------------------------------------------------------------------CatalogExceptionTraceback (mostrecentcalllast)
CellIn[49], line1---->1con.from_substrait(plan.SerializeToString())
CatalogException: CatalogError: ScalarFunctionwithnameadd:i64_i64doesnotexist!
Didyoumean"add"?
OS:
Ubuntu
Substrait-Extension Version:
whatever ships with 0.8.1
DuckDB Version:
0.8.1
DuckDB Client:
Python
Have you tried this on the latest master branch?
I agree
Have you tried the steps to reproduce? Do they include all relevant data and configuration? Does the issue you report still appear there?
I agree
The text was updated successfully, but these errors were encountered:
The substrait integration is experimental. Support is currently only available on request.
What happens?
The Substrait spec was updated to mandate the inclusion of type signatures in the name of a scalar function definition.
For the Ibis equivalent of this SQL statement:
where
t0.a
isint64
andt0.b
isint32
,previously, the top of the corresponding substrait plan would've read something like:
but now it should read (and will, shortly, after I fix a bug in ibis-substrait):
effectively, there's a function anchor and definition for each pair of types that gets compiled in, so long as the function is defined for those types in the corresponding extension URI file.
Currently, Acero just discards the
:
and everything after it, and I think that's a reasonable way to restore functionality for the moment. Ibis-substrait won't submit plans with invalid type combinations, but I can't speak for other plan producers.To Reproduce
OS:
Ubuntu
Substrait-Extension Version:
whatever ships with 0.8.1
DuckDB Version:
0.8.1
DuckDB Client:
Python
Have you tried this on the latest
master
branch?Have you tried the steps to reproduce? Do they include all relevant data and configuration? Does the issue you report still appear there?
The text was updated successfully, but these errors were encountered: