diff options
author | unknown <tsmith@siva.hindu.god> | 2007-01-21 18:18:11 -0700 |
---|---|---|
committer | unknown <tsmith@siva.hindu.god> | 2007-01-21 18:18:11 -0700 |
commit | 8ca715509e7b49c2d254efc302ac31ac6f17fb12 (patch) | |
tree | fa68e52814a68d09930b97b2ae726971eeb09072 /mysql-test/r/innodb.result | |
parent | aa780b882b7ae7a3abb0a595125d8e50be4a9459 (diff) | |
download | mariadb-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 'mysql-test/r/innodb.result')
-rw-r--r-- | mysql-test/r/innodb.result | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/mysql-test/r/innodb.result b/mysql-test/r/innodb.result index e7fa950a131..4a24231e0a6 100644 --- a/mysql-test/r/innodb.result +++ b/mysql-test/r/innodb.result @@ -3456,3 +3456,20 @@ OPTIMIZE TABLE t1; Table Op Msg_type Msg_text test.t1 optimize status OK DROP TABLE t1; +CREATE TABLE t1 (id int PRIMARY KEY, f int NOT NULL, INDEX(f)) ENGINE=InnoDB; +CREATE TABLE t2 (id int PRIMARY KEY, f INT NOT NULL, +CONSTRAINT t2_t1 FOREIGN KEY (id) REFERENCES t1 (id) +ON DELETE CASCADE ON UPDATE CASCADE) ENGINE=InnoDB; +ALTER TABLE t2 ADD FOREIGN KEY (f) REFERENCES t1 (f) ON +DELETE CASCADE ON UPDATE CASCADE; +SHOW CREATE TABLE t2; +Table Create Table +t2 CREATE TABLE `t2` ( + `id` int(11) NOT NULL, + `f` int(11) NOT NULL, + PRIMARY KEY (`id`), + KEY `f` (`f`), + CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`f`) REFERENCES `t1` (`f`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `t2_t1` FOREIGN KEY (`id`) REFERENCES `t1` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +DROP TABLE t2, t1; |