v0.9.4 — native close-handshake resilience + source-case validators
Native (Oracle-wire) Oracle → HeliosDB-Full migration is now end-to-end.
Fixed
- Native target no longer hangs on close. A successful, committed native
migratepreviously blocked in oracledb'sProtocol._resetwaiting on HeliosDB-Full's unanswered logoff handshake.close()is now best-effort (5s cap + swallow), andconnect()sets a generous 300s per-call timeout so a stalled bulk array-INSERT fails fast instead of blocking forever. - Validators read native-target data.
test-count/test-data/test-indexnow render identifiers in the same case the migration created them (keep_source_case = preserve_case OR oracle-dialect), instead of folding to lowercase and querying an empty, wrong-cased relation. TEST_COUNT and TEST_INDEX now pass on a native Oracle → HeliosDB-Full migrate. a2h test-indexfalse positive on HeliosDB-Nano removed — rewritten to a portable, fail-safe GROUP-BY ground-truth form (no nested cast-subquery, no bind params; an unrenderable probe is DEGRADED-skipped, never failed). Validated on Oracle → HeliosDB-Nano 3.58.5 and Oracle → stock PostgreSQL.
Note: TEST_DATA on DATE/TIMESTAMP/RAW columns over the native path is gated on a HeliosDB-Full TTC read-path type-tagging fix (target-side) — the data is stored correctly; only the read-back column metadata is currently wrong.
pip install -U any2heliosdb