def init_unbuffered_query(self):
        """
        :raise OperationalError: If the connection to the MySQL server is lost.
        :raise InternalError:
        """
        first_packet = self.connection._read_packet()

        if first_packet.is_ok_packet():
            self.connection = None
            self._read_ok_packet(first_packet)
        elif first_packet.is_load_local_packet():
            try:
                self._read_load_local_packet(first_packet)
            finally:
                self.connection = None
        else:
            self.field_count = first_packet.read_length_encoded_integer()
            self._get_descriptions()

            # Apparently, MySQLdb picks this number because it's the maximum
            # value of a 64bit unsigned integer. Since we're emulating MySQLdb,
            # we set it to this instead of None, which would be preferred.
            self.affected_rows = 18446744073709551615
            self.unbuffered_active = True

        :raise OperationalError: If the connection to the MySQL server is lost.
        :raise InternalError:
        
pymysql/connections.py