Skip to content

v0.9.4 — native close-handshake resilience + source-case validators

Choose a tag to compare

@danimoya danimoya released this 25 Jun 18:49

Native (Oracle-wire) Oracle → HeliosDB-Full migration is now end-to-end.

Fixed

  • Native target no longer hangs on close. A successful, committed native migrate previously blocked in oracledb's Protocol._reset waiting on HeliosDB-Full's unanswered logoff handshake. close() is now best-effort (5s cap + swallow), and connect() 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-index now 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-index false 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