diff options
author | unknown <heikki@hundin.mysql.fi> | 2002-12-22 01:54:29 +0200 |
---|---|---|
committer | unknown <heikki@hundin.mysql.fi> | 2002-12-22 01:54:29 +0200 |
commit | b69d8f4a6f4a78f1ee61936ec440fa8ebb111319 (patch) | |
tree | 120402316f5b15cb879b72bdb1c4cf59c8d932cb /innobase/row/row0sel.c | |
parent | 62c7449a5594972f5e940bfdf8785a70f82af82c (diff) | |
download | mariadb-git-b69d8f4a6f4a78f1ee61936ec440fa8ebb111319.tar.gz |
Many files:
Merge InnoDB-4.0.7. Support for ON UPDATE CASCADE
sql_select.cc:
Remove superfluous prints to .err log when a locking SELECT fails to a deadlock or a lock wait timeout
sql/sql_select.cc:
Remove superfluous prints to .err log when a locking SELECT fails to a deadlock or a lock wait timeout
innobase/btr/btr0sea.c:
Merge InnoDB-4.0.7. Support for ON UPDATE CASCADE
innobase/dict/dict0dict.c:
Merge InnoDB-4.0.7. Support for ON UPDATE CASCADE
innobase/fsp/fsp0fsp.c:
Merge InnoDB-4.0.7. Support for ON UPDATE CASCADE
innobase/ibuf/ibuf0ibuf.c:
Merge InnoDB-4.0.7. Support for ON UPDATE CASCADE
innobase/include/buf0buf.h:
Merge InnoDB-4.0.7. Support for ON UPDATE CASCADE
innobase/include/db0err.h:
Merge InnoDB-4.0.7. Support for ON UPDATE CASCADE
innobase/include/dict0mem.h:
Merge InnoDB-4.0.7. Support for ON UPDATE CASCADE
innobase/include/mem0mem.h:
Merge InnoDB-4.0.7. Support for ON UPDATE CASCADE
innobase/include/row0mysql.h:
Merge InnoDB-4.0.7. Support for ON UPDATE CASCADE
innobase/include/row0upd.h:
Merge InnoDB-4.0.7. Support for ON UPDATE CASCADE
innobase/include/mem0mem.ic:
Merge InnoDB-4.0.7. Support for ON UPDATE CASCADE
innobase/mem/mem0pool.c:
Merge InnoDB-4.0.7. Support for ON UPDATE CASCADE
innobase/row/row0ins.c:
Merge InnoDB-4.0.7. Support for ON UPDATE CASCADE
innobase/row/row0mysql.c:
Merge InnoDB-4.0.7. Support for ON UPDATE CASCADE
innobase/row/row0sel.c:
Merge InnoDB-4.0.7. Support for ON UPDATE CASCADE
innobase/row/row0upd.c:
Merge InnoDB-4.0.7. Support for ON UPDATE CASCADE
innobase/srv/srv0start.c:
Merge InnoDB-4.0.7. Support for ON UPDATE CASCADE
innobase/ut/ut0ut.c:
Merge InnoDB-4.0.7. Support for ON UPDATE CASCADE
Diffstat (limited to 'innobase/row/row0sel.c')
-rw-r--r-- | innobase/row/row0sel.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/innobase/row/row0sel.c b/innobase/row/row0sel.c index a3744089258..ea5b3020c08 100644 --- a/innobase/row/row0sel.c +++ b/innobase/row/row0sel.c @@ -2415,6 +2415,7 @@ row_sel_push_cache_row_for_mysql( row_prebuilt_t* prebuilt, /* in: prebuilt struct */ rec_t* rec) /* in: record to push */ { + byte* buf; ulint i; ut_ad(prebuilt->n_fetch_cached < MYSQL_FETCH_CACHE_SIZE); @@ -2424,8 +2425,18 @@ row_sel_push_cache_row_for_mysql( /* Allocate memory for the fetch cache */ for (i = 0; i < MYSQL_FETCH_CACHE_SIZE; i++) { - prebuilt->fetch_cache[i] = mem_alloc( - prebuilt->mysql_row_len); + + /* A user has reported memory corruption in these + buffers in Linux. Put magic numbers there to help + to track a possible bug. */ + + buf = mem_alloc(prebuilt->mysql_row_len + 8); + + prebuilt->fetch_cache[i] = buf + 4; + + mach_write_to_4(buf, ROW_PREBUILT_FETCH_MAGIC_N); + mach_write_to_4(buf + 4 + prebuilt->mysql_row_len, + ROW_PREBUILT_FETCH_MAGIC_N); } } @@ -2437,7 +2448,7 @@ row_sel_push_cache_row_for_mysql( prebuilt->n_fetch_cached++; } - + /************************************************************************* Tries to do a shortcut to fetch a clustered index record with a unique key, using the hash index if possible (not always). We assume that the search |