- postgresql: send no-arg queries without prepare step (?) - add under-the-hood doc section (eg, debugging, adjusting statement cache) - 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