Commit cd47cb56 authored by unknown's avatar unknown
Browse files

row0upd.c:

  Fix a little bug in InnoDB: we looked at the physical size of a stored SQL NULL value from a wrong field in the index; this has probably caused no bugs visible to the user, only caused some extra space usage in some rare cases; we may later backport the fix to 4.0


innobase/row/row0upd.c:
  Fix a little bug in InnoDB: we looked at the physical size of a stored SQL NULL value from a wrong field in the index; this has probably caused no bugs visible to the user, only caused some extra space usage in some rare cases; we may later backport the fix to 4.0
parent 0428fcb8
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -381,8 +381,14 @@ row_upd_changes_field_size_or_external(
		new_len = new_val->len;

		if (new_len == UNIV_SQL_NULL) {
			/* A bug fixed on Dec 31st, 2004: we looked at the
			SQL NULL size from the wrong field! We may backport
			this fix also to 4.0. The merge to 5.0 will be made
			manually immediately after we commit this to 4.1. */

			new_len = dtype_get_sql_null_size(
					dict_index_get_nth_type(index, i));
					dict_index_get_nth_type(index,
						upd_field->field_no));
		}

		old_len = rec_get_nth_field_size(rec, upd_field->field_no);