
- fix connection-pool for nested tx, fix race condition - ensure connected? always nonblocking - added and reorganized some doc sections - added grouping, contracts to in-query - added rows->dict
37 lines
1.4 KiB
Plaintext
37 lines
1.4 KiB
Plaintext
|
|
- type annotations
|
|
- two modes: mandatory and opportunistic
|
|
- on result fields (eg sqlite, convert to date)
|
|
- on parameters ???
|
|
- per query or per connection? (or both?)
|
|
- either only well-known conversions, or must apply outside of lock
|
|
|
|
- postgresql record type: docs, send
|
|
- postgresql domain types, table record types, etc
|
|
|
|
- for wrapped/managed connections, detect if underlying connection gets
|
|
disconnected by server (eg, times out after 10 minutes of inactivity)
|
|
- at least, pool should make sure connection is alive when gotten from idle list
|
|
- add {keepalive : -> boolean} method to connection<%> (?)
|
|
|
|
- disconnect on custudian shutdown (?)
|
|
|
|
- disconnect should always work, even on thread-damaged connections
|
|
- but might need version with timeout and/or rudely? flag, because
|
|
I can't think of a way to solve the lock problem that doesn't involve aux thread.
|
|
|
|
- add recursive locking?
|
|
- cons: - considered by experts to be bad design, sloppy
|
|
- pros: - would simplify cleanup for one-shot pstmts
|
|
- would enable simple impl of user-level 'call-with-lock' for grouping
|
|
multiple operations together
|
|
(but this could also be done by two locks: outer "ownership" lock
|
|
and inner "invariant-protecting" lock)
|
|
|
|
- make implementation notes section of docs
|
|
- explain nested tx impl
|
|
|
|
- invalidate statement cache on query error
|
|
|
|
- 2 call-with-transactions from separate threads can conflict
|