mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 21:12:26 +01:00
c807724f36
Ensure that ccache is also used for C programs mysql: Ensure that 'delimiter' works the same way in batch mode as in normal mode mysqldump: Change to use ;; (instead of //) as a stored procedure/trigger delimiter Fixed test cases by adding missing DROP's and rename views to be of type 'v#' Removed MY_UNIX_PATH from fn_format() Removed current_db_used from TABLE_LIST Removed usage of 'current_thd' in Item_splocal Removed some compiler warnings A bit faster longlong2str code BUILD/FINISH.sh: Ensure that ccache is also used for C programs BUILD/SETUP.sh: Ensure that ccache is also used for C programs client/mysql.cc: More debugging Ensure that 'delimiter' works the same way in batch mode as in normal mode. Compare 'delimiter' command case-insensitive. The above fixes the delimiter bugs so that we can now use ;; as a trigger/SP function delimiter in mysqldump. client/mysqldump.c: Indentation fixes Use ;; as a delmimiter for stored procedures and triggers instead of // client/mysqltest.c: Indentation fixes include/my_sys.h: Remove not needed MY_UNIX_PATH parameter mysql-test/r/alter_table.result: Better to reuse mysqltest database (test didn't properly delete mysqltest1 at start) mysql-test/r/func_str.result: More testing of CONV() (to ensure that longlong2str() works correctly) mysql-test/r/information_schema.result: Drop all used tables and views Rename view tables to 'v#' to ensure that if this test fails, not a lot of other test fails mysql-test/r/information_schema_inno.result: Drop all used tables mysql-test/r/multi_statement.result: Drop used tables mysql-test/r/mysql.result: Add error messages to result mysql-test/r/mysqldump.result: ;; is now used as SP/trigger delimiter mysql-test/r/mysqlshow.result: Drop used tables mysql-test/r/temp_table.result: Drop used views Rename views to v# mysql-test/t/alter_table.test: Better to reuse mysqltest database (test didn't properly delete mysqltest1 at start) mysql-test/t/func_str.test: More testing of CONV() (to ensure that longlong2str() works correctly) mysql-test/t/information_schema.test: Drop all used tables and views Rename view tables to 'v#' to ensure that if this test fails, not a lot of other test fails mysql-test/t/information_schema_inno.test: Drop all used tables mysql-test/t/multi_statement.test: Drop used tables mysql-test/t/mysql.test: Add error messages to result mysql-test/t/mysqlshow.test: Drop used tables mysql-test/t/temp_table.test: Drop used views Rename views to v# mysys/mf_format.c: Remove not needed MY_UNIX_PATH parameter (This goes against how fn_format() is supposed to work and also conflicts with other options like MY_RETURN_REAL_PATH) sql/ha_federated.cc: Removed extra empty line sql/item.cc: Use 'str_value' instead of 'str_value_ptr' to hold result for Item_splocal Remove some calls to 'thd' in Item_splocal by making 'thd' a class variable One doesn't have to set 'null_value' when calling 'is_null()' sql/item.h: Add THD as a class variable to Item_splocal Use 'str_value' instead of 'str_value_ptr' to hold temp result Fixed bug in Item_hex when used in CAST() sql/item_func.cc: Optimize new code sql/log_event.cc: Move 'to_unix_path()' out of fn_format() sql/opt_range.cc: Simplify code sql/sp_head.cc: Ensure that Item_splocal has thd set before we call '->this_item()' sql/sql_class.cc: Return error if Statement::insert() fails in either hash_insert() sql/sql_parse.cc: Remove 'current_db_used' as we can trivially check if db table qualifier was used without this. Simplify code sql/sql_prepare.cc: Use enum instead of const int, to avoid ugly code for VC++ sql/structs.h: Remove compiler warnings when using STRING_WITH_LEN() with constant strings. sql/table.cc: Fixed indentation sql/table.h: Remove not needed current_db_used strings/decimal.c: Simplify code strings/longlong2str-x86.s: A bit faster longlong2str. (Took some ideas from Peter Gulutzan's code) strings/my_strtoll10.c: Simplify code for MetroWerks compiler
27 lines
1.5 KiB
Text
27 lines
1.5 KiB
Text
DROP TABLE IF EXISTS t1,t2,t3;
|
|
CREATE TABLE t1 (id INT NOT NULL, PRIMARY KEY (id)) ENGINE=INNODB;
|
|
CREATE TABLE t2 (id INT PRIMARY KEY, t1_id INT, INDEX par_ind (t1_id, id),
|
|
FOREIGN KEY (t1_id) REFERENCES t1(id) ON DELETE CASCADE,
|
|
FOREIGN KEY (t1_id) REFERENCES t1(id) ON UPDATE CASCADE) ENGINE=INNODB;
|
|
CREATE TABLE t3 (id INT PRIMARY KEY, t2_id INT, INDEX par_ind (t2_id),
|
|
FOREIGN KEY (id, t2_id) REFERENCES t2(t1_id, id) ON DELETE CASCADE) ENGINE=INNODB;
|
|
select * from information_schema.TABLE_CONSTRAINTS where
|
|
TABLE_SCHEMA= "test";
|
|
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE
|
|
NULL test PRIMARY test t1 PRIMARY KEY
|
|
NULL test PRIMARY test t2 PRIMARY KEY
|
|
NULL test t2_ibfk_1 test t2 FOREIGN KEY
|
|
NULL test t2_ibfk_2 test t2 FOREIGN KEY
|
|
NULL test PRIMARY test t3 PRIMARY KEY
|
|
NULL test t3_ibfk_1 test t3 FOREIGN KEY
|
|
select * from information_schema.KEY_COLUMN_USAGE where
|
|
TABLE_SCHEMA= "test";
|
|
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION POSITION_IN_UNIQUE_CONSTRAINT REFERENCED_TABLE_SCHEMA REFERENCED_TABLE_NAME REFERENCED_COLUMN_NAME
|
|
NULL test PRIMARY NULL test t1 id 1 NULL NULL NULL NULL
|
|
NULL test PRIMARY NULL test t2 id 1 NULL NULL NULL NULL
|
|
NULL test t2_ibfk_1 NULL test t2 t1_id 1 1 test t1 id
|
|
NULL test t2_ibfk_2 NULL test t2 t1_id 1 1 test t1 id
|
|
NULL test PRIMARY NULL test t3 id 1 NULL NULL NULL NULL
|
|
NULL test t3_ibfk_1 NULL test t3 id 1 1 test t2 t1_id
|
|
NULL test t3_ibfk_1 NULL test t3 t2_id 2 2 test t2 id
|
|
drop table t3, t2, t1;
|