def _get_cursor_fields(self, as_dict=False, native_type=True, cursor_desc=None):
    'Get fields of active Select cursor'
    fields = OrderedDict()
    cursor_desc = (cursor_desc if cursor_desc else self._cursor_description)
    if (cursor_desc == None):
        return []
    for f in cursor_desc:
        f_name = f[0].lower()
        if as_dict:
            if native_type:
                f_type = f[1]
            else:
                f_type = self.reverse_data_map[f[1]]
                if ('cx_Oracle.NUMBER' in str(f[1])):
                    if (f[4] and (f[4] > 11)):
                        f_type = 'long'
                    if (f[5] and (f[5] > 0)):
                        f_type = 'double'
            fields[f_name] = f_type
        else:
            fields[f_name] = None
    if as_dict:
        return fields
    else:
        return list(fields.keys())
Get fields of active Select cursor
def _get_cursor_fields(self, as_dict=False, native_type=True, cursor_desc=None):
    
    fields = OrderedDict()
    cursor_desc = (cursor_desc if cursor_desc else self._cursor_description)
    if (cursor_desc == None):
        return []
    for f in cursor_desc:
        f_name = f[0].lower()
        if as_dict:
            if native_type:
                f_type = f[1]
            else:
                f_type = self.reverse_data_map[f[1]]
                if ('cx_Oracle.NUMBER' in str(f[1])):
                    if (f[4] and (f[4] > 11)):
                        f_type = 'long'
                    if (f[5] and (f[5] > 0)):
                        f_type = 'double'
            fields[f_name] = f_type
        else:
            fields[f_name] = None
    if as_dict:
        return fields
    else:
        return list(fields.keys())