code: def cursor(self, server_side=False):
      # aioodbc sets connection=None when closed and just fails with
      # AttributeError here.  Here we use the same ProgrammingError +
      # message that pyodbc uses, so it triggers is_disconnect() as well.
      if self._connection.closed:
          raise self.dbapi.ProgrammingError(
              "Attempt to use a closed connection."
          )
      return super().cursor(server_side=server_side)
  
imports: from __future__ import annotations
  from typing import TYPE_CHECKING
  from .asyncio import AsyncAdapt_dbapi_connection
  from .asyncio import AsyncAdapt_dbapi_cursor
  from .asyncio import AsyncAdapt_dbapi_ss_cursor
  from .pyodbc import PyODBCConnector
  from ..util.concurrency import await_
label_desc: Use image node_id 6 for calling the AsyncAdapt_aioodbc_connection obj's underlying member method code with example usage: obj.cursor(server_side) and returns: super