docs: def runInteraction(self, interaction, *args, **kwargs):
          """
          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>
          """
          try:
              return self._connectionPool.runInteraction(
                  interaction,
                  *args,
                  **kwargs
              )
          except:
              d = defer.Deferred()
              d.errback()
              return d