code: def commit_transaction(self):
          
          self._assert_open()
          if not self._transaction:
              raise TransactionError("No transaction to commit")
          metadata = {}
          try:
              self._connection.commit(on_success=metadata.update)
          finally:
              self._disconnect(sync=True)
              self._transaction = None
          bookmark = metadata.get("bookmark")
          self._bookmarks_in = tuple([bookmark])
          self._bookmark_out = bookmark
          return bookmark
docs: Commit the current transaction.
  
          :returns: the bookmark returned from the server, if any
          :raise: :class:`.TransactionError` if no transaction is currently open