• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Giorgi / DuckDB.NET / 35994854641
88%

Build:
DEFAULT BRANCH: develop
Ran 24 Sep 2026 11:48AM UTC
Jobs 0
Files 0
Run time –
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
35994854641

push

github

Giorgi
Throw when a streaming fetch fails instead of ending the results

With UseStreamingMode, duckdb_stream_fetch_chunk returns NULL both at
the end of the result and when producing the next chunk fails. The
reader and the Arrow stream treated every NULL as the end, so an error
in a later chunk (a conversion error, out of memory, an interrupt from
Cancel()) ended the results early without an exception. Fixes #356.

- DuckDBResultExtensions.ThrowOnError reads the result's error and
  throws it: OperationCanceledException for an interrupt, and the
  exception from a C# function as InnerException. After a NULL
  streaming fetch it throws only when the result has an error, so a
  normal end is unchanged. PreparedStatement.Execute now uses it too,
  with the same fallback message as before.
- DuckDBDataReader resets its row counters before fetching, so after a
  failed Read() value accessors throw instead of reading the chunk that
  was just freed, and Read() throws again.
- If the constructor throws, the reader closes itself, releasing the
  result and statements. With CommandBehavior.CloseConnection this
  closes the connection, as Npgsql does. A failed Read() leaves the
  connection open until the reader is disposed, also as in Npgsql.
  Both were checked against Npgsql 10.0.3 on PostgreSQL 18.
- Close() finishes the reader's own cleanup before closing the
  connection, and skips readers that were never built.

New tests cover a later-chunk error in the reader and the Arrow stream,
a C# function that throws in a later chunk, Cancel() during a streaming
read, and the connection state after each kind of failure.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CzLKjBGAwccxYB6ny5bpmY
Source Files on build 35994854641
Detailed source file information is not available for this build.
  • Back to Repo
  • Github Actions Build #35994854641
  • f94d52b3 on github
  • Prev Build on develop (#35915328756)
  • Next Build on develop (#35997125514)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc