Commit 2dfa4555 authored by heikki@donna.mysql.fi's avatar heikki@donna.mysql.fi
Browse files

row0ins.c:

  Allow equal key values in a unique secondary index if the key value contains an SQL NULL
parent c3a881a6
Loading
Loading
Loading
Loading
+17 −2
Original line number Diff line number Diff line
@@ -319,6 +319,7 @@ row_ins_dupl_error_with_rec(
	ulint	matched_fields;
	ulint	matched_bytes;
	ulint	n_unique;
	ulint   i;
	
	n_unique = dict_index_get_n_unique(index);

@@ -332,6 +333,20 @@ row_ins_dupl_error_with_rec(
	        return(FALSE);
	}

	/* In a unique secondary index we allow equal key values if they
	contain SQL NULLs */

	if (!(index->type & DICT_CLUSTERED)) {

	        for (i = 0; i < n_unique; i++) {
	                if (UNIV_SQL_NULL == dfield_get_len(
                                         dtuple_get_nth_field(entry, i))) {

	                        return(FALSE);
	                }
	        }
	}

	if (!rec_get_deleted_flag(rec)) {

	        return(TRUE);