def runInteraction(self, interaction, *args, **kwargs):
try:<EOL><INDENT>return self._connectionPool.runInteraction(<EOL>interaction,<EOL>*args,<EOL>**kwargs<EOL>)<EOL><DEDENT>except:<EOL><INDENT>d = defer.Deferred()<EOL>d.errback()<EOL>return d<EOL><DEDENT>
Interact with the database and return the result.

:param interaction: <function> method with first argument is a <adbapi.Transaction> instance
:param args: additional positional arguments to be passed to interaction
:param kwargs: keyword arguments to be passed to interaction
:return: <defer>