Skip to content

fix: align timeout options with dmPython contract - #10

Merged
skhe merged 1 commit into
mainfrom
codex/fix-timeout-contract
Sep 26, 2026
Merged

skhe merged 1 commit into
mainfrom
codex/fix-timeout-contract

Conversation

@skhe

@skhe skhe commented Sep 26, 2026

Copy link
Copy Markdown
Owner

What changed

  • Match the official dmPython contract: login_timeout is milliseconds and defaults to 5000.
  • Apply connection_timeout to SQL execution in seconds, including prepared and direct statements, instead of TCP dialing.
  • Unblock canceled statements by closing the socket before driver cleanup.
  • Add real-DM regressions for defaults, unresponsive login, locked updates and locked SELECT; verify a connection can query again after a timeout.
  • Correct API documentation and the earlier test-results note.

Verification

  • Real DM8 on local Orb: CPython 3.10, 125 passed; CPython 3.9, 3.11, 3.12, 3.13, 124 passed each before the final SELECT regression; the final SELECT regression passed separately on all four.
  • Non-DM tests: 2 passed.
  • Go bridge and vendored driver go test ./...: passed.
  • Third-party patch consistency: passed.

Official behavior: https://eco.dameng.com/document/dm/zh-cn/pm/dmpython-interface and https://eco.dameng.com/document/dm/zh-cn/pm/dpi-rogramming-guide

@skhe
skhe merged commit e43d25e into main Sep 26, 2026
13 checks passed
@skhe
skhe deleted the codex/fix-timeout-contract branch September 26, 2026 14:25
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