3873 Marko Mäkelä 2012-05-27
Non-functional changes.
Rename row_log_struct to row_log_t. Remove an unnecessary cast.
modified:
storage/innobase/include/row0types.h
storage/innobase/row/row0ftsort.cc
storage/innobase/row/row0log.cc
3872 Marko Mäkelä 2012-05-27
WL#6255 preparation: Suspend the purge if it would free BLOBs.
We cannot free BLOBs during online table rebuild, because we do not write
the BLOBs to the online log. Online log apply assumes that the BLOBs are
accessible.
row_purge_upd_exist_or_extern_func(), row_purge_record_func(): Return true
if the record was purged, false if it would free BLOBs of a table that is
being rebuilt online.
row_purge(): If a record is not purgeable, retry in 1 second, until the
server is shut down is initiated. TODO: move the record aside, and continue
with the rest of the purge.
modified:
storage/innobase/row/row0purge.cc
=== modified file 'storage/innobase/include/row0types.h'
--- a/storage/innobase/include/row0types.h revid:marko.makela@strippedom-20120527183455-j3zl7r0ial7860bu
+++ b/storage/innobase/include/row0types.h revid:marko.makela@stripped27201004-wm4xl4zhgmczvbac
@@ -1,6 +1,6 @@
/*****************************************************************************
-Copyright (c) 1996, 2010, Oracle and/or its affiliates. All Rights Reserved.
+Copyright (c) 1996, 2012, Oracle and/or its affiliates. All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -68,7 +68,7 @@ enum row_op {
};
/** Buffer for logging modifications during online index creation */
-typedef struct row_log_struct row_log_t;
+struct row_log_t;
/* MySQL data types */
struct TABLE;
=== modified file 'storage/innobase/row/row0ftsort.cc'
--- a/storage/innobase/row/row0ftsort.cc revid:marko.makela@stripped0ial7860bu
+++ b/storage/innobase/row/row0ftsort.cc revid:marko.makela@stripped
@@ -757,8 +757,7 @@ exit:
if (t_ctx.rows_added[i]) {
row_merge_buf_sort(buf[i], NULL);
row_merge_buf_write(
- buf[i], (const merge_file_t*) merge_file[i],
- block[i]);
+ buf[i], merge_file[i], block[i]);
row_merge_write(merge_file[i]->fd,
merge_file[i]->offset++, block[i]);
=== modified file 'storage/innobase/row/row0log.cc'
--- a/storage/innobase/row/row0log.cc revid:marko.makela@stripped0bu
+++ b/storage/innobase/row/row0log.cc revid:marko.makela@stripped
@@ -63,7 +63,7 @@ row_log_online_op() to this buffer.
When head.blocks == tail.blocks, the reader will access tail.block
directly. When also head.bytes == tail.bytes, both counts will be
reset to 0 and the file will be truncated. */
-struct row_log_struct {
+struct row_log_t {
int fd; /*!< file descriptor */
mutex_t mutex; /*!< mutex protecting max_trx and tail */
trx_id_t max_trx;/*!< biggest observed trx_id in
No bundle (reason: useless for push emails).| Thread |
|---|
| • bzr push into mysql-trunk-wl6255 branch (marko.makela:3872 to 3873) | marko.makela | 28 May |