-
unknown authored
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.
8ca71550