summaryrefslogtreecommitdiff
path: root/storage/innobase/include/ut0ut.h
diff options
context:
space:
mode:
authorunknown <tsmith@siva.hindu.god>2007-01-21 18:18:11 -0700
committerunknown <tsmith@siva.hindu.god>2007-01-21 18:18:11 -0700
commit8ca715509e7b49c2d254efc302ac31ac6f17fb12 (patch)
treefa68e52814a68d09930b97b2ae726971eeb09072 /storage/innobase/include/ut0ut.h
parentaa780b882b7ae7a3abb0a595125d8e50be4a9459 (diff)
downloadmariadb-git-8ca715509e7b49c2d254efc302ac31ac6f17fb12.tar.gz
Applied innodb-5.1-ss1186
Fixes bugs: - Bug #20877: InnoDB data dictionary memory footprint is too big - Bug #24741: existing cascade clauses disappear when adding foreign keys mysql-test/r/innodb.result: Applied innodb-5.1-ss1186 Revision r1186: dict_load_foreign(): Use a local variable instead of the 10-bit field foreign->n_fields in order to preserve ON UPDATE CASCADE and ON DELETE CASCADE flags. For some reason, gcc does not warn about shifting a 10-bit field to right by 24 bits. (Bug #24741) This bug was introduced while reducing the memory footprint of the InnoDB data dictionary (Bug #20877). innodb.test, innodb.result: Add a test case. mysql-test/t/innodb.test: Applied innodb-5.1-ss1186 Revision r1186: dict_load_foreign(): Use a local variable instead of the 10-bit field foreign->n_fields in order to preserve ON UPDATE CASCADE and ON DELETE CASCADE flags. For some reason, gcc does not warn about shifting a 10-bit field to right by 24 bits. (Bug #24741) This bug was introduced while reducing the memory footprint of the InnoDB data dictionary (Bug #20877). innodb.test, innodb.result: Add a test case. storage/innobase/buf/buf0flu.c: Applied innodb-5.1-ss1186 Revision r1168: buf_flush_batch(): Remove the test page_count != ULINT_UNDEFINED. The variable is initialized to zero, and after that it is only added to. Maybe the one who introduced the variable srv_buf_pool_flushed overlooked that there is a separate return statement for returning ULINT_UNDEFINED? storage/innobase/dict/dict0load.c: Applied innodb-5.1-ss1186 Revision r1186: dict_load_foreign(): Use a local variable instead of the 10-bit field foreign->n_fields in order to preserve ON UPDATE CASCADE and ON DELETE CASCADE flags. For some reason, gcc does not warn about shifting a 10-bit field to right by 24 bits. (Bug #24741) This bug was introduced while reducing the memory footprint of the InnoDB data dictionary (Bug #20877). innodb.test, innodb.result: Add a test case. storage/innobase/include/ut0ut.h: Applied innodb-5.1-ss1186 Revision r1165: ut_2_power_up(): Add __attribute__((const)), because otherwise this function is repeatedly called in buf_flush_free_margin() due to the definitions of BUF_READ_AHEAD_AREA and other macros starting with BUF_READ_AHEAD_. storage/innobase/que/que0que.c: Applied innodb-5.1-ss1186 Revision r1158: Modify que_fork_start_command() to do only one pass over the thread list instead of three.
Diffstat (limited to 'storage/innobase/include/ut0ut.h')
-rw-r--r--storage/innobase/include/ut0ut.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/storage/innobase/include/ut0ut.h b/storage/innobase/include/ut0ut.h
index b4e9fa91491..8bfc1edd323 100644
--- a/storage/innobase/include/ut0ut.h
+++ b/storage/innobase/include/ut0ut.h
@@ -119,7 +119,8 @@ ulint
ut_2_power_up(
/*==========*/
/* out: first power of 2 which is >= n */
- ulint n); /* in: number != 0 */
+ ulint n) /* in: number != 0 */
+ __attribute__((const));
/****************************************************************
Sort function for ulint arrays. */