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
- #206: a pandas source whose object column mixes value types crashed the
Polars engine during pl.from_pandas and was silently cast to text by DuckDB,
and duplicate column labels crashed Polars and came back mis-renamed from
DuckDB. execution/_ingest.py now flags those inputs before ingestion, and
both engines take the recorded pandas fallback (fallback_policy="error"
still raises first). The Polars engine now decides fallbacks before
converting the source.
- #205: requesting another engine's native handle silently returned a
different type, even under fallback_policy="error" (e.g. engine="duckdb" with
output_format="polars-lazy" returned a DuckDBPyRelation). EngineConfig now
rejects the pairing with a ValueError; engine="auto" (and the default engine)
picks the engine that owns the handle format. _convert_output returns a
materialized frame in place of a handle only when the report records the
pandas fallback.
Docs: fallback-matrix lists the two input-driven fallbacks; backends.md says a
handle format needs its own engine.
Closes#205Closes#206
@@ -28,6 +29,8 @@ if you change that function, change this page.
28
29
|`drop_constant_columns`| pandas | pandas | pandas | pandas | needs a data scan before planning (two-phase plan not built) |
29
30
|`optimize_memory`| pandas | pandas | pandas | pandas | pandas-specific downcasting — meaningless for other outputs, by design |
30
31
| semantic cleaning | native-distinct | native-distinct | pandas | pandas | polars/duckdb run it over a natively extracted distinct table; non-default semantic backends force pandas |
32
+
| pandas input with a mixed-type object column (e.g. numbers and strings) | pandas | pandas | — | pandas | native ingestion would reject the column (polars) or cast every value to text (duckdb) |
33
+
| pandas input with duplicate column labels | pandas | pandas | — | pandas | native frames need unique column names; the pandas pipeline deduplicates them (`"x", "x"` → `"x", "x_2"`) |
0 commit comments