summaryrefslogtreecommitdiff
path: root/innobase
diff options
context:
space:
mode:
authorheikki@hundin.mysql.fi <>2003-07-22 10:14:43 +0300
committerheikki@hundin.mysql.fi <>2003-07-22 10:14:43 +0300
commit3711f4e9858804f6a952da951df7724e4f13684b (patch)
tree473c24d0fa4475e81ead8ae57c956ecd1a64f021 /innobase
parent52706fd316b1ae249b190f95d08de192d442dd3c (diff)
downloadmariadb-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')
-rw-r--r--innobase/btr/btr0cur.c4
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);
}
}