def row_to_dict(field_names, data, null_to_empty_string=False):
    """
    Converts a tuple result of a cx_Oracle cursor execution to a dict, with the keys being the column names
    :param field_names:          The names of the columns in the result set       (list)
    :param data:                 The data in this row                             (tup)
    :param null_to_empty_string: Whether or not to convert nulls to empty strings (bool)
    :return:                     A row of results                                 (dict)
    """
    clean_data = (
        ["" if val is None else val for val in data] if null_to_empty_string else data
    )
    return dict(zip(field_names, clean_data))