3266 Vasil Dimov 2010-10-26 [merge]
Merge mysql-next-mr-innodb from bk-internal to my local repo
modified:
mysql-test/suite/innodb/r/innodb_monitor.result
storage/innobase/dict/dict0dict.c
storage/innobase/handler/ha_innodb.cc
storage/innobase/handler/ha_innodb.h
storage/innobase/include/dict0dict.h
storage/innobase/include/dict0dict.ic
storage/innobase/include/ha_prototypes.h
storage/innobase/include/row0mysql.h
storage/innobase/include/sync0sync.h
storage/innobase/row/row0mysql.c
storage/innobase/row/row0sel.c
storage/innobase/srv/srv0mon.c
storage/innobase/srv/srv0srv.c
storage/innobase/srv/srv0start.c
=== modified file 'storage/innobase/dict/dict0stats.c'
--- a/storage/innobase/dict/dict0stats.c revid:marko.makela@stripped
+++ b/storage/innobase/dict/dict0stats.c revid:vasil.dimov@stripped
@@ -966,13 +966,13 @@ dict_stats_analyze_index_for_n_prefix(
}
last_idx_on_level = *(ib_uint64_t*) dyn_array_get_element(boundaries,
- (n_diff_for_this_prefix - 1) * sizeof(ib_uint64_t));
+ (ulint) ((n_diff_for_this_prefix - 1) * sizeof(ib_uint64_t)));
rec_idx = 0;
n_diff_sum_of_all_analyzed_pages = 0;
- n_recs_to_dive_below = ut_min(srv_stats_persistent_sample_pages,
+ n_recs_to_dive_below = UT_MIN(srv_stats_persistent_sample_pages,
n_diff_for_this_prefix);
for (i = 0; i < n_recs_to_dive_below; i++) {
@@ -1019,10 +1019,11 @@ dict_stats_analyze_index_for_n_prefix(
/* we do not pass (left, right) because we do not want to ask
ut_rnd_interval() to work with too big numbers since
ib_uint64_t could be bigger than ulint */
- rnd = ut_rnd_interval(0, right - left);
+ rnd = ut_rnd_interval(0, (ulint) (right - left));
dive_below_idx = *(ib_uint64_t*) dyn_array_get_element(
- boundaries, (left + rnd) * sizeof(ib_uint64_t));
+ boundaries, (ulint) ((left + rnd)
+ * sizeof(ib_uint64_t)));
#if 0
DEBUG_PRINTF(" %s(): dive below rec_idx=%llu\n",
@@ -1905,10 +1906,10 @@ dict_stats_fetch_index_stats_step(
#define PFX "n_diff_pfx"
if (strncasecmp("size", stat_name, stat_name_len) == 0) {
- index->stat_index_size = stat_value;
+ index->stat_index_size = (ulint) stat_value;
} else if (strncasecmp("n_leaf_pages", stat_name, stat_name_len)
== 0) {
- index->stat_n_leaf_pages = stat_value;
+ index->stat_n_leaf_pages = (ulint) stat_value;
} else if (strncasecmp(PFX, stat_name,
ut_min(strlen(PFX), stat_name_len)) == 0) {
=== modified file 'storage/innobase/include/ut0ut.h'
--- a/storage/innobase/include/ut0ut.h revid:marko.makela@stripped
+++ b/storage/innobase/include/ut0ut.h revid:vasil.dimov@stripped
@@ -94,6 +94,10 @@ do { \
} while (0)
#endif /* !UNIV_HOTBACKUP */
+/* beware of possible side effects like UT_MIN(x, y++); */
+#define UT_MIN(a, b) ((a) < (b) ? (a) : (b))
+#define UT_MAX(a, b) ((a) > (b) ? (a) : (b))
+
/********************************************************//**
Gets the high 32 bits in a ulint. That is makes a shift >> 32,
but since there seem to be compiler bugs in both gcc and Visual C++,
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-next-mr-innodb branch (vasil.dimov:3266) | vasil.dimov | 26 Oct |