Skip to content

Add structured diagnostics and streaming row API - #1

Merged
KrzysztofDusko merged 2 commits into
masterfrom
codex/structured-errors-streaming-api
Sep 23, 2026
Merged

KrzysztofDusko merged 2 commits into
masterfrom
codex/structured-errors-streaming-api

Conversation

@KrzysztofDusko

@KrzysztofDusko KrzysztofDusko commented Sep 23, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Add NetezzaException severity, SQLSTATE, detail, hint, raw payload, and extensible backend diagnostic fields while keeping the legacy text response fallback.
  • Add command-scoped Notices and NzCommand.ExecuteRowsAsync<T> for mapped, cancellable row streaming.
  • Replace ODBC-based result comparison tests with a small, read-only live DB comparison against nzpy-extended. Remove the test project's ODBC dependency and make TLS test certificates portable across platforms.
  • Update the README and runnable examples for mapped row streaming and server diagnostics.
  • Bump the package version from 1.7.2 to 1.8.0.

Validation

  • Full live DB regression on .NET 10 Release: 206 passed, 1 opt-in stress test skipped, 0 failed.
  • Runnable examples project builds on .NET 10 Release with 0 warnings and 0 errors.
  • The nzpy-extended reference test compares column names and representative integer, boolean, null, text, decimal, floating-point, date, timestamp, and time values.
  • Benchmarked 100,000 BIGINT rows with three measured iterations in .NET 10 JIT and NativeAOT. The candidate generic fast path reduced allocation from 60.28 MB to about 58.00 MB (3.8%), while mean time moved from 507.6 ms to 490.8 ms in JIT and from 347.5 ms to 358.7 ms in NativeAOT. The timing result was inconsistent and allocation savings stayed below the 10% threshold, so the candidate optimization was removed. The reproducible benchmark and results are documented in the benchmark README.

@KrzysztofDusko
KrzysztofDusko merged commit 97cd110 into master Sep 23, 2026
2 checks passed
@KrzysztofDusko
KrzysztofDusko deleted the codex/structured-errors-streaming-api branch September 23, 2026 18:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant