Repository navigation
v1.35.0 — dtype sites routed through the fail-closed admission boundary
Changes since v1.34.0.
- Route every dtype site in this package through plaid-rpc's fail-closed admission boundary (sc-30348, #382).
sql_from_dtyperaised a bareKeyErrorthat every upstreamexcept KeyErrorswallowed;dtype_from_sqlheld an 11-entry map and answeredNonefor everything else — includinguuid,json,serial,bigserial,tinyint,doubleandlargebinary, all of which analyze declares. It now reads the registry'spandasdeclaration, so those six convert and the four with no pandas representation refuse by name. Four wrappers that swallowed the refusal are narrowed so it reaches the caller._dtype_okreplaces a hand-kept 20-token enum plus an accept-anything-resolvable fallback with a per-role check:joinable_as_keyfor both operands of a column-to-column join condition,default_aggfor an aggregated target column. Counting is exempt throughout —COUNTandCOUNT(DISTINCT)read no value semantics, so they stay valid for a dtype that refuses every other aggregation.get_from_clausegains the emitter's only per-dtype aggregation decision, so an unaggregatable dtype is refused here rather than reaching the warehouse asSUM(<array>)and failing there, in another repo, naming neither the column nor the dtype.- Behaviour change: a typed PSV returned the text of a
date,time,timestamporintervalrather than the value — the first three because declaring a columnobjectdefeatsparse_dates, the fourth becauseread_csvrefuses a timedeltadtype=. All four now come back as realdatetime64/timedelta64values. - Two pre-existing defects in the touched functions are fixed with them:
converter_from_sqlreadpd.datetime, removed in pandas 2.0, so every call raisedAttributeErrorandload_typed_psvanswered nothing at all; andset_column_types' timedelta tuple was missing a comma.
- Behaviour change: a typed PSV returned the text of a
- Close the StarRocks
@compilesgap insqlalchemy_functions(sc-30376, #381). - Raise the
plaidcloud-rpcfloor to>=1.16.0(#383). The new code importsadmit_dtype,require_dtype_capabilityandUnsupportedDtype, none of which exists before rpc 1.16.0, while the declared floor still said>=1.11.0. An unbounded resolve happened to work; a constrained install or a lockfile would have paired this code with an rpc that raisesImportErrorat import.
Requires plaidcloud-rpc >= 1.16.0.
Note on the CHANGELOG: CHANGELOG.md's ## Unreleased heading is stale — this repo has been tagging releases without retitling it, so that section currently holds entries going back many versions. It is deliberately left alone here rather than retitled, because retitling would relabel those older entries as this release. Splitting it by version is tracked separately.