diff options
author | heikki@hundin.mysql.fi <> | 2003-07-22 10:14:43 +0300 |
---|---|---|
committer | heikki@hundin.mysql.fi <> | 2003-07-22 10:14:43 +0300 |
commit | 3711f4e9858804f6a952da951df7724e4f13684b (patch) | |
tree | 473c24d0fa4475e81ead8ae57c956ecd1a64f021 /innobase/btr | |
parent | 52706fd316b1ae249b190f95d08de192d442dd3c (diff) | |
download | mariadb-git-3711f4e9858804f6a952da951df7724e4f13684b.tar.gz |
btr0cur.c:
Fix bug: if there was a 'record too long' error in an insert, InnoDB forgot to free reserved file space extents; they were only freed in mysqld restart
Diffstat (limited to 'innobase/btr')
-rw-r--r-- | innobase/btr/btr0cur.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/innobase/btr/btr0cur.c b/innobase/btr/btr0cur.c index 8c9c84b103d..29a8fd44b9e 100644 --- a/innobase/btr/btr0cur.c +++ b/innobase/btr/btr0cur.c @@ -1107,6 +1107,10 @@ btr_cur_pessimistic_insert( if (big_rec_vec == NULL) { + if (n_extents > 0) { + fil_space_release_free_extents(index->space, + n_extents); + } return(DB_TOO_BIG_RECORD); } } |