Skip to content

Refactor context support#1318

Merged
arp242 merged 1 commit intomasterfrom
ctx
Apr 8, 2026
Merged

Refactor context support#1318
arp242 merged 1 commit intomasterfrom
ctx

Conversation

@arp242
Copy link
Copy Markdown
Collaborator

@arp242 arp242 commented Apr 8, 2026

Previously the various *Context() methods called the non-context methods together with a goroutine to watches the context and send a cancel query on the context cancellation. This changes it to make the *Context() methods the primary methods, and removing or stubbing out the non-context ones.

This cleans up a bunch of old pre-Go 1.9 code, and is also required to use the context in more places, such as network timeouts.

database/sql never uses Exec() or Query() if the *Context() variants are implemented. These can safely be removed outright.

Similarly, conn.Prepare(), conn.Begin(), stmt.Exec(), and stmt.Query() are also never called if the context variants are implemented, but we need to keep them around to satisfy driver.Conn and driver.Stmt. Make them panic to ensure it's not accidentally called from pq code or tests.

This shouldn't change any behaviour

Previously the various *Context() methods called the non-context methods
together with a goroutine to watches the context and send a cancel query
on the context cancellation. This changes it to make the *Context()
methods the primary methods, and removing or stubbing out the
non-context ones.

This cleans up a bunch of old pre-Go 1.9 code, and is also required to
use the context in more places, such as network timeouts.

database/sql never uses Exec() or Query() if the *Context() variants are
implemented. These can safely be removed outright.

Similarly, conn.Prepare(), conn.Begin(), stmt.Exec(), and stmt.Query()
are also never called if the context variants are implemented, but we
need to keep them around to satisfy driver.Conn and driver.Stmt. Make
them panic to ensure it's not accidentally called from pq code or tests.

This shouldn't change any behaviour
@arp242 arp242 merged commit 76df97d into master Apr 8, 2026
14 checks passed
@arp242 arp242 deleted the ctx branch April 8, 2026 23:12
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