diff options
author | unknown <heikki@hundin.mysql.fi> | 2004-12-31 15:05:41 +0200 |
---|---|---|
committer | unknown <heikki@hundin.mysql.fi> | 2004-12-31 15:05:41 +0200 |
commit | cd47cb56fd76a47def597e7b486b89c65a65481d (patch) | |
tree | 997940f55b675e9a6ab279f4187f6d61a233810e /innobase | |
parent | 0428fcb89ea71ef397b26c65e11ef77097a3a83f (diff) | |
download | mariadb-git-cd47cb56fd76a47def597e7b486b89c65a65481d.tar.gz |
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
Diffstat (limited to 'innobase')
-rw-r--r-- | innobase/row/row0upd.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/innobase/row/row0upd.c b/innobase/row/row0upd.c index a449b9f1736..9192f6dc692 100644 --- a/innobase/row/row0upd.c +++ b/innobase/row/row0upd.c @@ -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); |