engines.substrait_json()
Compile DuckDB’s SQL to a Substrait plan with sverify’s lift
Usage
engines.substrait_json(
con,
sql,
semantics="reference",
)(sverify.sql_lift, SQLGlot), as protobuf JSON.
The plan reads the connection’s tables by name, and states every choice DuckDB’s SQL leaves implicit: casts, output types, function options and sort directions.
Parameters
con: Connection-
The connection whose tables the SQL reads.
sql: str-
A query in DuckDB’s SQL dialect.
semantics: str = "reference"-
"reference"(the default, as forsv.verifyandsv.sql): what sverify’s reference model computes; or"duckdb": what DuckDB computes where the two differ. Before 0.6 the default was"duckdb".
Returns
str- The Substrait plan as protobuf JSON.
Raises
Unsupported-
The query is outside what the lift reads (a
ValueError), saying what.