As an addition to this thread, I just wanted to add that having each
DBD implement their own event loop (via select() or otherwise) is not
acceptable. Anyone who has done event driven programming will
understand the mantra: There can be only one. Only one event loop that
is. If you implement an event loop in your DBD then you BLOCK my event
loop, which I cannot allow to happen. I don't believe that perl threads
are stable/fast enough to fix this problem in a very large scale
program.
The API *has* to be something that can integrate with other event
loops. My suggestion for the only thing scalable enough for this is a
file descriptor which can be notified of readiness.
Matt.