Skip to content

fix(plugin-oracle): stop rows split across packets from crashing the app - #3246

Merged
datlechin merged 1 commit into
mainfrom
fix/oracle-sdo-geometry-decode-crash
Oct 3, 2026
Merged

datlechin merged 1 commit into
mainfrom
fix/oracle-sdo-geometry-decode-crash

Conversation

@datlechin

Copy link
Copy Markdown
Member

Why

Opening an Oracle table with SDO_GEOMETRY and BLOB columns closed TablePro, or reset the connection with "The server sent an unexpected message". When a network packet ended inside the last field of a row, the Oracle driver treated the row as complete and read the rest as a new message. The connection then failed while rows were streaming, and the driver trapped while reporting that failure. Stopping a query or disconnecting while rows were loading hit the same trap.

Change

  • Repin oracle-nio to the fork fix (fix: wait for rows split across packets, stop trapping when a stream fails oracle-nio#12): rows split across packets wait for the next packet, and a failed or closed stream reports an error instead of ending the process.
  • A NULL SDO_GEOMETRY or other object shows as NULL, and object, cursor and NCLOB columns get a type name instead of "unknown".
  • The Oracle docs say how object columns display and how to read a geometry as text.

Verified

The reporter's browse query returns all 1000 rows on Oracle 21c XE and 23ai, including real MDSYS.SDO_GEOMETRY, where it crashed before; stopping mid-stream no longer crashes. The fork's new tests fail before the fix.

Not in this PR

  • The Oracle driver is registry-only: users get this with the next plugin-oracle-v* release.
  • UROWID columns (index-organized tables) still fail with a decode error instead of a placeholder.

Fixes #3241

Repins oracle-nio to TableProApp/oracle-nio#12. A row whose last field ended in the next TNS packet was reported complete and the rest read as a new message; the failed stream then hit a precondition while reporting the error, and so did any close while rows were streaming. NULL objects now decode as NULL, and object, cursor and NCLOB columns get a type name.

Fixes #3241
@mintlify

mintlify Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
TablePro 🟢 Ready View Preview Oct 2, 2026, 2:34 PM

💡 Tip: Enable Automations to automatically generate PRs for you.

@datlechin
datlechin merged commit 6b33732 into main Oct 3, 2026
26 of 30 checks passed
@datlechin
datlechin deleted the fix/oracle-sdo-geometry-decode-crash branch October 3, 2026 00:41

This branch was successfully deployed

1 active deployment
staging - docs — c674704d Deployed Oct 2, 2026 by mintlify[bot]
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.

[Oracle] Browsing an SDO_GEOMETRY table crashes OracleDriver with SIGTRAP

1 participant