> all listeners would have a chance to release resources. They could pick re-enlist the resources when the command is resumed.
The only reason that Teiid should hold a connection with a given plan would be if there are still results to be read. If there is a scenario where connections are being held beyond when the last result has been read and it's a non-lob results that is not marked as keep alive, then that's something that should be addressed via an issue. Otherwise there's not really any action you could expect your listeners to take - for example releasing a database connection would likely close outstanding resultsets. Perhaps what you are looking is an asynch translator that does not explicitly use a pooled resource.
Oh, you're right. I was thinking of a scenario involving two executions where the first throws DNA and the second would be suspended with an open connection. That can't happen except for LOBs as you've mentioned.