From e7a6e86f78998e35e1912f377006a35db3705246 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Fri, 17 Oct 2008 13:55:16 +0300 Subject: Bug #38637: COUNT DISTINCT prevents NULL testing in HAVING clause IS NULL was not checking the correct row in a HAVING context. At the first row of a new group (where the HAVING clause is evaluated) the column and SELECT list references in the HAVING clause should refer to the last row of the previous group and not to the current one. This was not done for IS NULL, because it was using Item::is_null() doesn't have a Item_is_null_result() counterpart to access the data from the last row of the previous group. Note that all the Item::val_xxx() functions (e.g. Item::val_int()) have their _result counterparts (e.g. Item::val_int_result()). Fixed by implementing a is_null_result() (similarly to int_result()) and calling this instead of is_null() column and SELECT list references inside the HAVING clause. mysql-test/r/having.result: Bug #38637: test case mysql-test/t/having.test: Bug #38637: test case sql/item.cc: Bug #38637: implement Item::is_null_result() and call it from Item_ref and Item_field as appropriate. sql/item.h: Bug #38637: implement Item::is_null_result() and call it from Item_ref and Item_field as appropriate. sql/item_func.cc: Bug #38637: implement Item::is_null_result() and call it from Item_ref and Item_field as appropriate. sql/item_func.h: Bug #38637: implement Item::is_null_result() and call it from Item_ref and Item_field as appropriate. --- mysql-test/r/having.result | 7 +++++++ mysql-test/t/having.test | 11 +++++++++++ sql/item.cc | 19 ++++++++++++++++++- sql/item.h | 3 +++ sql/item_func.cc | 9 +++++++++ sql/item_func.h | 1 + 6 files changed, 49 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/having.result b/mysql-test/r/having.result index f113304c767..bc8596100f8 100644 --- a/mysql-test/r/having.result +++ b/mysql-test/r/having.result @@ -424,3 +424,10 @@ select f1 from t1 group by f1 having max(f1)=f1; f1 set session sql_mode=''; drop table t1; +CREATE TABLE t1 ( a INT, b INT); +INSERT INTO t1 VALUES (1, 1), (2,2), (3, NULL); +SELECT b, COUNT(DISTINCT a) FROM t1 GROUP BY b HAVING b is NULL; +b COUNT(DISTINCT a) +NULL 1 +DROP TABLE t1; +End of 5.0 tests diff --git a/mysql-test/t/having.test b/mysql-test/t/having.test index 827b83f11a0..adabbb711d4 100644 --- a/mysql-test/t/having.test +++ b/mysql-test/t/having.test @@ -432,3 +432,14 @@ select f1 from t1 having max(f1)=f1; select f1 from t1 group by f1 having max(f1)=f1; set session sql_mode=''; drop table t1; + + +# +# Bug #38637: COUNT DISTINCT prevents NULL testing in HAVING clause +# +CREATE TABLE t1 ( a INT, b INT); +INSERT INTO t1 VALUES (1, 1), (2,2), (3, NULL); +SELECT b, COUNT(DISTINCT a) FROM t1 GROUP BY b HAVING b is NULL; +DROP TABLE t1; + +--echo End of 5.0 tests diff --git a/sql/item.cc b/sql/item.cc index 182f4abdfe6..e71268724b4 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -2041,6 +2041,12 @@ bool Item_field::val_bool_result() } +bool Item_field::is_null_result() +{ + return (null_value=result_field->is_null()); +} + + bool Item_field::eq(const Item *item, bool binary_cmp) const { Item *real_item= ((Item *) item)->real_item(); @@ -5626,6 +5632,15 @@ double Item_ref::val_result() } +bool Item_ref::is_null_result() +{ + if (result_field) + return (null_value=result_field->is_null()); + + return is_null(); +} + + longlong Item_ref::val_int_result() { if (result_field) @@ -5731,7 +5746,9 @@ String *Item_ref::val_str(String* tmp) bool Item_ref::is_null() { DBUG_ASSERT(fixed); - return (*ref)->is_null(); + bool tmp=(*ref)->is_null_result(); + null_value=(*ref)->null_value; + return tmp; } diff --git a/sql/item.h b/sql/item.h index 250bb3f67ef..1058cc5dbb8 100644 --- a/sql/item.h +++ b/sql/item.h @@ -652,6 +652,7 @@ public: virtual my_decimal *val_decimal_result(my_decimal *val) { return val_decimal(val); } virtual bool val_bool_result() { return val_bool(); } + virtual bool is_null_result() { return is_null(); } /* bit map of tables used by item */ virtual table_map used_tables() const { return (table_map) 0L; } @@ -1301,6 +1302,7 @@ public: String *str_result(String* tmp); my_decimal *val_decimal_result(my_decimal *); bool val_bool_result(); + bool is_null_result(); bool send(Protocol *protocol, String *str_arg); void reset_field(Field *f); bool fix_fields(THD *, Item **); @@ -1942,6 +1944,7 @@ public: String *str_result(String* tmp); my_decimal *val_decimal_result(my_decimal *); bool val_bool_result(); + bool is_null_result(); bool send(Protocol *prot, String *tmp); void make_field(Send_field *field); bool fix_fields(THD *, Item **); diff --git a/sql/item_func.cc b/sql/item_func.cc index e663e1fcf83..382fea6dfe2 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -4283,6 +4283,15 @@ my_decimal *Item_func_set_user_var::val_decimal_result(my_decimal *val) } +bool Item_func_set_user_var::is_null_result() +{ + DBUG_ASSERT(fixed == 1); + check(TRUE); + update(); // Store expression + return is_null(); +} + + void Item_func_set_user_var::print(String *str) { str->append(STRING_WITH_LEN("(@")); diff --git a/sql/item_func.h b/sql/item_func.h index 6dcf32cba07..8c7becb681b 100644 --- a/sql/item_func.h +++ b/sql/item_func.h @@ -1299,6 +1299,7 @@ public: longlong val_int_result(); String *str_result(String *str); my_decimal *val_decimal_result(my_decimal *); + bool is_null_result(); bool update_hash(void *ptr, uint length, enum Item_result type, CHARSET_INFO *cs, Derivation dv, bool unsigned_arg); bool send(Protocol *protocol, String *str_arg); -- cgit v1.2.1 From dd8e57af7b48445fefc5b591d65419c0df3f3046 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 8 Jan 2009 10:20:04 +0200 Subject: _ma_state_info_write numeric flags changed with constants. storage/maria/maria_def.h: Constants for _ma_state_info_write added. --- storage/maria/ma_blockrec.c | 5 ++++- storage/maria/ma_check.c | 14 +++++++++++--- storage/maria/ma_checkpoint.c | 7 +++++-- storage/maria/ma_close.c | 2 +- storage/maria/ma_create.c | 3 ++- storage/maria/ma_delete_all.c | 4 +++- storage/maria/ma_extra.c | 13 ++++++++++--- storage/maria/ma_key_recover.c | 4 +++- storage/maria/ma_locking.c | 9 ++++++--- storage/maria/ma_open.c | 30 +++++++++++++++++------------- storage/maria/ma_recovery.c | 7 +++++-- storage/maria/maria_def.h | 6 ++++++ storage/maria/maria_pack.c | 8 ++++++-- 13 files changed, 79 insertions(+), 33 deletions(-) diff --git a/storage/maria/ma_blockrec.c b/storage/maria/ma_blockrec.c index 54c05b4ae9c..da2b3d65e6a 100644 --- a/storage/maria/ma_blockrec.c +++ b/storage/maria/ma_blockrec.c @@ -7089,7 +7089,10 @@ my_bool _ma_apply_undo_bulk_insert(MARIA_HA *info, LSN undo_lsn) error= (maria_delete_all_rows(info) || maria_enable_indexes(info) || /* we enabled indices so need '2' below */ - _ma_state_info_write(info->s, 1|2|4) || + _ma_state_info_write(info->s, + MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET | + MA_STATE_INFO_WRITE_FULL_INFO | + MA_STATE_INFO_WRITE_LOCK) || _ma_write_clr(info, undo_lsn, LOGREC_UNDO_BULK_INSERT, FALSE, 0, &lsn, NULL)); DBUG_RETURN(error); diff --git a/storage/maria/ma_check.c b/storage/maria/ma_check.c index 38cfeb89f33..8f5e07e27f2 100644 --- a/storage/maria/ma_check.c +++ b/storage/maria/ma_check.c @@ -2204,7 +2204,11 @@ static my_bool protect_against_repair_crash(MARIA_HA *info, FLUSH_FORCE_WRITE, discard_index ? FLUSH_IGNORE_CHANGED : FLUSH_FORCE_WRITE) || - (share->changed && _ma_state_info_write(share, 1|2|4))) + (share->changed && + _ma_state_info_write(share, + MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET | + MA_STATE_INFO_WRITE_FULL_INFO | + MA_STATE_INFO_WRITE_LOCK))) return TRUE; /* In maria_chk this is not needed: */ if (maria_multi_threaded && share->base.born_transactional) @@ -2213,7 +2217,9 @@ static my_bool protect_against_repair_crash(MARIA_HA *info, { /* this can be true only for a transactional table */ maria_mark_crashed_on_repair(info); - if (_ma_state_info_write(share, 1|4)) + if (_ma_state_info_write(share, + MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET | + MA_STATE_INFO_WRITE_LOCK)) return TRUE; } if (translog_status == TRANSLOG_OK && @@ -5960,7 +5966,9 @@ int maria_update_state_info(HA_CHECK *param, MARIA_HA *info,uint update) if (!share->state.create_time) share->state.create_time= share->state.check_time; } - if (_ma_state_info_write(share, 1|2)) + if (_ma_state_info_write(share, + MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET | + MA_STATE_INFO_WRITE_FULL_INFO)) goto err; share->changed=0; } diff --git a/storage/maria/ma_checkpoint.c b/storage/maria/ma_checkpoint.c index ac44bbdf7a1..a78b31edce7 100644 --- a/storage/maria/ma_checkpoint.c +++ b/storage/maria/ma_checkpoint.c @@ -368,7 +368,9 @@ static void flush_all_tables(int what_to_flush) FLUSH_KEEP, FLUSH_KEEP); break; case 1: - res= _ma_state_info_write(info->s, 1|4); + res= _ma_state_info_write(info->s, + MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET| + MA_STATE_INFO_WRITE_LOCK); DBUG_PRINT("maria_flush_states", ("is_of_horizon: LSN (%lu,0x%lx)", LSN_IN_PARTS(info->s->state.is_of_horizon))); @@ -1046,7 +1048,8 @@ static int collect_tables(LEX_STRING *str, LSN checkpoint_start_log_horizon) state_copies_horizon; if (kfile.file >= 0) sync_error|= - _ma_state_info_write_sub(kfile.file, &state_copy->state, 1); + _ma_state_info_write_sub(kfile.file, &state_copy->state, + MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET); /* We don't set share->changed=0 because it may interfere with a concurrent _ma_writeinfo() doing share->changed=1 (cancel its diff --git a/storage/maria/ma_close.c b/storage/maria/ma_close.c index 6141986fd72..978e7ff3d5a 100644 --- a/storage/maria/ma_close.c +++ b/storage/maria/ma_close.c @@ -101,7 +101,7 @@ int maria_close(register MARIA_HA *info) State must be written to file as it was not done at table's unlocking. */ - if (_ma_state_info_write(share, 1)) + if (_ma_state_info_write(share, MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET)) error= my_errno; } /* diff --git a/storage/maria/ma_create.c b/storage/maria/ma_create.c index 5552fae6028..4cc2142614c 100644 --- a/storage/maria/ma_create.c +++ b/storage/maria/ma_create.c @@ -846,7 +846,8 @@ int maria_create(const char *name, enum data_file_type datafile_type, errpos=1; DBUG_PRINT("info", ("write state info and base info")); - if (_ma_state_info_write_sub(file, &share.state, 2) || + if (_ma_state_info_write_sub(file, &share.state, + MA_STATE_INFO_WRITE_FULL_INFO) || _ma_base_info_write(file, &share.base)) goto err; DBUG_PRINT("info", ("base_pos: %d base_info_size: %d", diff --git a/storage/maria/ma_delete_all.c b/storage/maria/ma_delete_all.c index b1e7596e4b9..fdcd0eab6a1 100644 --- a/storage/maria/ma_delete_all.c +++ b/storage/maria/ma_delete_all.c @@ -116,7 +116,9 @@ int maria_delete_all_rows(MARIA_HA *info) To avoid this, we need to set skip_redo_lsn now, and thus need to sync files. */ - my_bool error= _ma_state_info_write(share, 1|4) || + my_bool error= _ma_state_info_write(share, + MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET | + MA_STATE_INFO_WRITE_LOCK) || _ma_update_state_lsns(share, lsn, trnman_get_min_trid(), FALSE, FALSE) || _ma_sync_table_files(info); info->trn->rec_lsn= LSN_IMPOSSIBLE; diff --git a/storage/maria/ma_extra.c b/storage/maria/ma_extra.c index 301d3af3549..c311a035e9b 100644 --- a/storage/maria/ma_extra.c +++ b/storage/maria/ma_extra.c @@ -272,7 +272,9 @@ int maria_extra(MARIA_HA *info, enum ha_extra_function function, for the posterity is by writing it to disk. */ DBUG_ASSERT(!maria_in_recovery); - error= _ma_state_info_write(share, 1|2); + error= _ma_state_info_write(share, + MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET | + MA_STATE_INFO_WRITE_FULL_INFO); } pthread_mutex_unlock(&share->intern_lock); break; @@ -289,7 +291,9 @@ int maria_extra(MARIA_HA *info, enum ha_extra_function function, if (!error && share->changed) { pthread_mutex_lock(&share->intern_lock); - if (!(error= _ma_state_info_write(share, 1|2))) + if (!(error= _ma_state_info_write(share, + MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET| + MA_STATE_INFO_WRITE_FULL_INFO))) share->changed= 0; pthread_mutex_unlock(&share->intern_lock); } @@ -347,7 +351,10 @@ int maria_extra(MARIA_HA *info, enum ha_extra_function function, if (do_flush) { /* Save the state so that others can find it from disk. */ - if ((share->changed && _ma_state_info_write(share, 1 | 2)) || + if ((share->changed && + _ma_state_info_write(share, + MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET | + MA_STATE_INFO_WRITE_FULL_INFO)) || my_sync(share->kfile.file, MYF(0))) error= my_errno; else diff --git a/storage/maria/ma_key_recover.c b/storage/maria/ma_key_recover.c index 83e8b3cf725..c4fe6613bb8 100644 --- a/storage/maria/ma_key_recover.c +++ b/storage/maria/ma_key_recover.c @@ -192,7 +192,9 @@ my_bool write_hook_for_clr_end(enum translog_record_type type safe_mutex_assert_owner(&share->intern_lock); error= (maria_enable_indexes(tbl_info) || /* we enabled indices, need '2' below */ - _ma_state_info_write(share, 1|2)); + _ma_state_info_write(share, + MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET | + MA_STATE_INFO_WRITE_FULL_INFO)); /* no need for _ma_reset_status(): REDO_DELETE_ALL is just before us */ break; default: diff --git a/storage/maria/ma_locking.c b/storage/maria/ma_locking.c index 1ad41e5b213..2a34d1fe9f3 100644 --- a/storage/maria/ma_locking.c +++ b/storage/maria/ma_locking.c @@ -112,7 +112,8 @@ int maria_lock_database(MARIA_HA *info, int lock_type) /* transactional tables rather flush their state at Checkpoint */ if (!share->base.born_transactional) { - if (_ma_state_info_write_sub(share->kfile.file, &share->state, 1)) + if (_ma_state_info_write_sub(share->kfile.file, &share->state, + MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET)) error= my_errno; else { @@ -316,8 +317,10 @@ int _ma_writeinfo(register MARIA_HA *info, uint operation) share->state.update_count= info->last_loop= ++info->this_loop; #endif - if ((error= _ma_state_info_write_sub(share->kfile.file, - &share->state, 1))) + if ((error= + _ma_state_info_write_sub(share->kfile.file, + &share->state, + MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET))) olderror=my_errno; #ifdef __WIN__ if (maria_flush) diff --git a/storage/maria/ma_open.c b/storage/maria/ma_open.c index 88f7feb41fd..c6c786910db 100644 --- a/storage/maria/ma_open.c +++ b/storage/maria/ma_open.c @@ -1172,11 +1172,13 @@ static void setup_key_functions(register MARIA_KEYDEF *keyinfo) Then calls _ma_state_info_write_sub(). @param share table - @param pWrite bitmap: if 1 is set my_pwrite() is used otherwise - my_write(); if 2 is set, info about keys is written - (should only be needed after ALTER TABLE - ENABLE/DISABLE KEYS, and REPAIR/OPTIMIZE); if 4 is - set, MARIA_SHARE::intern_lock is taken. + @param pWrite bitmap: if 1 (MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET) + is set my_pwrite() is used otherwise my_write(); + if 2 (MA_STATE_INFO_WRITE_FULL_INFO) is set, info + about keys is written (should only be needed + after ALTER TABLE ENABLE/DISABLE KEYS, and + REPAIR/OPTIMIZE); if 4 (MA_STATE_INFO_WRITE_LOCK) + is set, MARIA_SHARE::intern_lock is taken. @return Operation status @retval 0 OK @@ -1189,7 +1191,7 @@ uint _ma_state_info_write(MARIA_SHARE *share, uint pWrite) if (share->options & HA_OPTION_READ_ONLY_DATA) return 0; - if (pWrite & 4) + if (pWrite & MA_STATE_INFO_WRITE_LOCK) pthread_mutex_lock(&share->intern_lock); else if (maria_multi_threaded) { @@ -1208,7 +1210,7 @@ uint _ma_state_info_write(MARIA_SHARE *share, uint pWrite) LSN_IN_PARTS(share->state.is_of_horizon))); } res= _ma_state_info_write_sub(share->kfile.file, &share->state, pWrite); - if (pWrite & 4) + if (pWrite & MA_STATE_INFO_WRITE_LOCK) pthread_mutex_unlock(&share->intern_lock); share->changed= 0; return res; @@ -1222,10 +1224,12 @@ uint _ma_state_info_write(MARIA_SHARE *share, uint pWrite) @param file descriptor of the index file to write @param state state information to write to the file - @param pWrite bitmap: if 1 is set my_pwrite() is used otherwise - my_write(); if 2 is set, info about keys is written - (should only be needed after ALTER TABLE - ENABLE/DISABLE KEYS, and REPAIR/OPTIMIZE). + @param pWrite bitmap: if 1 (MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET) + is set my_pwrite() is used otherwise my_write(); + if 2 (MA_STATE_INFO_WRITE_FULL_INFO) is set, info + about keys is written (should only be needed + after ALTER TABLE ENABLE/DISABLE KEYS, and + REPAIR/OPTIMIZE). @notes For transactional multiuser tables, this function is called @@ -1285,7 +1289,7 @@ uint _ma_state_info_write_sub(File file, MARIA_STATE_INFO *state, uint pWrite) mi_sizestore(ptr,state->key_root[i]); ptr+= 8; } mi_sizestore(ptr,state->key_del); ptr+= 8; - if (pWrite & 2) /* From maria_chk */ + if (pWrite & MA_STATE_INFO_WRITE_FULL_INFO) /* From maria_chk */ { uint key_parts= mi_uint2korr(state->header.key_parts); mi_int4store(ptr,state->sec_index_changed); ptr+= 4; @@ -1305,7 +1309,7 @@ uint _ma_state_info_write_sub(File file, MARIA_STATE_INFO *state, uint pWrite) } } - res= (pWrite & 1) ? + res= (pWrite & MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET) ? my_pwrite(file, buff, (size_t) (ptr-buff), 0L, MYF(MY_NABP | MY_THREADSAFE)) : my_write(file, buff, (size_t) (ptr-buff), diff --git a/storage/maria/ma_recovery.c b/storage/maria/ma_recovery.c index 77dfc6b568a..5240a8cafa9 100644 --- a/storage/maria/ma_recovery.c +++ b/storage/maria/ma_recovery.c @@ -2760,7 +2760,8 @@ static void prepare_table_for_close(MARIA_HA *info, TRANSLOG_ADDRESS horizon) cmp_translog_addr(share->lsn_of_file_id, horizon) < 0) { share->state.is_of_horizon= horizon; - _ma_state_info_write_sub(share->kfile.file, &share->state, 1); + _ma_state_info_write_sub(share->kfile.file, &share->state, + MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET); } /* @@ -3315,7 +3316,9 @@ my_bool _ma_reenable_logging_for_table(MARIA_HA *info, my_bool flush_pages) */ if (_ma_flush_table_files(info, MARIA_FLUSH_DATA | MARIA_FLUSH_INDEX, FLUSH_RELEASE, FLUSH_RELEASE) || - _ma_state_info_write(share, 1|4) || + _ma_state_info_write(share, + MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET | + MA_STATE_INFO_WRITE_LOCK) || _ma_sync_table_files(info)) DBUG_RETURN(1); } diff --git a/storage/maria/maria_def.h b/storage/maria/maria_def.h index 52b14b80aa6..7c2017c4671 100644 --- a/storage/maria/maria_def.h +++ b/storage/maria/maria_def.h @@ -1076,6 +1076,12 @@ extern size_t _ma_nommap_pread(MARIA_HA *info, uchar *Buffer, extern size_t _ma_nommap_pwrite(MARIA_HA *info, const uchar *Buffer, size_t Count, my_off_t offset, myf MyFlags); +/* my_pwrite instead of my_write used */ +#define MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET 1 +/* info should be written */ +#define MA_STATE_INFO_WRITE_FULL_INFO 2 +/* intern_lock taking is needed */ +#define MA_STATE_INFO_WRITE_LOCK 4 uint _ma_state_info_write(MARIA_SHARE *share, uint pWrite); uint _ma_state_info_write_sub(File file, MARIA_STATE_INFO *state, uint pWrite); uint _ma_state_info_read_dsk(File file, MARIA_STATE_INFO *state); diff --git a/storage/maria/maria_pack.c b/storage/maria/maria_pack.c index b9466475548..234ac61c08d 100644 --- a/storage/maria/maria_pack.c +++ b/storage/maria/maria_pack.c @@ -3006,7 +3006,9 @@ static int save_state(MARIA_HA *isam_file,PACK_MRG_INFO *mrg, if (share->base.keys) isamchk_neaded=1; DBUG_RETURN(_ma_state_info_write_sub(share->kfile.file, - &share->state, (1 + 2))); + &share->state, + MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET | + MA_STATE_INFO_WRITE_FULL_INFO)); } @@ -3046,7 +3048,9 @@ static int save_state_mrg(File file,PACK_MRG_INFO *mrg,my_off_t new_length, if (isam_file->s->base.keys) isamchk_neaded=1; state.changed=STATE_CHANGED | STATE_NOT_ANALYZED; /* Force check of table */ - DBUG_RETURN (_ma_state_info_write_sub(file,&state,1+2)); + DBUG_RETURN (_ma_state_info_write_sub(file, &state, + MA_STATE_INFO_WRITE_DONT_MOVE_OFFSET | + MA_STATE_INFO_WRITE_FULL_INFO)); } -- cgit v1.2.1 From 293e9c49c49cd0931125b637b95bb0fb99124e65 Mon Sep 17 00:00:00 2001 From: Timothy Smith Date: Mon, 12 Jan 2009 23:08:22 +0100 Subject: Applying InnoDB snapshot innodb-5.1-ss3603 Detailed description of changes: r2902 | vasil | 2008-10-28 12:10:25 +0200 (Tue, 28 Oct 2008) | 10 lines branches/5.1: Fix Bug#38189 innodb_stats_on_metadata missing Make the variable innodb_stats_on_metadata visible to the users and also settable at runtime. Previously it was only "visible" as a command line startup option to mysqld. Approved by: Marko (https://svn.innodb.com/rb/r/36) --- storage/innobase/handler/ha_innodb.cc | 8 +++----- storage/innobase/include/srv0srv.h | 2 -- storage/innobase/srv/srv0srv.c | 2 -- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc index 6358f7ce055..03098861ecd 100644 --- a/storage/innobase/handler/ha_innodb.cc +++ b/storage/innobase/handler/ha_innodb.cc @@ -128,7 +128,7 @@ static my_bool innobase_file_per_table = FALSE; static my_bool innobase_locks_unsafe_for_binlog = FALSE; static my_bool innobase_rollback_on_timeout = FALSE; static my_bool innobase_create_status_file = FALSE; -static my_bool innobase_stats_on_metadata = TRUE; +static my_bool innobase_stats_on_metadata = TRUE; static my_bool innobase_adaptive_hash_index = TRUE; static char* internal_innobase_data_file_path = NULL; @@ -1713,8 +1713,6 @@ innobase_init( srv_max_n_open_files = (ulint) innobase_open_files; srv_innodb_status = (ibool) innobase_create_status_file; - srv_stats_on_metadata = (ibool) innobase_stats_on_metadata; - srv_use_adaptive_hash_indexes = (ibool) innobase_adaptive_hash_index; @@ -5976,7 +5974,7 @@ ha_innobase::info( ib_table = prebuilt->table; if (flag & HA_STATUS_TIME) { - if (srv_stats_on_metadata) { + if (innobase_stats_on_metadata) { /* In sql_show we call with this flag: update then statistics so that they are up-to-date */ @@ -8236,7 +8234,7 @@ static MYSQL_SYSVAR_BOOL(status_file, innobase_create_status_file, NULL, NULL, FALSE); static MYSQL_SYSVAR_BOOL(stats_on_metadata, innobase_stats_on_metadata, - PLUGIN_VAR_OPCMDARG | PLUGIN_VAR_NOSYSVAR, + PLUGIN_VAR_OPCMDARG, "Enable statistics gathering for metadata commands such as SHOW TABLE STATUS (on by default)", NULL, NULL, TRUE); diff --git a/storage/innobase/include/srv0srv.h b/storage/innobase/include/srv0srv.h index 91daa6816b2..2516937565d 100644 --- a/storage/innobase/include/srv0srv.h +++ b/storage/innobase/include/srv0srv.h @@ -124,8 +124,6 @@ extern ulint srv_fast_shutdown; /* If this is 1, do not do a transactions). */ extern ibool srv_innodb_status; -extern ibool srv_stats_on_metadata; - extern ibool srv_use_doublewrite_buf; extern ibool srv_use_checksums; diff --git a/storage/innobase/srv/srv0srv.c b/storage/innobase/srv/srv0srv.c index e8b7bd4cee2..5c67ffb23c6 100644 --- a/storage/innobase/srv/srv0srv.c +++ b/storage/innobase/srv/srv0srv.c @@ -328,8 +328,6 @@ ulint srv_fast_shutdown = 0; /* Generate a innodb_status. file */ ibool srv_innodb_status = FALSE; -ibool srv_stats_on_metadata = TRUE; - ibool srv_use_doublewrite_buf = TRUE; ibool srv_use_checksums = TRUE; -- cgit v1.2.1 From 897d00ce89e6eb2ef9c0f1688ccc6e4498527fd0 Mon Sep 17 00:00:00 2001 From: Timothy Smith Date: Mon, 12 Jan 2009 23:27:11 +0100 Subject: Applying InnoDB snapshot innodb-5.1-ss3603 Detailed description of changes: r2929 | marko | 2008-10-29 21:26:14 +0200 (Wed, 29 Oct 2008) | 13 lines branches/5.1: dtype_get_sql_null_size(): return the correct storage size of a SQL NULL column. (Bug #40369) When MySQL Bug #20877 was fixed in r834, this function was accidentally modified to return 0 or 1. Apparently, the only impact of this bug is that fixed-length columns cannot be updated in-place from or to SQL NULL, even in ROW_FORMAT=REDUNDANT. After this fix, fixed-length columns in ROW_FORMAT=REDUNDANT will have a constant storage size as they should, no matter if NULL or non-NULL. The bug caused fixed-length NULL columns to occupy 1 byte. rb://37 approved by Heikki over IM. --- storage/innobase/include/data0type.ic | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storage/innobase/include/data0type.ic b/storage/innobase/include/data0type.ic index b8c24bb074a..ad0f95755d2 100644 --- a/storage/innobase/include/data0type.ic +++ b/storage/innobase/include/data0type.ic @@ -558,5 +558,5 @@ dtype_get_sql_null_size( const dtype_t* type) /* in: type */ { return(dtype_get_fixed_size_low(type->mtype, type->prtype, type->len, - type->mbminlen, type->mbmaxlen) > 0); + type->mbminlen, type->mbmaxlen)); } -- cgit v1.2.1 From 9eddf5762ccdad9a11d2c8ebaeba2dca1d78a583 Mon Sep 17 00:00:00 2001 From: Timothy Smith Date: Mon, 12 Jan 2009 23:28:56 +0100 Subject: Applying InnoDB snapshot innodb-5.1-ss3603 Detailed description of changes: r2981 | marko | 2008-11-07 14:54:10 +0200 (Fri, 07 Nov 2008) | 6 lines branches/5.1: row_mysql_store_col_in_innobase_format(): Correct a misleading comment. In the UTF-8 encoding, ASCII takes 1 byte per character, while the "latin1" character set (normally ISO-8859-1, but in MySQL it actually refers to the Windows Code Page 1252 a.k.a. CP1252, WinLatin1) takes 1 to 3 bytes (1 to 2 bytes for the ISO-8859-1 subset). r3114 | calvin | 2008-11-14 20:31:48 +0200 (Fri, 14 Nov 2008) | 8 lines branches/5.1: fix bug#40386: Not flushing query cache after truncate ha_statistics.records can not be 0 unless the table is empty, set to 1 instead. The original problem of bug 29507 is fixed in the server. Additional test was done with the fix of bug 29507 in the server. Approved by: Heikki (on IM) --- storage/innobase/handler/ha_innodb.cc | 8 +++++--- storage/innobase/row/row0mysql.c | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc index 03098861ecd..1fda1fe49df 100644 --- a/storage/innobase/handler/ha_innodb.cc +++ b/storage/innobase/handler/ha_innodb.cc @@ -6022,11 +6022,13 @@ ha_innobase::info( n_rows++; } - /* Fix bug#29507: TRUNCATE shows too many rows affected. - Do not show the estimates for TRUNCATE command. */ + /* Fix bug#40386: Not flushing query cache after truncate. + n_rows can not be 0 unless the table is empty, set to 1 + instead. The original problem of bug#29507 is actually + fixed in the server code. */ if (thd_sql_command(user_thd) == SQLCOM_TRUNCATE) { - n_rows = 0; + n_rows = 1; /* We need to reset the prebuilt value too, otherwise checks for values greater than the last value written diff --git a/storage/innobase/row/row0mysql.c b/storage/innobase/row/row0mysql.c index d76af54b420..1019f33efef 100644 --- a/storage/innobase/row/row0mysql.c +++ b/storage/innobase/row/row0mysql.c @@ -342,7 +342,7 @@ row_mysql_store_col_in_innobase_format( /* In some cases we strip trailing spaces from UTF-8 and other multibyte charsets, from FIXED-length CHAR columns, to save space. UTF-8 would otherwise normally use 3 * the string length - bytes to store a latin1 string! */ + bytes to store an ASCII string! */ /* We assume that this CHAR field is encoded in a variable-length character set where spaces have -- cgit v1.2.1 From fc3b2bfc9e6df53185501ccf4eca90d7e0ae225b Mon Sep 17 00:00:00 2001 From: Timothy Smith Date: Mon, 12 Jan 2009 23:31:05 +0100 Subject: Applying InnoDB snapshot innodb-5.1-ss3603 Detailed description of changes: r3257 | inaam | 2008-11-24 22:06:50 +0200 (Mon, 24 Nov 2008) | 13 lines branches/5.1 bug#40760 The config param innodb_thread_concurrency is dynamically set and is read when a thread enters/exits innodb. If the value is changed between the enter and exit time the behaviour becomes erratic. The fix is not to use srv_thread_concurrency when exiting, instead use the flag trx->declared_to_be_inside_innodb. rb://57 Approved by: Marko --- storage/innobase/handler/ha_innodb.cc | 2 +- storage/innobase/srv/srv0srv.c | 27 +++++++++++++++------------ storage/innobase/trx/trx0trx.c | 4 ++++ 3 files changed, 20 insertions(+), 13 deletions(-) diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc index 1fda1fe49df..ba84ee3d5cf 100644 --- a/storage/innobase/handler/ha_innodb.cc +++ b/storage/innobase/handler/ha_innodb.cc @@ -461,7 +461,7 @@ innodb_srv_conc_exit_innodb( /*========================*/ trx_t* trx) /* in: transaction handle */ { - if (UNIV_LIKELY(!srv_thread_concurrency)) { + if (UNIV_LIKELY(!trx->declared_to_be_inside_innodb)) { return; } diff --git a/storage/innobase/srv/srv0srv.c b/storage/innobase/srv/srv0srv.c index 5c67ffb23c6..e2d8bd4c600 100644 --- a/storage/innobase/srv/srv0srv.c +++ b/storage/innobase/srv/srv0srv.c @@ -283,13 +283,16 @@ ulong srv_commit_concurrency = 0; os_fast_mutex_t srv_conc_mutex; /* this mutex protects srv_conc data structures */ -lint srv_conc_n_threads = 0; /* number of OS threads currently - inside InnoDB; it is not an error - if this drops temporarily below zero - because we do not demand that every - thread increments this, but a thread - waiting for a lock decrements this - temporarily */ +lint srv_conc_n_threads = 0; /* number of transactions that + have declared_to_be_inside_innodb + set. It used to be a non-error + for this value to drop below + zero temporarily. This is no + longer true. We'll, however, + keep the lint datatype to add + assertions to catch any corner + cases that we may have + missed. */ ulint srv_conc_n_waiting_threads = 0; /* number of OS threads waiting in the FIFO for a permission to enter InnoDB */ @@ -1020,6 +1023,8 @@ retry: return; } + ut_ad(srv_conc_n_threads >= 0); + if (srv_conc_n_threads < (lint)srv_thread_concurrency) { srv_conc_n_threads++; @@ -1146,6 +1151,8 @@ srv_conc_force_enter_innodb( return; } + ut_ad(srv_conc_n_threads >= 0); + os_fast_mutex_lock(&srv_conc_mutex); srv_conc_n_threads++; @@ -1167,11 +1174,6 @@ srv_conc_force_exit_innodb( { srv_conc_slot_t* slot = NULL; - if (UNIV_LIKELY(!srv_thread_concurrency)) { - - return; - } - if (trx->mysql_thd != NULL && thd_is_replication_slave_thread(trx->mysql_thd)) { @@ -1185,6 +1187,7 @@ srv_conc_force_exit_innodb( os_fast_mutex_lock(&srv_conc_mutex); + ut_ad(srv_conc_n_threads > 0); srv_conc_n_threads--; trx->declared_to_be_inside_innodb = FALSE; trx->n_tickets_to_enter_innodb = 0; diff --git a/storage/innobase/trx/trx0trx.c b/storage/innobase/trx/trx0trx.c index 69b72451f2b..1fceaa3562c 100644 --- a/storage/innobase/trx/trx0trx.c +++ b/storage/innobase/trx/trx0trx.c @@ -287,6 +287,10 @@ trx_free( "InnoDB: inside InnoDB.\n", stderr); trx_print(stderr, trx, 600); putc('\n', stderr); + + /* This is an error but not a fatal error. We must keep + the counters like srv_conc_n_threads accurate. */ + srv_conc_force_exit_innodb(trx); } if (trx->n_mysql_tables_in_use != 0 -- cgit v1.2.1 From 14c7d56ba8e15b49adb223f95e2abb7bcfd7778d Mon Sep 17 00:00:00 2001 From: Timothy Smith Date: Mon, 12 Jan 2009 23:32:11 +0100 Subject: Applying InnoDB snapshot innodb-5.1-ss3603 Detailed description of changes: r3412 | vasil | 2008-12-05 10:46:18 +0200 (Fri, 05 Dec 2008) | 7 lines branches/5.1: Add the traditional 2 spaces after the timestamp so the message does not look like: 070223 13:26:01InnoDB: Warning: canno.... --- storage/innobase/trx/trx0undo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storage/innobase/trx/trx0undo.c b/storage/innobase/trx/trx0undo.c index 2aa7752d292..b31580d0ce0 100644 --- a/storage/innobase/trx/trx0undo.c +++ b/storage/innobase/trx/trx0undo.c @@ -410,7 +410,7 @@ trx_undo_seg_create( if (slot_no == ULINT_UNDEFINED) { ut_print_timestamp(stderr); fprintf(stderr, - "InnoDB: Warning: cannot find a free slot for" + " InnoDB: Warning: cannot find a free slot for" " an undo log. Do you have too\n" "InnoDB: many active transactions" " running concurrently?\n"); -- cgit v1.2.1 From 8759d9275de1078100fbb95e8a464f2fd5a2aa2f Mon Sep 17 00:00:00 2001 From: Timothy Smith Date: Mon, 12 Jan 2009 23:32:50 +0100 Subject: Applying InnoDB snapshot innodb-5.1-ss3603 Detailed description of changes: r3588 | inaam | 2008-12-18 14:26:54 +0200 (Thu, 18 Dec 2008) | 8 lines branches/5.1 It is a bug in unused code. If we don't calculate the hash value when calculating the mutex number then two pages which map to same hash value can get two different mutex numbers. Approved by: Marko --- storage/innobase/include/hash0hash.ic | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/storage/innobase/include/hash0hash.ic b/storage/innobase/include/hash0hash.ic index 49bcc7b31d0..d246d8ee831 100644 --- a/storage/innobase/include/hash0hash.ic +++ b/storage/innobase/include/hash0hash.ic @@ -58,7 +58,8 @@ hash_get_mutex_no( hash_table_t* table, /* in: hash table */ ulint fold) /* in: fold */ { - return(ut_2pow_remainder(fold, table->n_mutexes)); + return(ut_2pow_remainder(hash_calc_hash(fold, table), + table->n_mutexes)); } /**************************************************************** -- cgit v1.2.1 From 13927f53c5603f13b9f5a462140e3ae13877ff2a Mon Sep 17 00:00:00 2001 From: Timothy Smith Date: Mon, 12 Jan 2009 23:35:05 +0100 Subject: Applying InnoDB snapshot innodb-5.1-ss3603 Detailed description of changes: r3590 | marko | 2008-12-18 15:33:36 +0200 (Thu, 18 Dec 2008) | 11 lines branches/5.1: When converting a record to MySQL format, copy the default column values for columns that are SQL NULL. This addresses failures in row-based replication (Bug #39648). row_prebuilt_t: Add default_rec, for the default values of the columns in MySQL format. row_sel_store_mysql_rec(): Use prebuilt->default_rec instead of padding columns. rb://64 approved by Heikki Tuuri --- storage/innobase/handler/ha_innodb.cc | 2 ++ storage/innobase/include/row0mysql.h | 2 ++ storage/innobase/row/row0mysql.c | 1 + storage/innobase/row/row0sel.c | 55 ++++------------------------------- 4 files changed, 11 insertions(+), 49 deletions(-) diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc index ba84ee3d5cf..366bc3966c7 100644 --- a/storage/innobase/handler/ha_innodb.cc +++ b/storage/innobase/handler/ha_innodb.cc @@ -2508,6 +2508,8 @@ retry: prebuilt = row_create_prebuilt(ib_table); prebuilt->mysql_row_len = table->s->reclength; + prebuilt->default_rec = table->s->default_values; + ut_ad(prebuilt->default_rec); /* Looks like MySQL-3.23 sometimes has primary key number != 0 */ diff --git a/storage/innobase/include/row0mysql.h b/storage/innobase/include/row0mysql.h index 9c3ba558d3c..9b2f3250486 100644 --- a/storage/innobase/include/row0mysql.h +++ b/storage/innobase/include/row0mysql.h @@ -594,6 +594,8 @@ struct row_prebuilt_struct { byte* ins_upd_rec_buff;/* buffer for storing data converted to the Innobase format from the MySQL format */ + const byte* default_rec; /* the default values of all columns + (a "default row") in MySQL format */ ulint hint_need_to_fetch_extra_cols; /* normally this is set to 0; if this is set to ROW_RETRIEVE_PRIMARY_KEY, diff --git a/storage/innobase/row/row0mysql.c b/storage/innobase/row/row0mysql.c index 1019f33efef..1713863f1fe 100644 --- a/storage/innobase/row/row0mysql.c +++ b/storage/innobase/row/row0mysql.c @@ -620,6 +620,7 @@ row_create_prebuilt( prebuilt->ins_node = NULL; prebuilt->ins_upd_rec_buff = NULL; + prebuilt->default_rec = NULL; prebuilt->upd_node = NULL; prebuilt->ins_graph = NULL; diff --git a/storage/innobase/row/row0sel.c b/storage/innobase/row/row0sel.c index 79f107ce77d..f53dfe8a686 100644 --- a/storage/innobase/row/row0sel.c +++ b/storage/innobase/row/row0sel.c @@ -2597,6 +2597,7 @@ row_sel_store_mysql_rec( ulint i; ut_ad(prebuilt->mysql_template); + ut_ad(prebuilt->default_rec); ut_ad(rec_offs_validate(rec, NULL, offsets)); if (UNIV_LIKELY_NULL(prebuilt->blob_heap)) { @@ -2683,58 +2684,14 @@ row_sel_store_mysql_rec( &= ~(byte) templ->mysql_null_bit_mask; } } else { - /* MySQL seems to assume the field for an SQL NULL - value is set to zero or space. Not taking this into - account caused seg faults with NULL BLOB fields, and - bug number 154 in the MySQL bug database: GROUP BY - and DISTINCT could treat NULL values inequal. */ - int pad_char; + /* MySQL assumes that the field for an SQL + NULL value is set to the default value. */ mysql_rec[templ->mysql_null_byte_offset] |= (byte) templ->mysql_null_bit_mask; - switch (templ->type) { - case DATA_VARCHAR: - case DATA_BINARY: - case DATA_VARMYSQL: - if (templ->mysql_type - == DATA_MYSQL_TRUE_VARCHAR) { - /* This is a >= 5.0.3 type - true VARCHAR. Zero the field. */ - pad_char = 0x00; - break; - } - /* Fall through */ - case DATA_CHAR: - case DATA_FIXBINARY: - case DATA_MYSQL: - /* MySQL pads all string types (except - BLOB, TEXT and true VARCHAR) with space. */ - if (UNIV_UNLIKELY(templ->mbminlen == 2)) { - /* Treat UCS2 as a special case. */ - data = mysql_rec - + templ->mysql_col_offset; - len = templ->mysql_col_len; - /* There are two UCS2 bytes per char, - so the length has to be even. */ - ut_a(!(len & 1)); - /* Pad with 0x0020. */ - while (len) { - *data++ = 0x00; - *data++ = 0x20; - len -= 2; - } - continue; - } - pad_char = 0x20; - break; - default: - pad_char = 0x00; - break; - } - - ut_ad(!pad_char || templ->mbminlen == 1); - memset(mysql_rec + templ->mysql_col_offset, - pad_char, templ->mysql_col_len); + memcpy(mysql_rec + templ->mysql_col_offset, + prebuilt->default_rec + templ->mysql_col_offset, + templ->mysql_col_len); } } -- cgit v1.2.1 From ba47e3bc4d7f86f05e02c88bc6430a0ab85b291d Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Tue, 13 Jan 2009 13:09:12 +0200 Subject: Bug #38795: Automatic search depth and nested join's results in server crash The greedy optimizer tracks the current level of nested joins and the position inside these by setting and maintaining a state that's global for the whole FROM clause. This state was correctly maintained inside the selection of the next partial plan table (in best_extension_by_limited_search()). greedy_search() also moves the current position by adding the last partial match table when there's not enough tables in the partial plan found by best_extension_by_limited_search(). This may require update of the global state variables that describe the current position in the plan if the last table placed by greedy_search is not a top-level join table. Fixed by updating the state after placing the partial plan table in greedy_search() in the same way this is done on entering the best_extension_by_limited_search(). Fixed the signature of the function called to update the state : check_interleaving_with_nj mysql-test/r/greedy_optimizer.result: Bug #38795: test case mysql-test/t/greedy_optimizer.test: Bug #38795: test case sql/sql_select.cc: Bug #38795: correctly update current position when placing the next partial plan table in greedy_search(). --- mysql-test/r/greedy_optimizer.result | 77 ++++++++++++++++++++++++++++++++++++ mysql-test/t/greedy_optimizer.test | 73 ++++++++++++++++++++++++++++++++++ sql/sql_select.cc | 27 ++++++++----- 3 files changed, 168 insertions(+), 9 deletions(-) diff --git a/mysql-test/r/greedy_optimizer.result b/mysql-test/r/greedy_optimizer.result index 1da49fbedb0..534038ee626 100644 --- a/mysql-test/r/greedy_optimizer.result +++ b/mysql-test/r/greedy_optimizer.result @@ -655,3 +655,80 @@ show status like 'Last_query_cost'; Variable_name Value Last_query_cost 794.837037 drop table t1,t2,t3,t4,t5,t6,t7; +CREATE TABLE t1 (a int, b int, d int, i int); +INSERT INTO t1 VALUES (1,1,1,1); +CREATE TABLE t2 (b int, c int, j int); +INSERT INTO t2 VALUES (1,1,1); +CREATE TABLE t2_1 (j int); +INSERT INTO t2_1 VALUES (1); +CREATE TABLE t3 (c int, f int); +INSERT INTO t3 VALUES (1,1); +CREATE TABLE t3_1 (f int); +INSERT INTO t3_1 VALUES (1); +CREATE TABLE t4 (d int, e int, k int); +INSERT INTO t4 VALUES (1,1,1); +CREATE TABLE t4_1 (k int); +INSERT INTO t4_1 VALUES (1); +CREATE TABLE t5 (g int, d int, h int, l int); +INSERT INTO t5 VALUES (1,1,1,1); +CREATE TABLE t5_1 (l int); +INSERT INTO t5_1 VALUES (1); +SET optimizer_search_depth = 3; +SELECT 1 +FROM t1 +LEFT JOIN ( +t2 JOIN t3 ON t3.c = t2.c +) ON t2.b = t1.b +LEFT JOIN ( +t4 JOIN t5 ON t5.d = t4.d +) ON t4.d = t1.d +; +1 +1 +SELECT 1 +FROM t1 +LEFT JOIN ( +t2 LEFT JOIN (t3 JOIN t3_1 ON t3.f = t3_1.f) ON t3.c = t2.c +) ON t2.b = t1.b +LEFT JOIN ( +t4 JOIN t5 ON t5.d = t4.d +) ON t4.d = t1.d +; +1 +1 +SELECT 1 +FROM t1 +LEFT JOIN ( +(t2 JOIN t2_1 ON t2.j = t2_1.j) JOIN t3 ON t3.c = t2.c +) ON t2.b = t1.b +LEFT JOIN ( +t4 JOIN t5 ON t5.d = t4.d +) ON t4.d = t1.d +; +1 +1 +SELECT 1 +FROM t1 +LEFT JOIN ( +t2 JOIN t3 ON t3.c = t2.c +) ON t2.b = t1.b +LEFT JOIN ( +(t4 JOIN t4_1 ON t4.k = t4_1.k) LEFT JOIN t5 ON t5.d = t4.d +) ON t4.d = t1.d +; +1 +1 +SELECT 1 +FROM t1 +LEFT JOIN ( +t2 JOIN t3 ON t3.c = t2.c +) ON t2.b = t1.b +LEFT JOIN ( +t4 LEFT JOIN (t5 JOIN t5_1 ON t5.l = t5_1.l) ON t5.d = t4.d +) ON t4.d = t1.d +; +1 +1 +SET optimizer_search_depth = DEFAULT; +DROP TABLE t1,t2,t2_1,t3,t3_1,t4,t4_1,t5,t5_1; +End of 5.0 tests diff --git a/mysql-test/t/greedy_optimizer.test b/mysql-test/t/greedy_optimizer.test index b73f70c6a3e..5131c97f122 100644 --- a/mysql-test/t/greedy_optimizer.test +++ b/mysql-test/t/greedy_optimizer.test @@ -311,3 +311,76 @@ explain select t1.c11 from t7, t6, t5, t4, t3, t2, t1 where t1.c11 = t2.c21 and show status like 'Last_query_cost'; drop table t1,t2,t3,t4,t5,t6,t7; + + +# +# Bug # 38795: Automatic search depth and nested join's results in server +# crash +# + +CREATE TABLE t1 (a int, b int, d int, i int); INSERT INTO t1 VALUES (1,1,1,1); +CREATE TABLE t2 (b int, c int, j int); INSERT INTO t2 VALUES (1,1,1); +CREATE TABLE t2_1 (j int); INSERT INTO t2_1 VALUES (1); +CREATE TABLE t3 (c int, f int); INSERT INTO t3 VALUES (1,1); +CREATE TABLE t3_1 (f int); INSERT INTO t3_1 VALUES (1); +CREATE TABLE t4 (d int, e int, k int); INSERT INTO t4 VALUES (1,1,1); +CREATE TABLE t4_1 (k int); INSERT INTO t4_1 VALUES (1); +CREATE TABLE t5 (g int, d int, h int, l int); INSERT INTO t5 VALUES (1,1,1,1); +CREATE TABLE t5_1 (l int); INSERT INTO t5_1 VALUES (1); + +SET optimizer_search_depth = 3; + +SELECT 1 +FROM t1 +LEFT JOIN ( + t2 JOIN t3 ON t3.c = t2.c +) ON t2.b = t1.b +LEFT JOIN ( + t4 JOIN t5 ON t5.d = t4.d +) ON t4.d = t1.d +; + +SELECT 1 +FROM t1 +LEFT JOIN ( + t2 LEFT JOIN (t3 JOIN t3_1 ON t3.f = t3_1.f) ON t3.c = t2.c +) ON t2.b = t1.b +LEFT JOIN ( + t4 JOIN t5 ON t5.d = t4.d +) ON t4.d = t1.d +; + +SELECT 1 +FROM t1 +LEFT JOIN ( + (t2 JOIN t2_1 ON t2.j = t2_1.j) JOIN t3 ON t3.c = t2.c +) ON t2.b = t1.b +LEFT JOIN ( + t4 JOIN t5 ON t5.d = t4.d +) ON t4.d = t1.d +; + +SELECT 1 +FROM t1 +LEFT JOIN ( + t2 JOIN t3 ON t3.c = t2.c +) ON t2.b = t1.b +LEFT JOIN ( + (t4 JOIN t4_1 ON t4.k = t4_1.k) LEFT JOIN t5 ON t5.d = t4.d +) ON t4.d = t1.d +; + +SELECT 1 +FROM t1 +LEFT JOIN ( + t2 JOIN t3 ON t3.c = t2.c +) ON t2.b = t1.b +LEFT JOIN ( + t4 LEFT JOIN (t5 JOIN t5_1 ON t5.l = t5_1.l) ON t5.d = t4.d +) ON t4.d = t1.d +; + +SET optimizer_search_depth = DEFAULT; +DROP TABLE t1,t2,t2_1,t3,t3_1,t4,t4_1,t5,t5_1; + +--echo End of 5.0 tests diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 9723dd8c4e4..c49b0f0b723 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -100,7 +100,7 @@ static COND* substitute_for_best_equal_field(COND *cond, void *table_join_idx); static COND *simplify_joins(JOIN *join, List *join_list, COND *conds, bool top); -static bool check_interleaving_with_nj(JOIN_TAB *last, JOIN_TAB *next); +static bool check_interleaving_with_nj(JOIN_TAB *next); static void restore_prev_nj_state(JOIN_TAB *last); static void reset_nj_counters(List *join_list); static uint build_bitmap_for_nested_joins(List *join_list, @@ -4705,6 +4705,18 @@ greedy_search(JOIN *join, */ join->positions[idx]= best_pos; + /* + Update the interleaving state after extending the current partial plan + with a new table. + We are doing this here because best_extension_by_limited_search reverts + the interleaving state to the one of the non-extended partial plan + on exit. + */ + IF_DBUG(bool is_interleave_error= ) + check_interleaving_with_nj (best_table); + /* This has been already checked by best_extension_by_limited_search */ + DBUG_ASSERT(!is_interleave_error); + /* find the position of 'best_table' in 'join->best_ref' */ best_idx= idx; JOIN_TAB *pos= join->best_ref[best_idx]; @@ -4722,7 +4734,7 @@ greedy_search(JOIN *join, --size_remain; ++idx; - DBUG_EXECUTE("opt", print_plan(join, join->tables, + DBUG_EXECUTE("opt", print_plan(join, idx, record_count, read_time, read_time, "extended");); } while (TRUE); @@ -4873,7 +4885,7 @@ best_extension_by_limited_search(JOIN *join, table_map real_table_bit= s->table->map; if ((remaining_tables & real_table_bit) && !(remaining_tables & s->dependent) && - (!idx || !check_interleaving_with_nj(join->positions[idx-1].table, s))) + (!idx || !check_interleaving_with_nj(s))) { double current_record_count, current_read_time; @@ -5018,7 +5030,7 @@ find_best(JOIN *join,table_map rest_tables,uint idx,double record_count, { table_map real_table_bit=s->table->map; if ((rest_tables & real_table_bit) && !(rest_tables & s->dependent) && - (!idx|| !check_interleaving_with_nj(join->positions[idx-1].table, s))) + (!idx|| !check_interleaving_with_nj(s))) { double records, best; best_access_path(join, s, thd, rest_tables, idx, record_count, @@ -8380,9 +8392,6 @@ static void reset_nj_counters(List *join_list) SYNOPSIS check_interleaving_with_nj() - join Join being processed - last_tab Last table in current partial join order (this function is - not called for empty partial join orders) next_tab Table we're going to extend the current partial join with DESCRIPTION @@ -8467,10 +8476,10 @@ static void reset_nj_counters(List *join_list) TRUE Requested join order extension not allowed. */ -static bool check_interleaving_with_nj(JOIN_TAB *last_tab, JOIN_TAB *next_tab) +static bool check_interleaving_with_nj(JOIN_TAB *next_tab) { TABLE_LIST *next_emb= next_tab->table->pos_in_table_list->embedding; - JOIN *join= last_tab->join; + JOIN *join= next_tab->join; if (join->cur_embedding_map & ~next_tab->embedding_map) { -- cgit v1.2.1 From 96415bb39da6cafaf2059de6d9b58dbc115c7f92 Mon Sep 17 00:00:00 2001 From: Timothy Smith Date: Tue, 13 Jan 2009 15:14:11 +0100 Subject: Applying InnoDB snapshot innodb-5.1-ss3603 Detailed description of changes: r3601 | marko | 2008-12-22 16:05:19 +0200 (Mon, 22 Dec 2008) | 9 lines branches/5.1: Make SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED a true replacement of SET GLOBAL INNODB_LOCKS_UNSAFE_FOR_BINLOG=1. This fixes an error that was introduced in r370, causing semi-consistent read not to not unlock rows in READ UNCOMMITTED mode. (Bug #41671, Issue #146) rb://67 approved by Heikki Tuuri --- mysql-test/r/innodb-semi-consistent.result | 5 +++-- mysql-test/t/innodb-semi-consistent-master.opt | 2 +- mysql-test/t/innodb-semi-consistent.test | 7 +++++-- storage/innobase/handler/ha_innodb.cc | 3 ++- storage/innobase/row/row0mysql.c | 7 ++++--- 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/mysql-test/r/innodb-semi-consistent.result b/mysql-test/r/innodb-semi-consistent.result index 6173048c320..55e3cb5c7b4 100644 --- a/mysql-test/r/innodb-semi-consistent.result +++ b/mysql-test/r/innodb-semi-consistent.result @@ -1,6 +1,6 @@ drop table if exists t1; set binlog_format=mixed; -set session transaction isolation level read committed; +set session transaction isolation level repeatable read; create table t1(a int not null) engine=innodb DEFAULT CHARSET=latin1; insert into t1 values (1),(2),(3),(4),(5),(6),(7); set autocommit=0; @@ -8,11 +8,12 @@ select * from t1 where a=3 lock in share mode; a 3 set binlog_format=mixed; -set session transaction isolation level read committed; +set session transaction isolation level repeatable read; set autocommit=0; update t1 set a=10 where a=5; ERROR HY000: Lock wait timeout exceeded; try restarting transaction commit; +set session transaction isolation level read committed; update t1 set a=10 where a=5; select * from t1 where a=2 for update; ERROR HY000: Lock wait timeout exceeded; try restarting transaction diff --git a/mysql-test/t/innodb-semi-consistent-master.opt b/mysql-test/t/innodb-semi-consistent-master.opt index 2746e4e184e..e76299453d3 100644 --- a/mysql-test/t/innodb-semi-consistent-master.opt +++ b/mysql-test/t/innodb-semi-consistent-master.opt @@ -1 +1 @@ ---innodb_locks_unsafe_for_binlog=true --innodb_lock_wait_timeout=2 +--innodb_lock_wait_timeout=2 diff --git a/mysql-test/t/innodb-semi-consistent.test b/mysql-test/t/innodb-semi-consistent.test index a3496625e95..6d3020bb560 100644 --- a/mysql-test/t/innodb-semi-consistent.test +++ b/mysql-test/t/innodb-semi-consistent.test @@ -11,7 +11,7 @@ connect (a,localhost,root,,); connect (b,localhost,root,,); connection a; set binlog_format=mixed; -set session transaction isolation level read committed; +set session transaction isolation level repeatable read; create table t1(a int not null) engine=innodb DEFAULT CHARSET=latin1; insert into t1 values (1),(2),(3),(4),(5),(6),(7); set autocommit=0; @@ -19,13 +19,15 @@ set autocommit=0; select * from t1 where a=3 lock in share mode; connection b; set binlog_format=mixed; -set session transaction isolation level read committed; +set session transaction isolation level repeatable read; set autocommit=0; -- error ER_LOCK_WAIT_TIMEOUT update t1 set a=10 where a=5; connection a; commit; connection b; +# perform a semi-consisent read (and unlock non-matching rows) +set session transaction isolation level read committed; update t1 set a=10 where a=5; connection a; -- error ER_LOCK_WAIT_TIMEOUT @@ -33,6 +35,7 @@ select * from t1 where a=2 for update; # this should lock the records (1),(2) select * from t1 where a=2 limit 1 for update; connection b; +# semi-consistent read will skip non-matching locked rows a=1, a=2 update t1 set a=11 where a=6; -- error ER_LOCK_WAIT_TIMEOUT update t1 set a=12 where a=2; diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc index 366bc3966c7..513ce85ad0c 100644 --- a/storage/innobase/handler/ha_innodb.cc +++ b/storage/innobase/handler/ha_innodb.cc @@ -4129,7 +4129,8 @@ ha_innobase::unlock_row(void) switch (prebuilt->row_read_type) { case ROW_READ_WITH_LOCKS: if (!srv_locks_unsafe_for_binlog - || prebuilt->trx->isolation_level == TRX_ISO_READ_COMMITTED) { + && prebuilt->trx->isolation_level + != TRX_ISO_READ_COMMITTED) { break; } /* fall through */ diff --git a/storage/innobase/row/row0mysql.c b/storage/innobase/row/row0mysql.c index 1713863f1fe..088d944cb91 100644 --- a/storage/innobase/row/row0mysql.c +++ b/storage/innobase/row/row0mysql.c @@ -1486,12 +1486,13 @@ row_unlock_for_mysql( ut_ad(prebuilt && trx); ut_ad(trx->mysql_thread_id == os_thread_get_curr_id()); - if (!(srv_locks_unsafe_for_binlog - || trx->isolation_level == TRX_ISO_READ_COMMITTED)) { + if (UNIV_UNLIKELY + (!srv_locks_unsafe_for_binlog + && trx->isolation_level != TRX_ISO_READ_COMMITTED)) { fprintf(stderr, "InnoDB: Error: calling row_unlock_for_mysql though\n" - "InnoDB: srv_locks_unsafe_for_binlog is FALSE and\n" + "InnoDB: innodb_locks_unsafe_for_binlog is FALSE and\n" "InnoDB: this session is not using" " READ COMMITTED isolation level.\n"); -- cgit v1.2.1 From 2cfe32ae428a2ea1c40aee7b4d90d5452be161bb Mon Sep 17 00:00:00 2001 From: Timothy Smith Date: Tue, 13 Jan 2009 16:16:03 +0100 Subject: Fix Bug#32831: libmysql should be built with all charsets Add #define HAVE_CHARSET_name in config-win.h for all character sets that MySQL supports. Add comments to config/ac-macros/character_sets.m4 and config-win.h so hopefully they will be updated in sync. --- config/ac-macros/character_sets.m4 | 3 ++ include/config-win.h | 64 +++++++++++++++++++++----------------- 2 files changed, 38 insertions(+), 29 deletions(-) diff --git a/config/ac-macros/character_sets.m4 b/config/ac-macros/character_sets.m4 index a9f7bd73858..24bdd92b083 100644 --- a/config/ac-macros/character_sets.m4 +++ b/config/ac-macros/character_sets.m4 @@ -5,6 +5,9 @@ dnl you must also create strings/ctype-$charset_name.c AC_DIVERT_PUSH(0) +# Any changes to the available character sets must also go into +# include/config-win.h + define(CHARSETS_AVAILABLE0,binary) define(CHARSETS_AVAILABLE1,armscii8 ascii big5 cp1250 cp1251 cp1256 cp1257) define(CHARSETS_AVAILABLE2,cp850 cp852 cp866 cp932 dec8 eucjpms euckr gb2312 gbk geostd8) diff --git a/include/config-win.h b/include/config-win.h index c8b9004eb8a..ab0926af864 100644 --- a/include/config-win.h +++ b/include/config-win.h @@ -197,11 +197,6 @@ typedef uint rf_SetTimer; #define SIGNAL_WITH_VIO_CLOSE #endif -/* Use all character sets in MySQL */ -#define USE_MB 1 -#define USE_MB_IDENT 1 -#define USE_STRCOLL 1 - /* All windows servers should support .sym files */ #undef USE_SYMDIR #define USE_SYMDIR @@ -371,9 +366,6 @@ inline ulonglong double2ulonglong(double d) #define shared_memory_buffer_length 16000 #define default_shared_memory_base_name "MYSQL" -#define MYSQL_DEFAULT_CHARSET_NAME "latin1" -#define MYSQL_DEFAULT_COLLATION_NAME "latin1_swedish_ci" - #define HAVE_SPATIAL 1 #define HAVE_RTREE_KEYS 1 @@ -383,40 +375,54 @@ inline ulonglong double2ulonglong(double d) #define COMMUNITY_SERVER 1 #define ENABLED_PROFILING 1 -/* Define charsets you want */ -/* #undef HAVE_CHARSET_armscii8 */ -/* #undef HAVE_CHARSET_ascii */ +/* + Our Windows binaries include all character sets which MySQL supports. + Any changes to the available character sets must also go into + config/ac-macros/character_sets.m4 +*/ + +#define MYSQL_DEFAULT_CHARSET_NAME "latin1" +#define MYSQL_DEFAULT_COLLATION_NAME "latin1_swedish_ci" + +#define USE_MB 1 +#define USE_MB_IDENT 1 +#define USE_STRCOLL 1 + +#define HAVE_CHARSET_armscii8 +#define HAVE_CHARSET_ascii #define HAVE_CHARSET_big5 1 #define HAVE_CHARSET_cp1250 1 -/* #undef HAVE_CHARSET_cp1251 */ -/* #undef HAVE_CHARSET_cp1256 */ -/* #undef HAVE_CHARSET_cp1257 */ -/* #undef HAVE_CHARSET_cp850 */ -/* #undef HAVE_CHARSET_cp852 */ -/* #undef HAVE_CHARSET_cp866 */ +#define HAVE_CHARSET_cp1251 +#define HAVE_CHARSET_cp1256 +#define HAVE_CHARSET_cp1257 +#define HAVE_CHARSET_cp850 +#define HAVE_CHARSET_cp852 +#define HAVE_CHARSET_cp866 #define HAVE_CHARSET_cp932 1 -/* #undef HAVE_CHARSET_dec8 */ +#define HAVE_CHARSET_dec8 #define HAVE_CHARSET_eucjpms 1 #define HAVE_CHARSET_euckr 1 #define HAVE_CHARSET_gb2312 1 #define HAVE_CHARSET_gbk 1 -/* #undef HAVE_CHARSET_greek */ -/* #undef HAVE_CHARSET_hebrew */ -/* #undef HAVE_CHARSET_hp8 */ -/* #undef HAVE_CHARSET_keybcs2 */ -/* #undef HAVE_CHARSET_koi8r */ -/* #undef HAVE_CHARSET_koi8u */ +#define HAVE_CHARSET_geostd8 +#define HAVE_CHARSET_greek +#define HAVE_CHARSET_hebrew +#define HAVE_CHARSET_hp8 +#define HAVE_CHARSET_keybcs2 +#define HAVE_CHARSET_koi8r +#define HAVE_CHARSET_koi8u #define HAVE_CHARSET_latin1 1 #define HAVE_CHARSET_latin2 1 -/* #undef HAVE_CHARSET_latin5 */ -/* #undef HAVE_CHARSET_latin7 */ -/* #undef HAVE_CHARSET_macce */ -/* #undef HAVE_CHARSET_macroman */ +#define HAVE_CHARSET_latin5 +#define HAVE_CHARSET_latin7 +#define HAVE_CHARSET_macce +#define HAVE_CHARSET_macroman #define HAVE_CHARSET_sjis 1 -/* #undef HAVE_CHARSET_swe7 */ +#define HAVE_CHARSET_swe7 #define HAVE_CHARSET_tis620 1 #define HAVE_CHARSET_ucs2 1 #define HAVE_CHARSET_ujis 1 #define HAVE_CHARSET_utf8 1 + #define HAVE_UCA_COLLATIONS 1 #define HAVE_BOOL 1 -- cgit v1.2.1 From 3d6cea324a8ab76e6ff0b1b948beee261278ed40 Mon Sep 17 00:00:00 2001 From: Davi Arnaut Date: Tue, 13 Jan 2009 20:07:06 -0200 Subject: Bug#36326: nested transaction and select The problem is that the query cache stores packets containing the server status of the time when the cached statement was run. This might lead to a wrong transaction status in the client side if a statement is cached during a transaction and is later served outside a transaction context (and vice-versa). The solution is to take into account the transaction status when storing in and serving from the query cache. mysql-test/r/innodb_cache.result: Update test case result. mysql-test/r/query_cache.result: Add test case result for Bug#36326 mysql-test/t/query_cache.test: Add test case for Bug#36326 sql/mysql_priv.h: Add new flags. sql/sql_cache.cc: Remember the transaction and autocommit status stored in the packet. tests/mysql_client_test.c: Add test case for Bug#36326 --- mysql-test/r/innodb_cache.result | 10 +++---- mysql-test/r/query_cache.result | 51 ++++++++++++++++++++++++++++++++++ mysql-test/t/query_cache.test | 27 ++++++++++++++++++ sql/mysql_priv.h | 2 ++ sql/sql_cache.cc | 17 +++++++++--- tests/mysql_client_test.c | 60 ++++++++++++++++++++++++++++++++++++++++ 6 files changed, 158 insertions(+), 9 deletions(-) diff --git a/mysql-test/r/innodb_cache.result b/mysql-test/r/innodb_cache.result index 5e8611655a2..36fa3c5c352 100644 --- a/mysql-test/r/innodb_cache.result +++ b/mysql-test/r/innodb_cache.result @@ -66,10 +66,10 @@ a 2 show status like "Qcache_queries_in_cache"; Variable_name Value -Qcache_queries_in_cache 3 +Qcache_queries_in_cache 6 show status like "Qcache_hits"; Variable_name Value -Qcache_hits 3 +Qcache_hits 0 insert into t1 values (3); insert into t2 values (3); insert into t1 values (4); @@ -90,14 +90,14 @@ a 2 show status like "Qcache_queries_in_cache"; Variable_name Value -Qcache_queries_in_cache 1 +Qcache_queries_in_cache 2 show status like "Qcache_hits"; Variable_name Value -Qcache_hits 4 +Qcache_hits 1 commit; show status like "Qcache_queries_in_cache"; Variable_name Value -Qcache_queries_in_cache 1 +Qcache_queries_in_cache 2 drop table t3,t2,t1; CREATE TABLE t1 (id int(11) NOT NULL auto_increment, PRIMARY KEY (id)) ENGINE=InnoDB; select count(*) from t1; diff --git a/mysql-test/r/query_cache.result b/mysql-test/r/query_cache.result index fa80a44c177..a2b73db77a9 100644 --- a/mysql-test/r/query_cache.result +++ b/mysql-test/r/query_cache.result @@ -1681,3 +1681,54 @@ Qcache_hits 1 DROP TABLE t1; SET GLOBAL concurrent_insert= @save_concurrent_insert; SET GLOBAL query_cache_size= default; +DROP TABLE IF EXISTS t1; +FLUSH STATUS; +SET GLOBAL query_cache_size=1048576; +CREATE TABLE t1 (a INT); +INSERT INTO t1 VALUES (1),(2),(3),(4),(5); +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 0 +SELECT * FROM t1; +a +1 +2 +3 +4 +5 +BEGIN; +SELECT * FROM t1; +a +1 +2 +3 +4 +5 +COMMIT; +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 2 +SHOW STATUS LIKE "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +SELECT * FROM t1; +a +1 +2 +3 +4 +5 +BEGIN; +SELECT * FROM t1; +a +1 +2 +3 +4 +5 +COMMIT; +SHOW STATUS LIKE "Qcache_hits"; +Variable_name Value +Qcache_hits 2 +DROP TABLE t1; +SET GLOBAL query_cache_size= default; diff --git a/mysql-test/t/query_cache.test b/mysql-test/t/query_cache.test index ebd24bf2b89..2dd70f415a1 100644 --- a/mysql-test/t/query_cache.test +++ b/mysql-test/t/query_cache.test @@ -1276,4 +1276,31 @@ DROP TABLE t1; SET GLOBAL concurrent_insert= @save_concurrent_insert; SET GLOBAL query_cache_size= default; +# +# Bug#36326: nested transaction and select +# + +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings + +FLUSH STATUS; +SET GLOBAL query_cache_size=1048576; +CREATE TABLE t1 (a INT); +INSERT INTO t1 VALUES (1),(2),(3),(4),(5); +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +SELECT * FROM t1; +BEGIN; +SELECT * FROM t1; +COMMIT; +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +SHOW STATUS LIKE "Qcache_hits"; +SELECT * FROM t1; +BEGIN; +SELECT * FROM t1; +COMMIT; +SHOW STATUS LIKE "Qcache_hits"; +DROP TABLE t1; +SET GLOBAL query_cache_size= default; + # End of 5.0 tests diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index 8a8513ac745..b855af9a8d3 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -651,6 +651,8 @@ struct Query_cache_query_flags unsigned int client_long_flag:1; unsigned int client_protocol_41:1; unsigned int more_results_exists:1; + unsigned int in_trans:1; + unsigned int autocommit:1; unsigned int pkt_nr; uint character_set_client_num; uint character_set_results_num; diff --git a/sql/sql_cache.cc b/sql/sql_cache.cc index b487f092f75..4a521d83192 100644 --- a/sql/sql_cache.cc +++ b/sql/sql_cache.cc @@ -859,6 +859,8 @@ void Query_cache::store_query(THD *thd, TABLE_LIST *tables_used) CLIENT_PROTOCOL_41); flags.more_results_exists= test(thd->server_status & SERVER_MORE_RESULTS_EXISTS); + flags.in_trans= test(thd->server_status & SERVER_STATUS_IN_TRANS); + flags.autocommit= test(thd->server_status & SERVER_STATUS_AUTOCOMMIT); flags.pkt_nr= net->pkt_nr; flags.character_set_client_num= thd->variables.character_set_client->number; @@ -879,7 +881,7 @@ void Query_cache::store_query(THD *thd, TABLE_LIST *tables_used) DBUG_PRINT("qcache", ("long %d, 4.1: %d, more results %d, pkt_nr: %d, \ CS client: %u, CS result: %u, CS conn: %u, limit: %lu, TZ: 0x%lx, \ sql mode: 0x%lx, sort len: %lu, conncat len: %lu, div_precision: %lu, \ -def_week_frmt: %lu", +def_week_frmt: %lu, in_trans: %d, autocommit: %d", (int)flags.client_long_flag, (int)flags.client_protocol_41, (int)flags.more_results_exists, @@ -893,7 +895,10 @@ def_week_frmt: %lu", flags.max_sort_length, flags.group_concat_max_len, flags.div_precision_increment, - flags.default_week_format)); + flags.default_week_format, + (int)flags.in_trans, + (int)flags.autocommit)); + /* Make InnoDB to release the adaptive hash index latch before acquiring the query cache mutex. @@ -1144,6 +1149,8 @@ Query_cache::send_result_to_client(THD *thd, char *sql, uint query_length) CLIENT_PROTOCOL_41); flags.more_results_exists= test(thd->server_status & SERVER_MORE_RESULTS_EXISTS); + flags.in_trans= test(thd->server_status & SERVER_STATUS_IN_TRANS); + flags.autocommit= test(thd->server_status & SERVER_STATUS_AUTOCOMMIT); flags.pkt_nr= thd->net.pkt_nr; flags.character_set_client_num= thd->variables.character_set_client->number; flags.character_set_results_num= @@ -1162,7 +1169,7 @@ Query_cache::send_result_to_client(THD *thd, char *sql, uint query_length) DBUG_PRINT("qcache", ("long %d, 4.1: %d, more results %d, pkt_nr: %d, \ CS client: %u, CS result: %u, CS conn: %u, limit: %lu, TZ: 0x%lx, \ sql mode: 0x%lx, sort len: %lu, conncat len: %lu, div_precision: %lu, \ -def_week_frmt: %lu", +def_week_frmt: %lu, in_trans: %d, autocommit: %d", (int)flags.client_long_flag, (int)flags.client_protocol_41, (int)flags.more_results_exists, @@ -1176,7 +1183,9 @@ def_week_frmt: %lu", flags.max_sort_length, flags.group_concat_max_len, flags.div_precision_increment, - flags.default_week_format)); + flags.default_week_format, + (int)flags.in_trans, + (int)flags.autocommit)); memcpy((void *)(sql + (tot_length - QUERY_CACHE_FLAGS_SIZE)), &flags, QUERY_CACHE_FLAGS_SIZE); query_block = (Query_cache_block *) hash_search(&queries, (byte*) sql, diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c index 50f03a1a086..0fddffebf82 100644 --- a/tests/mysql_client_test.c +++ b/tests/mysql_client_test.c @@ -16354,6 +16354,63 @@ static void test_bug40365(void) DBUG_VOID_RETURN; } + + +/** + Bug#36326: nested transaction and select +*/ + +#ifdef HAVE_QUERY_CACHE + +static void test_bug36326() +{ + int rc; + + DBUG_ENTER("test_bug36326"); + myheader("test_bug36326"); + + rc= mysql_autocommit(mysql, TRUE); + myquery(rc); + rc= mysql_query(mysql, "DROP TABLE IF EXISTS t1"); + myquery(rc); + rc= mysql_query(mysql, "CREATE TABLE t1 (a INTEGER)"); + myquery(rc); + rc= mysql_query(mysql, "INSERT INTO t1 VALUES (1)"); + myquery(rc); + rc= mysql_query(mysql, "SET GLOBAL query_cache_type = 1"); + myquery(rc); + rc= mysql_query(mysql, "SET GLOBAL query_cache_size = 1048576"); + myquery(rc); + DIE_UNLESS(!(mysql->server_status & SERVER_STATUS_IN_TRANS)); + DIE_UNLESS(mysql->server_status & SERVER_STATUS_AUTOCOMMIT); + rc= mysql_query(mysql, "BEGIN"); + myquery(rc); + DIE_UNLESS(mysql->server_status & SERVER_STATUS_IN_TRANS); + rc= mysql_query(mysql, "SELECT * FROM t1"); + myquery(rc); + rc= my_process_result(mysql); + DIE_UNLESS(rc == 1); + rc= mysql_rollback(mysql); + myquery(rc); + rc= mysql_query(mysql, "ROLLBACK"); + myquery(rc); + DIE_UNLESS(!(mysql->server_status & SERVER_STATUS_IN_TRANS)); + rc= mysql_query(mysql, "SELECT * FROM t1"); + myquery(rc); + DIE_UNLESS(!(mysql->server_status & SERVER_STATUS_IN_TRANS)); + rc= my_process_result(mysql); + DIE_UNLESS(rc == 1); + rc= mysql_query(mysql, "DROP TABLE t1"); + myquery(rc); + rc= mysql_query(mysql, "SET GLOBAL query_cache_size = 0"); + myquery(rc); + + DBUG_VOID_RETURN; +} + +#endif + + /* Read and parse arguments and MySQL options from my.cnf */ @@ -16652,6 +16709,9 @@ static struct my_tests_st my_tests[]= { { "test_bug40365", test_bug40365 }, #ifdef HAVE_SPATIAL { "test_bug37956", test_bug37956 }, +#endif +#ifdef HAVE_QUERY_CACHE + { "test_bug36326", test_bug36326 }, #endif { 0, 0 } }; -- cgit v1.2.1 From 50958a346a1b79610defb74fcfffbcd73e8e6326 Mon Sep 17 00:00:00 2001 From: Timothy Smith Date: Tue, 13 Jan 2009 23:12:16 +0100 Subject: Apply test case changes for Bug #41671 (innodb-semi-consistent.test) also to partition_innodb_semi_consistent.test, which was overlooked in the innodb-5.1-ss3603 snapshot. --- mysql-test/r/partition_innodb_semi_consistent.result | 5 +++-- mysql-test/t/partition_innodb_semi_consistent.test | 7 +++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/mysql-test/r/partition_innodb_semi_consistent.result b/mysql-test/r/partition_innodb_semi_consistent.result index 1bb39af043a..471da4c1c2e 100644 --- a/mysql-test/r/partition_innodb_semi_consistent.result +++ b/mysql-test/r/partition_innodb_semi_consistent.result @@ -1,6 +1,6 @@ drop table if exists t1; set binlog_format=mixed; -set session transaction isolation level read committed; +set session transaction isolation level repeatable read; create table t1(a int not null) engine=innodb DEFAULT CHARSET=latin1 @@ -13,11 +13,12 @@ select * from t1 where a=3 lock in share mode; a 3 set binlog_format=mixed; -set session transaction isolation level read committed; +set session transaction isolation level repeatable read; set autocommit=0; update t1 set a=10 where a=5; ERROR HY000: Lock wait timeout exceeded; try restarting transaction commit; +set session transaction isolation level read committed; update t1 set a=10 where a=5; select * from t1 where a=2 for update; ERROR HY000: Lock wait timeout exceeded; try restarting transaction diff --git a/mysql-test/t/partition_innodb_semi_consistent.test b/mysql-test/t/partition_innodb_semi_consistent.test index cfa170f575b..6a6a7cf958e 100644 --- a/mysql-test/t/partition_innodb_semi_consistent.test +++ b/mysql-test/t/partition_innodb_semi_consistent.test @@ -14,7 +14,7 @@ connect (a,localhost,root,,); connect (b,localhost,root,,); connection a; set binlog_format=mixed; -set session transaction isolation level read committed; +set session transaction isolation level repeatable read; create table t1(a int not null) engine=innodb DEFAULT CHARSET=latin1 @@ -27,7 +27,7 @@ set autocommit=0; select * from t1 where a=3 lock in share mode; connection b; set binlog_format=mixed; -set session transaction isolation level read committed; +set session transaction isolation level repeatable read; set autocommit=0; -- error ER_LOCK_WAIT_TIMEOUT update t1 set a=10 where a=5; @@ -35,6 +35,8 @@ connection a; #DELETE FROM t1 WHERE a=5; commit; connection b; +# perform a semi-consisent read (and unlock non-matching rows) +set session transaction isolation level read committed; update t1 set a=10 where a=5; connection a; -- error ER_LOCK_WAIT_TIMEOUT @@ -42,6 +44,7 @@ select * from t1 where a=2 for update; # this should lock the records (1),(2) select * from t1 where a=2 limit 1 for update; connection b; +# semi-consistent read will skip non-matching locked rows a=1, a=2 update t1 set a=11 where a=6; -- error ER_LOCK_WAIT_TIMEOUT update t1 set a=12 where a=2; -- cgit v1.2.1 From 80e659a2edd273c9fa5df42fef012cfd6571752f Mon Sep 17 00:00:00 2001 From: Timothy Smith Date: Tue, 13 Jan 2009 23:29:11 +0100 Subject: Fix Bug #35261: date_format test fails if new variables LIKE '%e_format' are added Use SELECT FROM INFORMATION_SCHEMA instead of SHOW VARIABLES LIKE to restrict values correctly. --- mysql-test/r/date_formats.result | 39 ++++++++++++++++++++++++--------------- mysql-test/t/date_formats.test | 21 ++++++++++++++------- 2 files changed, 38 insertions(+), 22 deletions(-) diff --git a/mysql-test/r/date_formats.result b/mysql-test/r/date_formats.result index 99ae6d85fee..7e185daa668 100644 --- a/mysql-test/r/date_formats.result +++ b/mysql-test/r/date_formats.result @@ -1,14 +1,20 @@ drop table if exists t1; -SHOW GLOBAL VARIABLES LIKE "%e_format"; -Variable_name Value -date_format %d.%m.%Y -datetime_format %Y-%m-%d %H:%i:%s -time_format %H.%i.%s -SHOW SESSION VARIABLES LIKE "%e_format"; -Variable_name Value -date_format %d.%m.%Y -datetime_format %Y-%m-%d %H:%i:%s -time_format %H.%i.%s +SELECT variable_name, variable_value +FROM information_schema.global_variables +WHERE variable_name IN ('date_format', 'datetime_format', 'time_format') +ORDER BY variable_name; +variable_name variable_value +DATETIME_FORMAT %Y-%m-%d %H:%i:%s +DATE_FORMAT %d.%m.%Y +TIME_FORMAT %H.%i.%s +SELECT variable_name, variable_value +FROM information_schema.session_variables +WHERE variable_name IN ('date_format', 'datetime_format', 'time_format') +ORDER BY variable_name; +variable_name variable_value +DATETIME_FORMAT %Y-%m-%d %H:%i:%s +DATE_FORMAT %d.%m.%Y +TIME_FORMAT %H.%i.%s SET time_format='%H%i%s'; SET time_format='%H:%i:%s.%f'; SET time_format='%h-%i-%s.%f%p'; @@ -26,11 +32,14 @@ set datetime_format= '%H:%i:%s %Y-%m-%d'; set datetime_format= '%H:%i:%s.%f %m-%d-%Y'; set datetime_format= '%h:%i:%s %p %Y-%m-%d'; set datetime_format= '%h:%i:%s.%f %p %Y-%m-%d'; -SHOW SESSION VARIABLES LIKE "%e_format"; -Variable_name Value -date_format %m-%d-%Y -datetime_format %h:%i:%s.%f %p %Y-%m-%d -time_format %h:%i:%s%p +SELECT variable_name, variable_value +FROM information_schema.session_variables +WHERE variable_name IN ('date_format', 'datetime_format', 'time_format') +ORDER BY variable_name; +variable_name variable_value +DATETIME_FORMAT %h:%i:%s.%f %p %Y-%m-%d +DATE_FORMAT %m-%d-%Y +TIME_FORMAT %h:%i:%s%p SET time_format='%h:%i:%s'; ERROR 42000: Variable 'time_format' can't be set to the value of '%h:%i:%s' SET time_format='%H %i:%s'; diff --git a/mysql-test/t/date_formats.test b/mysql-test/t/date_formats.test index e474fac8a2a..e5dc7ffa53e 100644 --- a/mysql-test/t/date_formats.test +++ b/mysql-test/t/date_formats.test @@ -6,10 +6,15 @@ drop table if exists t1; --enable_warnings ---replace_result ROW STATEMENT MIXED -SHOW GLOBAL VARIABLES LIKE "%e_format"; ---replace_result ROW STATEMENT MIXED -SHOW SESSION VARIABLES LIKE "%e_format"; +SELECT variable_name, variable_value +FROM information_schema.global_variables +WHERE variable_name IN ('date_format', 'datetime_format', 'time_format') +ORDER BY variable_name; + +SELECT variable_name, variable_value +FROM information_schema.session_variables +WHERE variable_name IN ('date_format', 'datetime_format', 'time_format') +ORDER BY variable_name; # # Test setting a lot of different formats to see which formats are accepted and @@ -36,8 +41,10 @@ set datetime_format= '%H:%i:%s.%f %m-%d-%Y'; set datetime_format= '%h:%i:%s %p %Y-%m-%d'; set datetime_format= '%h:%i:%s.%f %p %Y-%m-%d'; ---replace_result ROW STATEMENT MIXED -SHOW SESSION VARIABLES LIKE "%e_format"; +SELECT variable_name, variable_value +FROM information_schema.session_variables +WHERE variable_name IN ('date_format', 'datetime_format', 'time_format') +ORDER BY variable_name; --error 1231 SET time_format='%h:%i:%s'; @@ -121,7 +128,7 @@ SET datetime_format=default; # Test of str_to_date # -# PS doesn't support fraction of a seconds +# PS doesn't support fractions of a second --disable_ps_protocol select str_to_date(concat('15-01-2001',' 2:59:58.999'), concat('%d-%m-%Y',' ','%H:%i:%s.%f')); -- cgit v1.2.1 From 73688c5e218543cba0ef1ef3d69bcdafea747d50 Mon Sep 17 00:00:00 2001 From: Chad MILLER Date: Wed, 14 Jan 2009 11:10:36 -0500 Subject: Fix comment. Boolean function returns true/false, not zero/one. --- sql/unireg.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/unireg.cc b/sql/unireg.cc index b581ad4655a..0aac7873d11 100644 --- a/sql/unireg.cc +++ b/sql/unireg.cc @@ -63,8 +63,8 @@ static bool make_empty_rec(THD *thd, int file, enum db_type table_type, db_file Handler to use. May be zero, in which case we use create_info->db_type RETURN - 0 ok - 1 error + false ok + true error */ bool mysql_create_frm(THD *thd, my_string file_name, -- cgit v1.2.1 From e85a3f7bc270723112affa6557d1fa6e7482ff61 Mon Sep 17 00:00:00 2001 From: Chad MILLER Date: Wed, 14 Jan 2009 11:11:31 -0500 Subject: Bug#38145: .frm file isn't sync'd with sync_frm enabled Views weren't sync()d the same way other structures were. In creating the FRM for views, obey the same rules for variable "sync_frm" as for everything else. --- sql/parse_file.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sql/parse_file.cc b/sql/parse_file.cc index 2b947fcac4f..c9bbdfd417e 100644 --- a/sql/parse_file.cc +++ b/sql/parse_file.cc @@ -263,6 +263,11 @@ sql_create_definition_file(const LEX_STRING *dir, const LEX_STRING *file_name, if (end_io_cache(&file)) goto err_w_file; + if (opt_sync_frm) { + if (my_sync(handler, MYF(MY_WME))) + goto err_w_file; + } + if (my_close(handler, MYF(MY_WME))) { DBUG_RETURN(TRUE); -- cgit v1.2.1 From 9a6e05d8b9908b3b0b5bca849f5af66e7c832e7c Mon Sep 17 00:00:00 2001 From: Alexander Nozdrin Date: Thu, 15 Jan 2009 12:36:34 +0300 Subject: Backport patch for Bug#31222 (com_% global status counters behave randomly with mysql_change_user) to 5.0. --- mysql-test/r/not_embedded_server.result | 7 +++++++ mysql-test/t/not_embedded_server.test | 28 ++++++++++++++++++++++++++++ sql/sql_class.cc | 4 ++++ 3 files changed, 39 insertions(+) diff --git a/mysql-test/r/not_embedded_server.result b/mysql-test/r/not_embedded_server.result index e471b5a3afa..edb698ade83 100644 --- a/mysql-test/r/not_embedded_server.result +++ b/mysql-test/r/not_embedded_server.result @@ -3,3 +3,10 @@ execute stmt1; Id User Host db Command Time State Info number root localhost test Query time NULL show full processlist deallocate prepare stmt1; +FLUSH STATUS; +SHOW GLOBAL STATUS LIKE 'com_select'; +Variable_name Value +Com_select 101 +SHOW GLOBAL STATUS LIKE 'com_select'; +Variable_name Value +Com_select 101 diff --git a/mysql-test/t/not_embedded_server.test b/mysql-test/t/not_embedded_server.test index 83ec03d6706..044d8665a18 100644 --- a/mysql-test/t/not_embedded_server.test +++ b/mysql-test/t/not_embedded_server.test @@ -16,3 +16,31 @@ execute stmt1; deallocate prepare stmt1; # End of 4.1 tests + +# +# Bug#31222: com_% global status counters behave randomly with +# mysql_change_user. +# + +FLUSH STATUS; + +--disable_result_log +--disable_query_log + +let $i = 100; + +while ($i) +{ + dec $i; + + SELECT 1; +} + +--enable_query_log +--enable_result_log + +SHOW GLOBAL STATUS LIKE 'com_select'; + +--change_user + +SHOW GLOBAL STATUS LIKE 'com_select'; diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 883291ec460..91c0aa66761 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -391,6 +391,10 @@ void THD::init_for_queries() void THD::change_user(void) { + pthread_mutex_lock(&LOCK_status); + add_to_status(&global_status_var, &status_var); + pthread_mutex_unlock(&LOCK_status); + cleanup(); cleanup_done= 0; init(); -- cgit v1.2.1 From eb09f64a78253379e1094b3d1c30474812d27d8a Mon Sep 17 00:00:00 2001 From: Alexander Nozdrin Date: Thu, 15 Jan 2009 14:58:32 +0300 Subject: Bug#31222: adding missed file. --- mysql-test/t/change_user-master.opt | 1 + 1 file changed, 1 insertion(+) create mode 100644 mysql-test/t/change_user-master.opt diff --git a/mysql-test/t/change_user-master.opt b/mysql-test/t/change_user-master.opt new file mode 100644 index 00000000000..cef79bc8585 --- /dev/null +++ b/mysql-test/t/change_user-master.opt @@ -0,0 +1 @@ +--force-restart -- cgit v1.2.1 From 637d4880278cd601a9d788442c098466d6773323 Mon Sep 17 00:00:00 2001 From: Davi Arnaut Date: Thu, 15 Jan 2009 11:38:49 -0200 Subject: Post-merge fix for Bug#36326 mysql-test/r/cache_innodb.result: Update test case result. --- mysql-test/r/cache_innodb.result | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/r/cache_innodb.result b/mysql-test/r/cache_innodb.result index ea23d507a4b..a6b86d8d82a 100644 --- a/mysql-test/r/cache_innodb.result +++ b/mysql-test/r/cache_innodb.result @@ -217,5 +217,5 @@ Variable_name Value Qcache_queries_in_cache 1 show status like "Qcache_hits"; Variable_name Value -Qcache_hits 2 +Qcache_hits 1 drop table t2; -- cgit v1.2.1 From 75e1ed96180cc96721ebb32946001c4b84aabda9 Mon Sep 17 00:00:00 2001 From: Timothy Smith Date: Fri, 16 Jan 2009 17:49:07 +0100 Subject: Add another cast to ignore int/ulong difference in error types, silence warning on Win64 --- storage/innobase/handler/ha_innodb.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc index 513ce85ad0c..5d895833f42 100644 --- a/storage/innobase/handler/ha_innodb.cc +++ b/storage/innobase/handler/ha_innodb.cc @@ -3687,7 +3687,7 @@ no_commit: /* We don't want to mask autoinc overflow errors. */ if (prebuilt->autoinc_error != DB_SUCCESS) { - error = prebuilt->autoinc_error; + error = (int) prebuilt->autoinc_error; goto report_error; } -- cgit v1.2.1 From 237ef78e1cd978c545b27179fa51cd6ff022210c Mon Sep 17 00:00:00 2001 From: Staale Smedseng Date: Tue, 20 Jan 2009 16:59:20 +0100 Subject: Adding a test to verify that Bug#27208 "If no current database, character_set_database !=character_set_server" is fixed. --- mysql-test/r/character_set_database_func.result | 10 ++++++++++ mysql-test/t/character_set_database_func.test | 21 +++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/mysql-test/r/character_set_database_func.result b/mysql-test/r/character_set_database_func.result index 95b65eacfd2..60628c30187 100644 --- a/mysql-test/r/character_set_database_func.result +++ b/mysql-test/r/character_set_database_func.result @@ -2,6 +2,7 @@ SET @global_character_set_database = @@global.character_set_database; SET @session_character_set_database = @@session.character_set_database; SET @session_character_set_server = @@session.character_set_server; +SET @global_character_set_server = @@global.character_set_server; SET @@global.character_set_database = utf8; 'connect (con1,localhost,root,,,,)' 'connection con1' @@ -71,6 +72,15 @@ SELECT count(*) FROM t1 WHERE CHAR_LENGTH(a)>1; count(*) 1 DROP TABLE IF EXISTS t1; +'Bug#27208: If no current database, character_set_database !=character_set_server' +SET GLOBAL character_set_server=latin5; +CREATE DATABASE csdb CHARACTER SET = utf8; +USE csdb; +DROP DATABASE csdb; +SELECT @@character_set_database; +@@character_set_database +latin5 SET @@global.character_set_database = @global_character_set_database; SET @@session.character_set_database = @session_character_set_database; SET @@session.character_set_server = @session_character_set_server; +SET @@global.character_set_server = @global_character_set_server; diff --git a/mysql-test/t/character_set_database_func.test b/mysql-test/t/character_set_database_func.test index b2d2d017d64..5ba8669c816 100644 --- a/mysql-test/t/character_set_database_func.test +++ b/mysql-test/t/character_set_database_func.test @@ -29,6 +29,7 @@ SET @global_character_set_database = @@global.character_set_database; SET @session_character_set_database = @@session.character_set_database; SET @session_character_set_server = @@session.character_set_server; +SET @global_character_set_server = @@global.character_set_server; SET @@global.character_set_database = utf8; --echo 'connect (con1,localhost,root,,,,)' @@ -106,10 +107,30 @@ SELECT count(*) FROM t1 WHERE CHAR_LENGTH(a)>1; DROP TABLE IF EXISTS t1; --enable_warnings + +#============================================================================== +--echo 'Bug#27208: If no current database, character_set_database !=character_set_server' +#============================================================================== + +SET GLOBAL character_set_server=latin5; + +connect (con2, localhost, root,,); +connection con2; + +CREATE DATABASE csdb CHARACTER SET = utf8; +USE csdb; +DROP DATABASE csdb; +SELECT @@character_set_database; + +connection default; +disconnect con2; + + #restore SET @@global.character_set_database = @global_character_set_database; SET @@session.character_set_database = @session_character_set_database; SET @@session.character_set_server = @session_character_set_server; +SET @@global.character_set_server = @global_character_set_server; ############################################################ # End of functionality Testing for character_set_database # ############################################################ -- cgit v1.2.1 From 4562b69fedb26a5095f45dbe0441c952aa09001c Mon Sep 17 00:00:00 2001 From: Serge Kozlov Date: Wed, 21 Jan 2009 18:48:12 +0300 Subject: Bug#30128: The reason that sometimes events were executed because without STARTS clause server fires immediately after creating event and time between create and delete event sometimes is enough for firing. So adding STARTS clause moves first execution in future after drop of event 1. Added STARTS clause for CREATE EVENT. 2. Updated result file. --- mysql-test/include/rpl_events.inc | 16 ++++++++++++---- mysql-test/suite/rpl/r/rpl_events.result | 20 +++++++++++--------- mysql-test/suite/rpl/t/rpl_events.test | 6 ++++-- 3 files changed, 27 insertions(+), 15 deletions(-) diff --git a/mysql-test/include/rpl_events.inc b/mysql-test/include/rpl_events.inc index 34ceba81a38..0effa8c4e5c 100644 --- a/mysql-test/include/rpl_events.inc +++ b/mysql-test/include/rpl_events.inc @@ -62,7 +62,9 @@ SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name DROP EVENT IF EXISTS test.slave_once; --enable_warnings -CREATE EVENT test.slave_once ON SCHEDULE EVERY 5 MINUTE DO +# Create an event on slave and check its state. An event shouldn't be executed +# so set start time in 1 hour. +CREATE EVENT test.slave_once ON SCHEDULE EVERY 5 MINUTE STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO INSERT IGNORE INTO t1(id, c) VALUES (3, 'from slave_once'); --echo "Checking event status on the slave for originator value = slave's server_id" @@ -81,8 +83,11 @@ connection master; DROP EVENT IF EXISTS test.justonce; --enable_warnings +# Create an event on master and check its state on slave. An event shouldn't be executed +# so set start time in 1 hour. Check that changes of event statement replicated to slave + --echo "Creating event test.er on the master" -CREATE EVENT test.er ON SCHEDULE EVERY 3 SECOND DO +CREATE EVENT test.er ON SCHEDULE EVERY 3 SECOND STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO INSERT IGNORE INTO t1(id, c) VALUES (4, 'from er'); --echo "Checking event status on the master" @@ -95,7 +100,7 @@ SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND connection master; --echo "Altering event test.er on the master" -ALTER EVENT test.er ON SCHEDULE EVERY 5 SECOND DO +ALTER EVENT test.er ON SCHEDULE EVERY 5 SECOND STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO INSERT IGNORE INTO t1(id, c) VALUES (5, 'from alter er'); --echo "Checking event status on the master" @@ -123,8 +128,11 @@ SELECT db, name, status, originator FROM mysql.event WHERE db = 'test'; # test the DISABLE ON SLAVE for setting event SLAVESIDE_DISABLED as status # on CREATE EVENT +# Create an event on slave and check its status. An event shouldn't be executed +# so set start time in 1 hour. + --echo "Creating event test.slave_terminate on the slave" -CREATE EVENT test.slave_terminate ON SCHEDULE EVERY 3 SECOND DO +CREATE EVENT test.slave_terminate ON SCHEDULE EVERY 3 SECOND STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO INSERT IGNORE INTO t1(id, c) VALUES (6, 'from slave_terminate'); --echo "Checking event status on the slave" diff --git a/mysql-test/suite/rpl/r/rpl_events.result b/mysql-test/suite/rpl/r/rpl_events.result index e4a412cb1d5..b797183f9d2 100644 --- a/mysql-test/suite/rpl/r/rpl_events.result +++ b/mysql-test/suite/rpl/r/rpl_events.result @@ -1,10 +1,11 @@ -set global event_scheduler=1; stop slave; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; reset master; reset slave; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; start slave; +SET @old_event_scheduler = @@global.event_scheduler; +set global event_scheduler=1; set binlog_format=row; DROP EVENT IF EXISTS test.justonce; drop table if exists t1,t2; @@ -34,7 +35,7 @@ db name status originator test justonce SLAVESIDE_DISABLED 1 "Dropping event test.slave_once on the slave" DROP EVENT IF EXISTS test.slave_once; -CREATE EVENT test.slave_once ON SCHEDULE EVERY 5 MINUTE DO +CREATE EVENT test.slave_once ON SCHEDULE EVERY 5 MINUTE STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO INSERT IGNORE INTO t1(id, c) VALUES (3, 'from slave_once'); "Checking event status on the slave for originator value = slave's server_id" SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'slave_once'; @@ -45,7 +46,7 @@ DROP EVENT IF EXISTS test.slave_once; "Dropping event test.justonce on the master" DROP EVENT IF EXISTS test.justonce; "Creating event test.er on the master" -CREATE EVENT test.er ON SCHEDULE EVERY 3 SECOND DO +CREATE EVENT test.er ON SCHEDULE EVERY 3 SECOND STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO INSERT IGNORE INTO t1(id, c) VALUES (4, 'from er'); "Checking event status on the master" SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er'; @@ -56,7 +57,7 @@ SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND db name status originator body test er SLAVESIDE_DISABLED 1 INSERT IGNORE INTO t1(id, c) VALUES (4, 'from er') "Altering event test.er on the master" -ALTER EVENT test.er ON SCHEDULE EVERY 5 SECOND DO +ALTER EVENT test.er ON SCHEDULE EVERY 5 SECOND STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO INSERT IGNORE INTO t1(id, c) VALUES (5, 'from alter er'); "Checking event status on the master" SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er'; @@ -75,7 +76,7 @@ db name status originator SELECT db, name, status, originator FROM mysql.event WHERE db = 'test'; db name status originator "Creating event test.slave_terminate on the slave" -CREATE EVENT test.slave_terminate ON SCHEDULE EVERY 3 SECOND DO +CREATE EVENT test.slave_terminate ON SCHEDULE EVERY 3 SECOND STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO INSERT IGNORE INTO t1(id, c) VALUES (6, 'from slave_terminate'); "Checking event status on the slave" SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'slave_terminate'; @@ -123,7 +124,7 @@ db name status originator test justonce SLAVESIDE_DISABLED 1 "Dropping event test.slave_once on the slave" DROP EVENT IF EXISTS test.slave_once; -CREATE EVENT test.slave_once ON SCHEDULE EVERY 5 MINUTE DO +CREATE EVENT test.slave_once ON SCHEDULE EVERY 5 MINUTE STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO INSERT IGNORE INTO t1(id, c) VALUES (3, 'from slave_once'); "Checking event status on the slave for originator value = slave's server_id" SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'slave_once'; @@ -134,7 +135,7 @@ DROP EVENT IF EXISTS test.slave_once; "Dropping event test.justonce on the master" DROP EVENT IF EXISTS test.justonce; "Creating event test.er on the master" -CREATE EVENT test.er ON SCHEDULE EVERY 3 SECOND DO +CREATE EVENT test.er ON SCHEDULE EVERY 3 SECOND STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO INSERT IGNORE INTO t1(id, c) VALUES (4, 'from er'); "Checking event status on the master" SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er'; @@ -145,7 +146,7 @@ SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND db name status originator body test er SLAVESIDE_DISABLED 1 INSERT IGNORE INTO t1(id, c) VALUES (4, 'from er') "Altering event test.er on the master" -ALTER EVENT test.er ON SCHEDULE EVERY 5 SECOND DO +ALTER EVENT test.er ON SCHEDULE EVERY 5 SECOND STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO INSERT IGNORE INTO t1(id, c) VALUES (5, 'from alter er'); "Checking event status on the master" SELECT db, name, status, originator, body FROM mysql.event WHERE db = 'test' AND name = 'er'; @@ -164,7 +165,7 @@ db name status originator SELECT db, name, status, originator FROM mysql.event WHERE db = 'test'; db name status originator "Creating event test.slave_terminate on the slave" -CREATE EVENT test.slave_terminate ON SCHEDULE EVERY 3 SECOND DO +CREATE EVENT test.slave_terminate ON SCHEDULE EVERY 3 SECOND STARTS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO INSERT IGNORE INTO t1(id, c) VALUES (6, 'from slave_terminate'); "Checking event status on the slave" SELECT db, name, status, originator FROM mysql.event WHERE db = 'test' AND name = 'slave_terminate'; @@ -190,4 +191,5 @@ select * from t28953; END;| ALTER EVENT event1 RENAME TO event2; DROP EVENT event2; +SET @@global.event_scheduler= @old_event_scheduler; DROP TABLE t28953; diff --git a/mysql-test/suite/rpl/t/rpl_events.test b/mysql-test/suite/rpl/t/rpl_events.test index 2a9cf86fe55..d06a3118389 100644 --- a/mysql-test/suite/rpl/t/rpl_events.test +++ b/mysql-test/suite/rpl/t/rpl_events.test @@ -5,11 +5,12 @@ # in both row based and statement based format # ################################################################## -set global event_scheduler=1; - --source include/not_embedded.inc --source include/master-slave.inc +SET @old_event_scheduler = @@global.event_scheduler; +set global event_scheduler=1; + let $engine_type= MyISAM; set binlog_format=row; @@ -51,5 +52,6 @@ sync_slave_with_master; # that there is no bad timing cauing it to try to access the table. connection master; +SET @@global.event_scheduler= @old_event_scheduler; DROP TABLE t28953; sync_slave_with_master; -- cgit v1.2.1 From 4a3e9851cf4297e48674758fa911eeb0f68c00ed Mon Sep 17 00:00:00 2001 From: Satya B Date: Thu, 22 Jan 2009 11:25:26 +0530 Subject: TestCase for BUG#41574 - REPAIR TABLE: crashes for compressed tables Extending the existing testcase written for BUG#40949 to verify repair table operation for compressed tables mysql-test/r/myisampack.result: Modified result file for myisampack.test mysql-test/t/myisampack.test: Modified Testcase to test repair operation for compressed tables --- mysql-test/r/myisampack.result | 5 +++++ mysql-test/t/myisampack.test | 3 +++ 2 files changed, 8 insertions(+) diff --git a/mysql-test/r/myisampack.result b/mysql-test/r/myisampack.result index 7ed9b86d887..50d700ab7a2 100644 --- a/mysql-test/r/myisampack.result +++ b/mysql-test/r/myisampack.result @@ -48,4 +48,9 @@ Table Op Msg_type Msg_text test.t1 optimize error Table 'test.t1' is read only Warnings: Error 1036 Table 't1' is read only +repair table t1; +Table Op Msg_type Msg_text +test.t1 repair error Table 'test.t1' is read only +Warnings: +Error 1036 Table 't1' is read only drop table t1; diff --git a/mysql-test/t/myisampack.test b/mysql-test/t/myisampack.test index 3b55154d433..8d4bb83dc01 100644 --- a/mysql-test/t/myisampack.test +++ b/mysql-test/t/myisampack.test @@ -34,6 +34,8 @@ DROP TABLE t1; # # Bug#40949 Debug version of MySQL server crashes when run OPTIMIZE on compressed table. +# expanded with testcase for +# BUG#41574 - REPAIR TABLE: crashes for compressed tables # --disable_warnings drop table if exists t1; @@ -55,4 +57,5 @@ insert into t1 select * from t1; flush tables; --exec $MYISAMPACK $MYSQLTEST_VARDIR/master-data/test/t1 optimize table t1; +repair table t1; drop table t1; -- cgit v1.2.1 From ecfdc3560c1e20c673337420761fa11c084ed2d8 Mon Sep 17 00:00:00 2001 From: Davi Arnaut Date: Thu, 22 Jan 2009 08:28:01 -0200 Subject: Bug#40264: Aborted cached query causes query to hang indefinitely on next cache hit The problem is that the query cache was storing partial results if the statement failed when sending the results to the client. This could cause clients to hang when trying to read the results from the cache as they would, for example, wait indefinitely for a eof packet that wasn't saved. The solution is to always discard the caching of a query that failed to send its results to the associated client. mysql-test/r/query_cache_notembedded.result: Add test case result for Bug#40264 mysql-test/t/query_cache_notembedded.test: Add test case for Bug#40264 sql/sql_cache.cc: Abort if a unreported error was raised. --- mysql-test/r/query_cache_notembedded.result | 16 +++++++++++++++ mysql-test/t/query_cache_notembedded.test | 31 +++++++++++++++++++++++++++++ sql/sql_cache.cc | 7 ++++++- 3 files changed, 53 insertions(+), 1 deletion(-) diff --git a/mysql-test/r/query_cache_notembedded.result b/mysql-test/r/query_cache_notembedded.result index 8e5df012cfb..bf582bfaec6 100644 --- a/mysql-test/r/query_cache_notembedded.result +++ b/mysql-test/r/query_cache_notembedded.result @@ -345,3 +345,19 @@ id drop table t1; drop function f1; set GLOBAL query_cache_size=0; +DROP TABLE IF EXISTS t1; +FLUSH STATUS; +SET GLOBAL query_cache_size=1048576; +CREATE TABLE t1 (a INT); +INSERT INTO t1 VALUES (1),(2),(3),(4),(5); +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 0 +LOCK TABLES t1 WRITE; +SELECT * FROM t1; +UNLOCK TABLES; +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +Variable_name Value +Qcache_queries_in_cache 0 +DROP TABLE t1; +SET GLOBAL query_cache_size= default; diff --git a/mysql-test/t/query_cache_notembedded.test b/mysql-test/t/query_cache_notembedded.test index a4f4144d9c6..c427e0d1afc 100644 --- a/mysql-test/t/query_cache_notembedded.test +++ b/mysql-test/t/query_cache_notembedded.test @@ -222,3 +222,34 @@ disconnect con2; connection default; set GLOBAL query_cache_size=0; + +# +# Bug#40264: Aborted cached query causes query to hang indefinitely on next cache hit +# + +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings + +FLUSH STATUS; +SET GLOBAL query_cache_size=1048576; +CREATE TABLE t1 (a INT); +INSERT INTO t1 VALUES (1),(2),(3),(4),(5); +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +LOCK TABLES t1 WRITE; +connect(con1,localhost,root,,); +--send SELECT * FROM t1 +connection default; +let $show_type= open tables where `table`='t1' and in_use=2; +let $show_pattern= '%t1%2%'; +--source include/wait_show_pattern.inc +dirty_close con1; +UNLOCK TABLES; +let $show_type= open tables where `table`='t1' and in_use=0; +let $show_pattern= '%t1%0%'; +--source include/wait_show_pattern.inc +SHOW STATUS LIKE 'Qcache_queries_in_cache'; +DROP TABLE t1; +SET GLOBAL query_cache_size= default; + +# End of 5.0 tests diff --git a/sql/sql_cache.cc b/sql/sql_cache.cc index 4a521d83192..b55fa148e24 100644 --- a/sql/sql_cache.cc +++ b/sql/sql_cache.cc @@ -710,7 +710,12 @@ void query_cache_end_of_result(THD *thd) if (thd->net.query_cache_query == 0) DBUG_VOID_RETURN; - if (thd->killed) + /* + Check if the NET layer raised a unreported error -- my_error() and + as a consequence query_cache_abort() haven't been called. Abort the + cached result as it might be only partially complete. + */ + if (thd->killed || thd->net.report_error) { query_cache_abort(&thd->net); DBUG_VOID_RETURN; -- cgit v1.2.1 From 8c3389f3868ebaf95e43df023eb6ac3e7d376ee1 Mon Sep 17 00:00:00 2001 From: Andrei Elkin Date: Thu, 22 Jan 2009 16:55:14 +0200 Subject: Bug #31240 load data infile replication between (4.0 or 4.1) and 5.1 fails It's a regression issue. The reason of the bug appeared to be an error introduced into 5.1 source code. A piece of code in Create_file_log_event::do_apply_event() did not have test coverage which made make test and pb unaware. Fixed with inverting the old value of the return value from Create_file_log_event::do_apply_event(). The rpl test suite is extended with `rpl_cross_version' the file to hold regression cases similar to the current. mysql-test/suite/rpl/r/rpl_cross_version.result: new results file mysql-test/suite/rpl/t/rpl_cross_version-master.opt: options to the server to be able to start replication to itself mysql-test/suite/rpl/t/rpl_cross_version.test: regression test for bug#31240. sql/log_event.cc: Correcting the return value from Create_file_log_event::do_apply_event() --- mysql-test/suite/rpl/r/rpl_cross_version.result | 12 ++++++++ .../suite/rpl/t/rpl_cross_version-master.opt | 1 + mysql-test/suite/rpl/t/rpl_cross_version.test | 36 ++++++++++++++++++++++ sql/log_event.cc | 11 +++++-- 4 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 mysql-test/suite/rpl/r/rpl_cross_version.result create mode 100644 mysql-test/suite/rpl/t/rpl_cross_version-master.opt create mode 100644 mysql-test/suite/rpl/t/rpl_cross_version.test diff --git a/mysql-test/suite/rpl/r/rpl_cross_version.result b/mysql-test/suite/rpl/r/rpl_cross_version.result new file mode 100644 index 00000000000..96bbbb03c49 --- /dev/null +++ b/mysql-test/suite/rpl/r/rpl_cross_version.result @@ -0,0 +1,12 @@ +==== Initialize ==== +Setting up fake replication from MYSQL_TEST_DIR/suite/binlog/std_data/binlog_old_version_4_1.000001 +==== Test ==== +start slave sql_thread; +==== a prove that the /home/andrei/MySQL/BZR/FIXES/bug31240-ldi_41_2_51/mysql-test/suite/binlog/std_data/binlog_old_version_4_1.000001 has been processed successfully ==== +SELECT COUNT(*) - 17920 as zero FROM t3; +zero +0 +==== Clean up ==== +stop slave sql_thread; +Cleaning up after setup_fake_relay_log.inc +drop table t1, t3; diff --git a/mysql-test/suite/rpl/t/rpl_cross_version-master.opt b/mysql-test/suite/rpl/t/rpl_cross_version-master.opt new file mode 100644 index 00000000000..815a8f81d32 --- /dev/null +++ b/mysql-test/suite/rpl/t/rpl_cross_version-master.opt @@ -0,0 +1 @@ +--replicate-same-server-id --relay-log=slave-relay-bin diff --git a/mysql-test/suite/rpl/t/rpl_cross_version.test b/mysql-test/suite/rpl/t/rpl_cross_version.test new file mode 100644 index 00000000000..9f81cf3a9e5 --- /dev/null +++ b/mysql-test/suite/rpl/t/rpl_cross_version.test @@ -0,0 +1,36 @@ +# ==== Purpose ==== +# +# Verify cross-version replication from an old master to the up-to-date slave +# +# ==== Implementation ==== +# +# Feed to the slave server a binlog recorded on an old version master +# via setting up slave-to-slave replication. The latter is done by means of +# the opt file and include/setup_fake_relay_log.inc. +# The master's binlog is treated as a relay log that the SQL thread executes. +# + +--source include/have_log_bin.inc + +# +# Bug#31240 load data infile replication between (4.0 or 4.1) and 5.1 fails +# + +--echo ==== Initialize ==== +# the relay log contains create t1, t3 tables and load data infile +--let $fake_relay_log = $MYSQL_TEST_DIR/suite/binlog/std_data/binlog_old_version_4_1.000001 +--source include/setup_fake_relay_log.inc + +--echo ==== Test ==== +start slave sql_thread; +--let $slave_param = Exec_Master_Log_Pos +# end_log_pos of the last event of the relay log +--let $slave_param_value = 149436 +--source include/wait_for_slave_param.inc +--echo ==== a prove that the $fake_relay_log has been processed successfully ==== +SELECT COUNT(*) - 17920 as zero FROM t3; + +--echo ==== Clean up ==== +stop slave sql_thread; +--source include/cleanup_fake_relay_log.inc +drop table t1, t3; diff --git a/sql/log_event.cc b/sql/log_event.cc index 3a3350a4eb8..be209b6c6c7 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -5945,8 +5945,15 @@ void Create_file_log_event::pack_info(Protocol *protocol) #endif /* defined(HAVE_REPLICATION) && !defined(MYSQL_CLIENT) */ -/* +/** Create_file_log_event::do_apply_event() + Constructor for Create_file_log_event to intantiate an event + from the relay log on the slave. + + @retval + 0 Success + @retval + 1 Failure */ #if defined(HAVE_REPLICATION) && !defined(MYSQL_CLIENT) @@ -6015,7 +6022,7 @@ err: if (fd >= 0) my_close(fd, MYF(0)); thd_proc_info(thd, 0); - return error == 0; + return error != 0; } #endif /* defined(HAVE_REPLICATION) && !defined(MYSQL_CLIENT) */ -- cgit v1.2.1 From e610f61d0e9f679a195b851fbef81ec0c48f340e Mon Sep 17 00:00:00 2001 From: Kent Boortz Date: Fri, 23 Jan 2009 02:59:03 +0100 Subject: From 5.0.48 the NDB client libraries has been missing in the cluster packages, this is now corrected (Bug#42278) --- scripts/make_binary_distribution.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/make_binary_distribution.sh b/scripts/make_binary_distribution.sh index e5e08038bff..f156ea3b986 100644 --- a/scripts/make_binary_distribution.sh +++ b/scripts/make_binary_distribution.sh @@ -372,8 +372,8 @@ fi # NDB Cluster if [ x$NDBCLUSTER = x1 ]; then - ( cd ndb ; @MAKE@ DESTDIR=$BASE/ndb-stage install ) - ( cd mysql-test/ndb ; @MAKE@ DESTDIR=$BASE/ndb-stage install ) + ( cd ndb ; @MAKE@ DESTDIR=$BASE/ndb-stage install pkglibdir=@pkglibdir@ ) + ( cd mysql-test/ndb ; @MAKE@ DESTDIR=$BASE/ndb-stage install pkglibdir=@pkglibdir@ ) $CP $BASE/ndb-stage@bindir@/* $BASE/bin/. $CP $BASE/ndb-stage@libexecdir@/* $BASE/bin/. $CP $BASE/ndb-stage@pkglibdir@/* $BASE/lib/. -- cgit v1.2.1 From db337eb8d8c2dc6c343b89ac78be8966d14a85fc Mon Sep 17 00:00:00 2001 From: Andrei Elkin Date: Fri, 23 Jan 2009 19:15:27 +0200 Subject: Bug #31240 load data infile replication between (4.0 or 4.1) and 5.1 fails an additional changeset to remove printing a path name. mysql-test/suite/rpl/r/rpl_cross_version.result: removing a local exec env dependency mysql-test/suite/rpl/t/rpl_cross_version.test: refining a test to not have local exec env dependency. --- mysql-test/suite/rpl/r/rpl_cross_version.result | 2 +- mysql-test/suite/rpl/t/rpl_cross_version.test | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mysql-test/suite/rpl/r/rpl_cross_version.result b/mysql-test/suite/rpl/r/rpl_cross_version.result index 96bbbb03c49..de5dd134516 100644 --- a/mysql-test/suite/rpl/r/rpl_cross_version.result +++ b/mysql-test/suite/rpl/r/rpl_cross_version.result @@ -2,7 +2,7 @@ Setting up fake replication from MYSQL_TEST_DIR/suite/binlog/std_data/binlog_old_version_4_1.000001 ==== Test ==== start slave sql_thread; -==== a prove that the /home/andrei/MySQL/BZR/FIXES/bug31240-ldi_41_2_51/mysql-test/suite/binlog/std_data/binlog_old_version_4_1.000001 has been processed successfully ==== +==== a prove that the fake has been processed successfully ==== SELECT COUNT(*) - 17920 as zero FROM t3; zero 0 diff --git a/mysql-test/suite/rpl/t/rpl_cross_version.test b/mysql-test/suite/rpl/t/rpl_cross_version.test index 9f81cf3a9e5..bb2ca350152 100644 --- a/mysql-test/suite/rpl/t/rpl_cross_version.test +++ b/mysql-test/suite/rpl/t/rpl_cross_version.test @@ -27,7 +27,7 @@ start slave sql_thread; # end_log_pos of the last event of the relay log --let $slave_param_value = 149436 --source include/wait_for_slave_param.inc ---echo ==== a prove that the $fake_relay_log has been processed successfully ==== +--echo ==== a prove that the fake has been processed successfully ==== SELECT COUNT(*) - 17920 as zero FROM t3; --echo ==== Clean up ==== -- cgit v1.2.1 From d574142888071b617087fc680151d51b89d5df48 Mon Sep 17 00:00:00 2001 From: Horst Hunger Date: Fri, 23 Jan 2009 18:19:09 +0100 Subject: Fix for bug#39108: Set global wait timeout within the test, not more via opt file. Deleted the opt file. Replaced the sleeps by wait condition. Made some beautyfications. Inserted review results. --- mysql-test/r/wait_timeout.result | 33 +++++++++----- mysql-test/t/wait_timeout-master.opt | 1 - mysql-test/t/wait_timeout.test | 83 ++++++++++++++++++++++++------------ 3 files changed, 78 insertions(+), 39 deletions(-) delete mode 100644 mysql-test/t/wait_timeout-master.opt diff --git a/mysql-test/r/wait_timeout.result b/mysql-test/r/wait_timeout.result index 6fbff82f908..adb7d6bafd9 100644 --- a/mysql-test/r/wait_timeout.result +++ b/mysql-test/r/wait_timeout.result @@ -1,20 +1,33 @@ -select 0; -0 -0 -flush status; -select 1; +SET @@global.wait_timeout= 2; +disconnect default; +connection wait_con; +connection default; +--disable_reconnect; +SELECT 1; 1 1 -select 2; +connection wait_con; +connection default; +SELECT 2; Got one of the listed errors -select 3; +--enable_reconnect; +SELECT 3; 3 3 -select 1; +disconnection default; +connection wait_con; +connection con1; +--disable_reconnect; +SELECT 1; 1 1 -select 2; +connection wait_con; +connection con1; +SELECT 2; Got one of the listed errors -select 3; +--enable_reconnect; +SELECT 3; 3 3 +SET @@global.wait_timeout= ; +disconnection con1; diff --git a/mysql-test/t/wait_timeout-master.opt b/mysql-test/t/wait_timeout-master.opt deleted file mode 100644 index 9e5c2289eb2..00000000000 --- a/mysql-test/t/wait_timeout-master.opt +++ /dev/null @@ -1 +0,0 @@ ---wait-timeout=1 diff --git a/mysql-test/t/wait_timeout.test b/mysql-test/t/wait_timeout.test index 255947fa79f..63809252a01 100644 --- a/mysql-test/t/wait_timeout.test +++ b/mysql-test/t/wait_timeout.test @@ -1,40 +1,51 @@ -# This tests not performed with embedded server +# Last modification: +# 2009-01-19 H.Hunger Fix Bug#39108 main.wait_timeout fails sporadically +# - Increase wait timeout to 2 seconds +# - Eliminated the corresponding opt file, +# set global wait timeout within the test. +# - Replaced sleeps by wait condition +# - Minor improvements +############################################################################### +# These tests cannot run with the embedded server -- source include/not_embedded.inc -- source include/one_thread_per_connection.inc # -# Bug #8731: wait_timeout does not work on Mac OS X +# Bug#8731: wait_timeout does not work on Mac OS X # +let $start_value= `SELECT @@global.wait_timeout`; +SET @@global.wait_timeout= 2; +--echo disconnect default; +disconnect default; # Connect with another connection and reset counters --disable_query_log connect (wait_con,localhost,root,,test,,); +--echo connection wait_con; connection wait_con; -set session wait_timeout=100; +SET SESSION wait_timeout=100; let $retries=300; -set @aborted_clients= 0; +SET @aborted_clients= 0; --enable_query_log # Disable reconnect and do the query +connect (default,localhost,root,,test,,); +--echo connection default; connection default; -# If slow host (Valgrind...), we may have already timed out here. -# So force a reconnect if necessary, using a dummy query. And issue a -# 'flush status' to reset the 'aborted_clients' counter. ---enable_reconnect -select 0; -flush status; +--echo --disable_reconnect; --disable_reconnect -select 1; +SELECT 1; # Switch to wait_con and wait until server has aborted the connection --disable_query_log +--echo connection wait_con; connection wait_con; while (!`select @aborted_clients`) { - sleep 0.1; + real_sleep 0.1; let $aborted_clients = `SHOW STATUS LIKE 'aborted_clients'`; - eval set @aborted_clients= SUBSTRING('$aborted_clients', 16)+0; + eval SET @aborted_clients= SUBSTRING('$aborted_clients', 16)+0; dec $retries; if (!$retries) @@ -45,44 +56,51 @@ while (!`select @aborted_clients`) --enable_query_log # The server has disconnected, add small sleep to make sure # the disconnect has reached client -sleep 1; - +let $wait_condition= SELECT COUNT(*)=1 FROM information_schema.processlist; +--source include/wait_condition.inc +--echo connection default; connection default; # When the connection is closed in this way, the error code should -# be consistent see bug#2845 for an explanation +# be consistent see Bug#2845 for an explanation # depending on platform/client, either errno 2006 or 2013 can occur below --error 2006,2013 -select 2; +SELECT 2; +--echo --enable_reconnect; --enable_reconnect -select 3; +SELECT 3; # Disconnect so that we will not be confused by a future abort from this # connection. +--echo disconnection default; disconnect default; # # Do the same test as above on a TCP connection -# (which we get by specifying a ip adress) +# (which we get by specifying an ip adress) # Connect with another connection and reset counters --disable_query_log +--echo connection wait_con; connection wait_con; -flush status; # Reset counters +FLUSH STATUS; # Reset counters let $retries=300; -set @aborted_clients= 0; +SET @aborted_clients= 0; --enable_query_log +--echo connection con1; connect (con1,127.0.0.1,root,,test,$MASTER_MYPORT,); +--echo --disable_reconnect; --disable_reconnect -select 1; +SELECT 1; # Switch to wait_con and wait until server has aborted the connection --disable_query_log +--echo connection wait_con; connection wait_con; while (!`select @aborted_clients`) { - sleep 0.1; + real_sleep 0.1; let $aborted_clients = `SHOW STATUS LIKE 'aborted_clients'`; - eval set @aborted_clients= SUBSTRING('$aborted_clients', 16)+0; + eval SET @aborted_clients= SUBSTRING('$aborted_clients', 16)+0; dec $retries; if (!$retries) @@ -93,14 +111,23 @@ while (!`select @aborted_clients`) --enable_query_log # The server has disconnected, add small sleep to make sure # the disconnect has reached client -sleep 1; +let $wait_condition= SELECT COUNT(*)=1 FROM information_schema.processlist; +--source include/wait_condition.inc +--echo connection con1; connection con1; # When the connection is closed in this way, the error code should -# be consistent see bug#2845 for an explanation +# be consistent see Bug#2845 for an explanation # depending on platform/client, either errno 2006 or 2013 can occur below --error 2006,2013 -select 2; +SELECT 2; +--echo --enable_reconnect; --enable_reconnect -select 3; +SELECT 3; +--replace_result $start_value +eval SET @@global.wait_timeout= $start_value; +# ML: The start value might be changed in future ... +--echo disconnection con1; disconnect con1; + + -- cgit v1.2.1 From 93991b6be983c11dfb595e9ee0647384dc37b09c Mon Sep 17 00:00:00 2001 From: Gleb Shchepa Date: Fri, 23 Jan 2009 22:18:02 +0400 Subject: Bug#42188: crash and/or memory corruption with user variables in trigger Interchangeable calls to the mysql_change_user client function and invocations of a trigger changing some user variable caused a memory corruption and a crash. The mysql_change_user API call forces TDH::cleanup() on a server that frees user variable entries. However it didn't reset Item_func_set_user_var::entry to NULL because Item_func_set_user_var::cleanup() was not overloaded. So, Item_func_set_user_var::entry held a pointer to freed memory, that caused a crash. The Item_func_set_user_var::cleanup method has been overloaded to cleanup the Item_func_set_user_var::entry field. mysql-test/r/user_var.result: Added test case for bug #42188. mysql-test/t/user_var.test: Added test case for bug #42188. sql/item_func.cc: Bug#42188: crash and/or memory corruption with user variables in trigger The Item_func_set_user_var::cleanup method has been overloaded to cleanup the Item_func_set_user_var::entry field. sql/item_func.h: Bug#42188: crash and/or memory corruption with user variables in trigger The Item_func_set_user_var::cleanup method has been overloaded to cleanup the Item_func_set_user_var::entry field. --- mysql-test/r/user_var.result | 5 +++++ mysql-test/t/user_var.test | 11 +++++++++++ sql/item_func.cc | 7 +++++++ sql/item_func.h | 1 + 4 files changed, 24 insertions(+) diff --git a/mysql-test/r/user_var.result b/mysql-test/r/user_var.result index 2d91835d723..8961a935006 100644 --- a/mysql-test/r/user_var.result +++ b/mysql-test/r/user_var.result @@ -399,4 +399,9 @@ select @lastid != id, @lastid, @lastid := id from t1; 0 3 3 1 3 4 drop table t1; +CREATE TABLE t1 (i INT); +CREATE TRIGGER t_after_insert AFTER INSERT ON t1 FOR EACH ROW SET @bug42188 = 10; +INSERT INTO t1 VALUES (1); +INSERT INTO t1 VALUES (1); +DROP TABLE t1; End of 5.1 tests diff --git a/mysql-test/t/user_var.test b/mysql-test/t/user_var.test index 5d916e410e3..fb4511a87a0 100644 --- a/mysql-test/t/user_var.test +++ b/mysql-test/t/user_var.test @@ -285,4 +285,15 @@ set @lastid=-1; select @lastid != id, @lastid, @lastid := id from t1; drop table t1; +# +# Bug#42188: crash and/or memory corruption with user variables in trigger +# + +CREATE TABLE t1 (i INT); +CREATE TRIGGER t_after_insert AFTER INSERT ON t1 FOR EACH ROW SET @bug42188 = 10; +INSERT INTO t1 VALUES (1); +--change_user +INSERT INTO t1 VALUES (1); +DROP TABLE t1; + --echo End of 5.1 tests diff --git a/sql/item_func.cc b/sql/item_func.cc index ff0c22ecfa9..34cb50ee7fa 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -3808,6 +3808,13 @@ static user_var_entry *get_variable(HASH *hash, LEX_STRING &name, } +void Item_func_set_user_var::cleanup() +{ + Item_func::cleanup(); + entry= NULL; +} + + bool Item_func_set_user_var::set_entry(THD *thd, bool create_if_not_exists) { if (entry && thd->thread_id == entry_thread_id) diff --git a/sql/item_func.h b/sql/item_func.h index e2937a4daf8..d23d821baf6 100644 --- a/sql/item_func.h +++ b/sql/item_func.h @@ -1357,6 +1357,7 @@ public: void save_org_in_field(Field *field) { (void)save_in_field(field, 1, 0); } bool register_field_in_read_map(uchar *arg); bool set_entry(THD *thd, bool create_if_not_exists); + void cleanup(); }; -- cgit v1.2.1 From add8e4d159c71592602dfa93dd67a3f6e3c6b130 Mon Sep 17 00:00:00 2001 From: Gleb Shchepa Date: Sat, 24 Jan 2009 18:07:10 +0400 Subject: Bug #42188: After-push test file update (see bug 42321) --- mysql-test/t/user_var.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/t/user_var.test b/mysql-test/t/user_var.test index fb4511a87a0..fd4e538ea6c 100644 --- a/mysql-test/t/user_var.test +++ b/mysql-test/t/user_var.test @@ -292,7 +292,7 @@ drop table t1; CREATE TABLE t1 (i INT); CREATE TRIGGER t_after_insert AFTER INSERT ON t1 FOR EACH ROW SET @bug42188 = 10; INSERT INTO t1 VALUES (1); ---change_user +--change_user root,,test INSERT INTO t1 VALUES (1); DROP TABLE t1; -- cgit v1.2.1 From 80fe6268f7a110abf383866fd9db3d2fbee332a8 Mon Sep 17 00:00:00 2001 From: Ramil Kalimullin Date: Mon, 26 Jan 2009 10:35:15 +0400 Subject: Fix for bug #37756: enabling fulltext indexes with myisam_repair_threads > 1 causes crash Problem: parallel repair (myisam_repair_threads > 1) of a myisam table with two or more fulltext keys that use the same parser may lead to a server crash. ALTER TABLE ENABLE KEYS is affected as well. Fix: properly initialize fulltext structures for parallel repair. Note: 1. there's no deterministic test case. 2. now we call parser->init() for each fulltext key (not for each fulltext parser used). storage/myisam/ft_parser.c: Fix for bug #37756: enabling fulltext indexes with myisam_repair_threads > 1 causes crash In ftparser_call_initializer() we "group" parsers and allocate parameters for each unique parser used. In case of parallel repairing we may have a bunch of parsers that use the only MI_INFO structure. Each of these parsers must have its own parameter structure in order not to interfere with others. Moreover, the allocation is done without mutex lock so parallel ftparser_call_initializer() calls are unsafe. Now we don't "group" the fulltext parsers. Parameter allocation code moved to ftparser_alloc_param() function which is called from mi_repair_parallel() as well to allocate parameters for each parser used. storage/myisam/ftdefs.h: Fix for bug #37756: enabling fulltext indexes with myisam_repair_threads > 1 causes crash ftparser_alloc_param(MI_INFO *info) added. storage/myisam/mi_check.c: Fix for bug #37756: enabling fulltext indexes with myisam_repair_threads > 1 causes crash ftparser_alloc_param(info) called in case of parallel repair to allocate fulltext parser parameters. storage/myisam/mi_open.c: Fix for bug #37756: enabling fulltext indexes with myisam_repair_threads > 1 causes crash set keyinfo->ftkey_nr and share->ftkeys. --- include/myisam.h | 2 +- storage/myisam/ft_parser.c | 77 +++++++++++++++++----------------------------- storage/myisam/ftdefs.h | 1 + storage/myisam/mi_check.c | 5 ++- storage/myisam/mi_open.c | 7 +++-- storage/myisam/myisamdef.h | 2 +- 6 files changed, 41 insertions(+), 53 deletions(-) diff --git a/include/myisam.h b/include/myisam.h index 16175547367..d7bfdf7191e 100644 --- a/include/myisam.h +++ b/include/myisam.h @@ -185,7 +185,7 @@ typedef struct st_mi_keydef /* Key definition with open & info */ uint16 maxlength; /* max length of (packed) key (auto) */ uint16 block_size_index; /* block_size (auto) */ uint32 version; /* For concurrent read/write */ - uint32 ftparser_nr; /* distinct ftparser number */ + uint32 ftkey_nr; /* full-text index number */ HA_KEYSEG *seg,*end; struct st_mysql_ftparser *parser; /* Fulltext [pre]parser */ diff --git a/storage/myisam/ft_parser.c b/storage/myisam/ft_parser.c index 042a999fffa..4cde3834ed7 100644 --- a/storage/myisam/ft_parser.c +++ b/storage/myisam/ft_parser.c @@ -323,60 +323,41 @@ int ft_parse(TREE *wtree, uchar *doc, int doclen, DBUG_RETURN(parser->parse(param)); } + #define MAX_PARAM_NR 2 -MYSQL_FTPARSER_PARAM *ftparser_call_initializer(MI_INFO *info, - uint keynr, uint paramnr) + +MYSQL_FTPARSER_PARAM* ftparser_alloc_param(MI_INFO *info) { - uint32 ftparser_nr; - struct st_mysql_ftparser *parser; - if (! info->ftparser_param) + if (!info->ftparser_param) { - /* info->ftparser_param can not be zero after the initialization, - because it always includes built-in fulltext parser. And built-in - parser can be called even if the table has no fulltext indexes and - no varchar/text fields. */ - if (! info->s->ftparsers) - { - /* It's ok that modification to shared structure is done w/o mutex - locks, because all threads would set the same variables to the - same values. */ - uint i, j, keys= info->s->state.header.keys, ftparsers= 1; - for (i= 0; i < keys; i++) - { - MI_KEYDEF *keyinfo= &info->s->keyinfo[i]; - if (keyinfo->flag & HA_FULLTEXT) - { - for (j= 0;; j++) - { - if (j == i) - { - keyinfo->ftparser_nr= ftparsers++; - break; - } - if (info->s->keyinfo[j].flag & HA_FULLTEXT && - keyinfo->parser == info->s->keyinfo[j].parser) - { - keyinfo->ftparser_nr= info->s->keyinfo[j].ftparser_nr; - break; - } - } - } - } - info->s->ftparsers= ftparsers; - } - /* - We have to allocate two MYSQL_FTPARSER_PARAM structures per plugin - because in a boolean search a parser is called recursively - ftb_find_relevance* calls ftb_check_phrase* - (MAX_PARAM_NR=2) + /* +. info->ftparser_param can not be zero after the initialization, + because it always includes built-in fulltext parser. And built-in + parser can be called even if the table has no fulltext indexes and + no varchar/text fields. + + ftb_find_relevance... parser (ftb_find_relevance_parse, + ftb_find_relevance_add_word) calls ftb_check_phrase... parser + (ftb_check_phrase_internal, ftb_phrase_add_word). Thus MAX_PARAM_NR=2. */ info->ftparser_param= (MYSQL_FTPARSER_PARAM *) my_malloc(MAX_PARAM_NR * sizeof(MYSQL_FTPARSER_PARAM) * - info->s->ftparsers, MYF(MY_WME|MY_ZEROFILL)); + info->s->ftkeys, MYF(MY_WME | MY_ZEROFILL)); init_alloc_root(&info->ft_memroot, FTPARSER_MEMROOT_ALLOC_SIZE, 0); - if (! info->ftparser_param) - return 0; } + return info->ftparser_param; +} + + +MYSQL_FTPARSER_PARAM *ftparser_call_initializer(MI_INFO *info, + uint keynr, uint paramnr) +{ + uint32 ftparser_nr; + struct st_mysql_ftparser *parser; + + if (!ftparser_alloc_param(info)) + return 0; + if (keynr == NO_SUCH_KEY) { ftparser_nr= 0; @@ -384,7 +365,7 @@ MYSQL_FTPARSER_PARAM *ftparser_call_initializer(MI_INFO *info, } else { - ftparser_nr= info->s->keyinfo[keynr].ftparser_nr; + ftparser_nr= info->s->keyinfo[keynr].ftkey_nr; parser= info->s->keyinfo[keynr].parser; } DBUG_ASSERT(paramnr < MAX_PARAM_NR); @@ -416,7 +397,7 @@ void ftparser_call_deinitializer(MI_INFO *info) for (j=0; j < MAX_PARAM_NR; j++) { MYSQL_FTPARSER_PARAM *ftparser_param= - &info->ftparser_param[keyinfo->ftparser_nr*MAX_PARAM_NR + j]; + &info->ftparser_param[keyinfo->ftkey_nr * MAX_PARAM_NR + j]; if (keyinfo->flag & HA_FULLTEXT && ftparser_param->mysql_add_word) { if (keyinfo->parser->deinit) diff --git a/storage/myisam/ftdefs.h b/storage/myisam/ftdefs.h index 22443807b87..ddcf1a8dc26 100644 --- a/storage/myisam/ftdefs.h +++ b/storage/myisam/ftdefs.h @@ -146,6 +146,7 @@ void ft_boolean_close_search(FT_INFO *); float ft_boolean_get_relevance(FT_INFO *); my_off_t ft_boolean_get_docid(FT_INFO *); void ft_boolean_reinit_search(FT_INFO *); +MYSQL_FTPARSER_PARAM* ftparser_alloc_param(MI_INFO *info); extern MYSQL_FTPARSER_PARAM *ftparser_call_initializer(MI_INFO *info, uint keynr, uint paramnr); diff --git a/storage/myisam/mi_check.c b/storage/myisam/mi_check.c index b132000b356..bdca1a1f0b8 100644 --- a/storage/myisam/mi_check.c +++ b/storage/myisam/mi_check.c @@ -2397,7 +2397,7 @@ int mi_repair_by_sort(MI_CHECK *param, register MI_INFO *info, Note, built-in parser is always nr. 0 - see ftparser_call_initializer() */ - if (sort_param.keyinfo->ftparser_nr == 0) + if (sort_param.keyinfo->ftkey_nr == 0) { /* for built-in parser the number of generated index entries @@ -2895,6 +2895,9 @@ int mi_repair_parallel(MI_CHECK *param, register MI_INFO *info, sort_param[0].fix_datafile= (my_bool)(! rep_quick); sort_param[0].calc_checksum= test(param->testflag & T_CALC_CHECKSUM); + if (!ftparser_alloc_param(info)) + goto err; + sort_info.got_error=0; pthread_mutex_lock(&sort_info.mutex); diff --git a/storage/myisam/mi_open.c b/storage/myisam/mi_open.c index 605dea6594e..78749d50fe5 100644 --- a/storage/myisam/mi_open.c +++ b/storage/myisam/mi_open.c @@ -331,6 +331,7 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags) share->blocksize=min(IO_SIZE,myisam_block_size); { HA_KEYSEG *pos=share->keyparts; + uint32 ftkey_nr= 1; for (i=0 ; i < keys ; i++) { share->keyinfo[i].share= share; @@ -412,6 +413,7 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags) share->ft2_keyinfo.end=pos; setup_key_functions(& share->ft2_keyinfo); } + share->keyinfo[i].ftkey_nr= ftkey_nr++; } setup_key_functions(share->keyinfo+i); share->keyinfo[i].end=pos; @@ -421,6 +423,7 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags) pos->flag=0; /* For purify */ pos++; } + for (i=0 ; i < uniques ; i++) { disk_pos=mi_uniquedef_read(disk_pos, &share->uniqueinfo[i]); @@ -449,7 +452,7 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags) pos->flag=0; pos++; } - share->ftparsers= 0; + share->ftkeys= ftkey_nr; } disk_pos_assert(disk_pos + share->base.fields *MI_COLUMNDEF_SIZE, end_pos); @@ -1112,7 +1115,7 @@ uchar *mi_keydef_read(uchar *ptr, MI_KEYDEF *keydef) keydef->underflow_block_length=keydef->block_length/3; keydef->version = 0; /* Not saved */ keydef->parser = &ft_default_parser; - keydef->ftparser_nr = 0; + keydef->ftkey_nr = 0; return ptr; } diff --git a/storage/myisam/myisamdef.h b/storage/myisam/myisamdef.h index 2ca79608408..9af3f652c5f 100644 --- a/storage/myisam/myisamdef.h +++ b/storage/myisam/myisamdef.h @@ -193,7 +193,7 @@ typedef struct st_mi_isam_share { /* Shared between opens */ ulong state_diff_length; uint rec_reflength; /* rec_reflength in use now */ uint unique_name_length; - uint32 ftparsers; /* Number of distinct ftparsers + 1 */ + uint32 ftkeys; /* Number of full-text keys + 1 */ File kfile; /* Shared keyfile */ File data_file; /* Shared data file */ int mode; /* mode of file on open */ -- cgit v1.2.1 From 5f7750ce6af20e571d4be3bca1fc442d80a8b361 Mon Sep 17 00:00:00 2001 From: Andrei Elkin Date: Mon, 26 Jan 2009 16:49:42 +0200 Subject: Bug #31240 load data infile replication between (4.0 or 4.1) and 5.1 fails Overriding a default value of --secure-file-priv on pb.mtr with a value allowable the test to pass on pb. mysql-test/suite/rpl/t/rpl_cross_version-master.opt: Overriding a default value of --secure-file-priv with a value allowable the test to pass on pb. --- mysql-test/suite/rpl/t/rpl_cross_version-master.opt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/suite/rpl/t/rpl_cross_version-master.opt b/mysql-test/suite/rpl/t/rpl_cross_version-master.opt index 815a8f81d32..3ce0804d62f 100644 --- a/mysql-test/suite/rpl/t/rpl_cross_version-master.opt +++ b/mysql-test/suite/rpl/t/rpl_cross_version-master.opt @@ -1 +1 @@ ---replicate-same-server-id --relay-log=slave-relay-bin +--replicate-same-server-id --relay-log=slave-relay-bin --secure-file-priv=$MYSQL_TEST_DIR -- cgit v1.2.1 From b33437f18a8291f9ff0a779d6aa66ed8a9afffc6 Mon Sep 17 00:00:00 2001 From: Andrei Elkin Date: Mon, 26 Jan 2009 17:24:43 +0200 Subject: Bug #31240 load data infile replication between (4.0 or 4.1) and 5.1 fails Overriding a default value of --secure-file-priv on pb.mtr to be $MYSQLTEST_VARDIR which makes pb's mtr happy to execute the regression test for the bug. mysql-test/suite/rpl/t/rpl_cross_version-master.opt: satisfying pb's mtr that uses --vardir to shm. --- mysql-test/suite/rpl/t/rpl_cross_version-master.opt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/suite/rpl/t/rpl_cross_version-master.opt b/mysql-test/suite/rpl/t/rpl_cross_version-master.opt index 3ce0804d62f..01987c5c8a6 100644 --- a/mysql-test/suite/rpl/t/rpl_cross_version-master.opt +++ b/mysql-test/suite/rpl/t/rpl_cross_version-master.opt @@ -1 +1 @@ ---replicate-same-server-id --relay-log=slave-relay-bin --secure-file-priv=$MYSQL_TEST_DIR +--replicate-same-server-id --relay-log=slave-relay-bin --secure-file-priv=$MYSQLTEST_VARDIR -- cgit v1.2.1 From 2255610125751cebef8c0bf898ba1868ee641432 Mon Sep 17 00:00:00 2001 From: Horst Hunger Date: Mon, 26 Jan 2009 16:34:41 +0100 Subject: Modified fix for bug#36876 due to reviews: See bug report. --- .../suite/sys_vars/inc/key_buffer_size_basic.inc | 87 ++++++++++++---------- .../sys_vars/r/key_buffer_size_basic_32.result | 40 +++++----- .../sys_vars/r/key_buffer_size_basic_64.result | 48 ++++++------ 3 files changed, 93 insertions(+), 82 deletions(-) diff --git a/mysql-test/suite/sys_vars/inc/key_buffer_size_basic.inc b/mysql-test/suite/sys_vars/inc/key_buffer_size_basic.inc index a8fa50a6a23..e55673fd045 100644 --- a/mysql-test/suite/sys_vars/inc/key_buffer_size_basic.inc +++ b/mysql-test/suite/sys_vars/inc/key_buffer_size_basic.inc @@ -28,59 +28,68 @@ --source include/load_sysvars.inc -######################################################################## +let $minimum_range= BETWEEN 8 AND 36; +######################################################################## # START OF key_buffer_size TESTS # -######################################################################## +######################################################################## --disable_warnings -######################################################################## +######################################################################## # Saving initial value of key_buffer_size in a temporary variable # -######################################################################## +######################################################################## SET @start_value = @@global.key_buffer_size; --echo '#--------------------FN_DYNVARS_055_01------------------------#' -######################################################################## +######################################################################## # Display the DEFAULT value of key_buffer_size # -######################################################################## +######################################################################## SET @@global.key_buffer_size = 99; --Error ER_NO_DEFAULT SET @@global.key_buffer_size = DEFAULT; -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; +eval SELECT @@global.key_buffer_size $minimum_range; --echo '#---------------------FN_DYNVARS_055_02-------------------------#' -############################################### +############################################### # Verify default value of variable # -############################################### +############################################### SET @@global.key_buffer_size = @start_value; SELECT @@global.key_buffer_size = @start_value; --echo '#--------------------FN_DYNVARS_055_03------------------------#' -######################################################################## +######################################################################## # Change the value of key_buffer_size to a valid value # -######################################################################## +######################################################################## SET @@global.key_buffer_size = 8 ; -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; +eval SELECT @@global.key_buffer_size $minimum_range; --disable_warnings -#Due to increasing the runtime significantly and allocating the buffer instantly. +# The next subtest is set to comment because it will +# be tried to allocate the buffer instantly which +# might lead to a message about missing resources, +# excessive runtime etc. especially if the main memory is less than 4GB. #SET @@global.key_buffer_size = 4294967295; --enable_warnings #SELECT @@global.key_buffer_size; SET @@global.key_buffer_size = 1800; -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; +eval SELECT @@global.key_buffer_size $minimum_range; SET @@global.key_buffer_size = 65535; SELECT @@global.key_buffer_size; --echo '#--------------------FN_DYNVARS_055_04-------------------------#' -########################################################################### +########################################################################### # Change the value of key_buffer_size to invalid value # -########################################################################### - -# Due to increasing the runtime significantly and allocating the buffer instantly -# with a size of 18446744073709551615 bytes with 32bit exec. +########################################################################### + +# The next subtests are set to comment because they will +# be tried to allocate the buffer instantly which +# might lead to a message about missing resources, +# excessive runtime etc. especially if the main memory is less than 4GB. +# The negative values lead to very big numbers, e.g. -1 to +# a size of 18446744073709551615 bytes with a 32bit binary. +# See Bug #42103. #SET @@global.key_buffer_size = -1; #SELECT @@global.key_buffer_size; #SET @@global.key_buffer_size = 100000000000; @@ -91,46 +100,49 @@ SELECT @@global.key_buffer_size; #SET @@global.key_buffer_size = -1024; #SELECT @@global.key_buffer_size; SET @@global.key_buffer_size = 4; -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; +eval SELECT @@global.key_buffer_size $minimum_range; --Error ER_WRONG_TYPE_FOR_VAR SET @@global.key_buffer_size = ON; -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; +eval SELECT @@global.key_buffer_size $minimum_range; --Error ER_WRONG_TYPE_FOR_VAR SET @@global.key_buffer_size = 'test'; -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; +eval SELECT @@global.key_buffer_size $minimum_range; --echo '#-------------------FN_DYNVARS_055_05----------------------------#' -########################################################################### +########################################################################### # Test if accessing session key_buffer_size gives error # -########################################################################### +########################################################################### --Error ER_GLOBAL_VARIABLE SET @@session.key_buffer_size = 0; -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; +eval SELECT @@global.key_buffer_size $minimum_range; --echo '#----------------------FN_DYNVARS_055_06------------------------#' -############################################################################## +############################################################################## # Check if the value in GLOBAL & SESSION Tables matches values in variable # ############################################################################## -SELECT @@global.key_buffer_size = VARIABLE_VALUE -FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +SELECT @@global.key_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='key_buffer_size'; -SELECT @@key_buffer_size = VARIABLE_VALUE -FROM INFORMATION_SCHEMA.SESSION_VARIABLES +SELECT @@key_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='key_buffer_size'; --echo '#---------------------FN_DYNVARS_055_07----------------------#' -################################################################### +################################################################### # Check if TRUE and FALSE values can be used on variable # -################################################################### +################################################################### +# The following assignment are accepted, but should be rejected +# like the value ON (see above). +# See Bug #42104 SET @@global.key_buffer_size = TRUE; -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; +eval SELECT @@global.key_buffer_size $minimum_range; SET @@global.key_buffer_size = FALSE; -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; +eval SELECT @@global.key_buffer_size $minimum_range; --echo '#---------------------FN_DYNVARS_055_08----------------------#' ##################################################################### @@ -145,13 +157,13 @@ SELECT @@key_buffer_size = @@global.key_buffer_size; --enable_warnings --echo '#---------------------FN_DYNVARS_055_09----------------------#' -########################################################################## +########################################################################## # Check if key_buffer_size can be accessed with and without @@ sign # ########################################################################## --Error ER_GLOBAL_VARIABLE SET key_buffer_size = 8 ; -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; +eval SELECT @@global.key_buffer_size $minimum_range; --Error ER_PARSE_ERROR SET local.key_buffer_size = 10; --Error ER_UNKNOWN_TABLE @@ -163,8 +175,7 @@ SELECT global.key_buffer_size; --Error ER_BAD_FIELD_ERROR SELECT key_buffer_size = @@session.key_buffer_size; - -############################## +############################## # Restore initial value # ############################## diff --git a/mysql-test/suite/sys_vars/r/key_buffer_size_basic_32.result b/mysql-test/suite/sys_vars/r/key_buffer_size_basic_32.result index 51c4f841205..7221da16ed8 100644 --- a/mysql-test/suite/sys_vars/r/key_buffer_size_basic_32.result +++ b/mysql-test/suite/sys_vars/r/key_buffer_size_basic_32.result @@ -3,8 +3,8 @@ SET @start_value = @@global.key_buffer_size; SET @@global.key_buffer_size = 99; SET @@global.key_buffer_size = DEFAULT; ERROR 42000: Variable 'key_buffer_size' doesn't have a default value -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; -@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36 +SELECT @@global.key_buffer_size BETWEEN 8 AND 36; +@@global.key_buffer_size BETWEEN 8 AND 36 1 '#---------------------FN_DYNVARS_055_02-------------------------#' SET @@global.key_buffer_size = @start_value; @@ -13,14 +13,14 @@ SELECT @@global.key_buffer_size = @start_value; 1 '#--------------------FN_DYNVARS_055_03------------------------#' SET @@global.key_buffer_size = 8 ; -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; -@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36 +SELECT @@global.key_buffer_size BETWEEN 8 AND 36; +@@global.key_buffer_size BETWEEN 8 AND 36 1 SET @@global.key_buffer_size = 1800; Warnings: Warning 1292 Truncated incorrect key_buffer_size value: '1800' -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; -@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36 +SELECT @@global.key_buffer_size BETWEEN 8 AND 36; +@@global.key_buffer_size BETWEEN 8 AND 36 1 SET @@global.key_buffer_size = 65535; SELECT @@global.key_buffer_size; @@ -35,24 +35,24 @@ SELECT @@global.key_buffer_size; SET @@global.key_buffer_size = 4; Warnings: Warning 1292 Truncated incorrect key_buffer_size value: '4' -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; -@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36 +SELECT @@global.key_buffer_size BETWEEN 8 AND 36; +@@global.key_buffer_size BETWEEN 8 AND 36 1 SET @@global.key_buffer_size = ON; ERROR 42000: Incorrect argument type to variable 'key_buffer_size' -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; -@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36 +SELECT @@global.key_buffer_size BETWEEN 8 AND 36; +@@global.key_buffer_size BETWEEN 8 AND 36 1 SET @@global.key_buffer_size = 'test'; ERROR 42000: Incorrect argument type to variable 'key_buffer_size' -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; -@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36 +SELECT @@global.key_buffer_size BETWEEN 8 AND 36; +@@global.key_buffer_size BETWEEN 8 AND 36 1 '#-------------------FN_DYNVARS_055_05----------------------------#' SET @@session.key_buffer_size = 0; ERROR HY000: Variable 'key_buffer_size' is a GLOBAL variable and should be set with SET GLOBAL -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; -@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36 +SELECT @@global.key_buffer_size BETWEEN 8 AND 36; +@@global.key_buffer_size BETWEEN 8 AND 36 1 '#----------------------FN_DYNVARS_055_06------------------------#' SELECT @@global.key_buffer_size = VARIABLE_VALUE @@ -69,14 +69,14 @@ WHERE VARIABLE_NAME='key_buffer_size'; SET @@global.key_buffer_size = TRUE; Warnings: Warning 1292 Truncated incorrect key_buffer_size value: '1' -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; -@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36 +SELECT @@global.key_buffer_size BETWEEN 8 AND 36; +@@global.key_buffer_size BETWEEN 8 AND 36 1 SET @@global.key_buffer_size = FALSE; Warnings: Warning 1438 Cannot drop default keycache -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; -@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36 +SELECT @@global.key_buffer_size BETWEEN 8 AND 36; +@@global.key_buffer_size BETWEEN 8 AND 36 1 '#---------------------FN_DYNVARS_055_08----------------------#' SET @@global.key_buffer_size = 8 ; @@ -86,8 +86,8 @@ SELECT @@key_buffer_size = @@global.key_buffer_size; '#---------------------FN_DYNVARS_055_09----------------------#' SET key_buffer_size = 8 ; ERROR HY000: Variable 'key_buffer_size' is a GLOBAL variable and should be set with SET GLOBAL -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; -@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36 +SELECT @@global.key_buffer_size BETWEEN 8 AND 36; +@@global.key_buffer_size BETWEEN 8 AND 36 1 SET local.key_buffer_size = 10; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key_buffer_size = 10' at line 1 diff --git a/mysql-test/suite/sys_vars/r/key_buffer_size_basic_64.result b/mysql-test/suite/sys_vars/r/key_buffer_size_basic_64.result index 51c4f841205..9ce1ab20993 100644 --- a/mysql-test/suite/sys_vars/r/key_buffer_size_basic_64.result +++ b/mysql-test/suite/sys_vars/r/key_buffer_size_basic_64.result @@ -3,8 +3,8 @@ SET @start_value = @@global.key_buffer_size; SET @@global.key_buffer_size = 99; SET @@global.key_buffer_size = DEFAULT; ERROR 42000: Variable 'key_buffer_size' doesn't have a default value -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; -@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36 +SELECT @@global.key_buffer_size BETWEEN 8 AND 36; +@@global.key_buffer_size BETWEEN 8 AND 36 1 '#---------------------FN_DYNVARS_055_02-------------------------#' SET @@global.key_buffer_size = @start_value; @@ -13,14 +13,14 @@ SELECT @@global.key_buffer_size = @start_value; 1 '#--------------------FN_DYNVARS_055_03------------------------#' SET @@global.key_buffer_size = 8 ; -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; -@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36 +SELECT @@global.key_buffer_size BETWEEN 8 AND 36; +@@global.key_buffer_size BETWEEN 8 AND 36 1 SET @@global.key_buffer_size = 1800; Warnings: Warning 1292 Truncated incorrect key_buffer_size value: '1800' -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; -@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36 +SELECT @@global.key_buffer_size BETWEEN 8 AND 36; +@@global.key_buffer_size BETWEEN 8 AND 36 1 SET @@global.key_buffer_size = 65535; SELECT @@global.key_buffer_size; @@ -35,33 +35,33 @@ SELECT @@global.key_buffer_size; SET @@global.key_buffer_size = 4; Warnings: Warning 1292 Truncated incorrect key_buffer_size value: '4' -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; -@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36 +SELECT @@global.key_buffer_size BETWEEN 8 AND 36; +@@global.key_buffer_size BETWEEN 8 AND 36 1 SET @@global.key_buffer_size = ON; ERROR 42000: Incorrect argument type to variable 'key_buffer_size' -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; -@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36 +SELECT @@global.key_buffer_size BETWEEN 8 AND 36; +@@global.key_buffer_size BETWEEN 8 AND 36 1 SET @@global.key_buffer_size = 'test'; ERROR 42000: Incorrect argument type to variable 'key_buffer_size' -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; -@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36 +SELECT @@global.key_buffer_size BETWEEN 8 AND 36; +@@global.key_buffer_size BETWEEN 8 AND 36 1 '#-------------------FN_DYNVARS_055_05----------------------------#' SET @@session.key_buffer_size = 0; ERROR HY000: Variable 'key_buffer_size' is a GLOBAL variable and should be set with SET GLOBAL -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; -@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36 +SELECT @@global.key_buffer_size BETWEEN 8 AND 36; +@@global.key_buffer_size BETWEEN 8 AND 36 1 '#----------------------FN_DYNVARS_055_06------------------------#' -SELECT @@global.key_buffer_size = VARIABLE_VALUE -FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +SELECT @@global.key_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='key_buffer_size'; @@global.key_buffer_size = VARIABLE_VALUE 1 -SELECT @@key_buffer_size = VARIABLE_VALUE -FROM INFORMATION_SCHEMA.SESSION_VARIABLES +SELECT @@key_buffer_size = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='key_buffer_size'; @@key_buffer_size = VARIABLE_VALUE 1 @@ -69,14 +69,14 @@ WHERE VARIABLE_NAME='key_buffer_size'; SET @@global.key_buffer_size = TRUE; Warnings: Warning 1292 Truncated incorrect key_buffer_size value: '1' -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; -@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36 +SELECT @@global.key_buffer_size BETWEEN 8 AND 36; +@@global.key_buffer_size BETWEEN 8 AND 36 1 SET @@global.key_buffer_size = FALSE; Warnings: Warning 1438 Cannot drop default keycache -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; -@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36 +SELECT @@global.key_buffer_size BETWEEN 8 AND 36; +@@global.key_buffer_size BETWEEN 8 AND 36 1 '#---------------------FN_DYNVARS_055_08----------------------#' SET @@global.key_buffer_size = 8 ; @@ -86,8 +86,8 @@ SELECT @@key_buffer_size = @@global.key_buffer_size; '#---------------------FN_DYNVARS_055_09----------------------#' SET key_buffer_size = 8 ; ERROR HY000: Variable 'key_buffer_size' is a GLOBAL variable and should be set with SET GLOBAL -SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36; -@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36 +SELECT @@global.key_buffer_size BETWEEN 8 AND 36; +@@global.key_buffer_size BETWEEN 8 AND 36 1 SET local.key_buffer_size = 10; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key_buffer_size = 10' at line 1 -- cgit v1.2.1 From 45f7a939149e457403935db8c6b131baf6193f36 Mon Sep 17 00:00:00 2001 From: Guilhem Bichot Date: Mon, 26 Jan 2009 22:14:43 +0100 Subject: Putting back some fixes lost in a colleague's merge a while back; that was about problems when the R-tree index is not the first index. --- storage/maria/ma_rt_index.c | 2 +- storage/myisam/rt_index.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/storage/maria/ma_rt_index.c b/storage/maria/ma_rt_index.c index ccdddf5906d..15202c335b2 100644 --- a/storage/maria/ma_rt_index.c +++ b/storage/maria/ma_rt_index.c @@ -433,7 +433,7 @@ int maria_rtree_get_first(MARIA_HA *info, uint keynr, uint key_length) info->maria_rtree_recursion_depth= -1; info->keyread_buff_used= 1; - return maria_rtree_get_req(info, &keyinfo[keynr], key_length, root, 0); + return maria_rtree_get_req(info, keyinfo, key_length, root, 0); } diff --git a/storage/myisam/rt_index.c b/storage/myisam/rt_index.c index b1375d99bd0..822983b718c 100644 --- a/storage/myisam/rt_index.c +++ b/storage/myisam/rt_index.c @@ -378,6 +378,7 @@ err1: int rtree_get_first(MI_INFO *info, uint keynr, uint key_length) { my_off_t root; + MI_KEYDEF *keyinfo = info->s->keyinfo + keynr; if ((root = info->s->state.key_root[keynr]) == HA_OFFSET_ERROR) { @@ -388,7 +389,7 @@ int rtree_get_first(MI_INFO *info, uint keynr, uint key_length) info->rtree_recursion_depth = -1; info->buff_used = 1; - return rtree_get_req(info, info->s->keyinfo, key_length, root, 0); + return rtree_get_req(info, keyinfo, key_length, root, 0); } -- cgit v1.2.1 From 1cd1ae6d4bfb5dcbb84471d421eeb846437a6a8c Mon Sep 17 00:00:00 2001 From: Guilhem Bichot Date: Mon, 26 Jan 2009 22:19:13 +0100 Subject: In ctype_utf8.test, use a column large enough to provoke a failure in Maria too, not only in MyISAM (this is to ease ./mtr --mysqld=--default-storage-engine=maria) --- mysql-test/r/ctype_utf8.result | 2 +- mysql-test/t/ctype_utf8.test | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/ctype_utf8.result b/mysql-test/r/ctype_utf8.result index 6f4ae965ca0..4cfd06149f1 100644 --- a/mysql-test/r/ctype_utf8.result +++ b/mysql-test/r/ctype_utf8.result @@ -240,7 +240,7 @@ select hex(s1) from t1; hex(s1) 41 drop table t1; -create table t1 (a text character set utf8, primary key(a(360))); +create table t1 (a text character set utf8, primary key(a(371))); ERROR 42000: Specified key was too long; max key length is 1000 bytes CREATE TABLE t1 ( a varchar(10) ) CHARACTER SET utf8; INSERT INTO t1 VALUES ( 'test' ); diff --git a/mysql-test/t/ctype_utf8.test b/mysql-test/t/ctype_utf8.test index f0c769251cf..bb64319f1e4 100644 --- a/mysql-test/t/ctype_utf8.test +++ b/mysql-test/t/ctype_utf8.test @@ -164,7 +164,7 @@ drop table t1; # UTF8 breaks primary keys for cols > 333 characters # --error 1071 -create table t1 (a text character set utf8, primary key(a(360))); +create table t1 (a text character set utf8, primary key(a(371))); # -- cgit v1.2.1 From da8df39c14581f32f9004430336999011c96b33c Mon Sep 17 00:00:00 2001 From: Andrei Elkin Date: Tue, 27 Jan 2009 13:33:30 +0200 Subject: Bug #31240 load data infile replication between (4.0 or 4.1) and 5.1 fails Fixing pb failures caused by mtr invokes the test with --tmpdir to which there are sensitive operations in the test and setup_fake_relay_log.inc also needed --secure-file-priv for its own separate directory. Fixed with removing SELECT INTO OUTFILE and deploying --exec echo instead in the marco. The test's opt file should contain --secure-file-priv=$MYSQL_TEST_DIR as the test operations deal with files located in $MYSQL_TEST_DIR. mysql-test/include/setup_fake_relay_log.inc: Refining setup_fake_relay_log.inc to not use --secure-file-priv sensitive feature. The latter should remain available for the test. --- mysql-test/include/setup_fake_relay_log.inc | 3 +-- mysql-test/suite/rpl/t/rpl_cross_version-master.opt | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/mysql-test/include/setup_fake_relay_log.inc b/mysql-test/include/setup_fake_relay_log.inc index 8113ed6dc10..79ff7429466 100644 --- a/mysql-test/include/setup_fake_relay_log.inc +++ b/mysql-test/include/setup_fake_relay_log.inc @@ -68,9 +68,8 @@ let $_fake_relay_log_purge= `SELECT @@global.relay_log_purge`; # Create relay log file. copy_file $fake_relay_log $_fake_relay_log; - # Create relay log index. -eval SELECT '$_fake_relay_log' INTO OUTFILE '$_fake_relay_index'; +--exec echo $_fake_relay_log > $_fake_relay_index # Setup replication from existing relay log. eval CHANGE MASTER TO MASTER_HOST='dummy.localdomain', RELAY_LOG_FILE='$_fake_relay_log', RELAY_LOG_POS=4; diff --git a/mysql-test/suite/rpl/t/rpl_cross_version-master.opt b/mysql-test/suite/rpl/t/rpl_cross_version-master.opt index 01987c5c8a6..0ea05290c11 100644 --- a/mysql-test/suite/rpl/t/rpl_cross_version-master.opt +++ b/mysql-test/suite/rpl/t/rpl_cross_version-master.opt @@ -1 +1 @@ ---replicate-same-server-id --relay-log=slave-relay-bin --secure-file-priv=$MYSQLTEST_VARDIR +--replicate-same-server-id --relay-log=slave-relay-bin --secure-file-priv=$MYSQL_TMP_DIR -- cgit v1.2.1 From 0888d7c0a8fdc72563d710cc3affa61ad2262c5c Mon Sep 17 00:00:00 2001 From: Alfranio Correia Date: Tue, 27 Jan 2009 20:49:37 +0000 Subject: BUG#36391: "mysqlbinlog creates invalid charset statements" The fix for BUG#20103 "Escaping with backslash does not work as expected" was implemented too greedy though in that it not only changes the behavior of backslashes within strings but in general, so disabling command shortcuts like \G or \C (which in turn leads to Bug #36391: "mysqlbinlog creates invalid charset statements"). The fix allows the escaping with backslash to take place only inside a string, thus enabling the execution of command shortcuts and presevering the fix for BUG#20103. --- client/mysql.cc | 3 ++- mysql-test/suite/bugs/r/rpl_bug36391.result | 17 +++++++++++++++ mysql-test/suite/bugs/t/rpl_bug36391-master.opt | 1 + mysql-test/suite/bugs/t/rpl_bug36391.test | 28 +++++++++++++++++++++++++ 4 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 mysql-test/suite/bugs/r/rpl_bug36391.result create mode 100644 mysql-test/suite/bugs/t/rpl_bug36391-master.opt create mode 100644 mysql-test/suite/bugs/t/rpl_bug36391.test diff --git a/client/mysql.cc b/client/mysql.cc index 3de616ae407..be157f52d08 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -2044,7 +2044,8 @@ static bool add_line(String &buffer,char *line,char *in_string, } #endif if (!*ml_comment && inchar == '\\' && - !(mysql.server_status & SERVER_STATUS_NO_BACKSLASH_ESCAPES)) + !(*in_string && + (mysql.server_status & SERVER_STATUS_NO_BACKSLASH_ESCAPES))) { // Found possbile one character command like \c diff --git a/mysql-test/suite/bugs/r/rpl_bug36391.result b/mysql-test/suite/bugs/r/rpl_bug36391.result new file mode 100644 index 00000000000..2d62837a87a --- /dev/null +++ b/mysql-test/suite/bugs/r/rpl_bug36391.result @@ -0,0 +1,17 @@ +stop slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +reset master; +reset slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +start slave; +drop table if exists t1; +Warnings: +Note 1051 Unknown table 't1' +create table t1(id int); +show tables; +Tables_in_test +t1 +show master status; +File Position Binlog_Do_DB Binlog_Ignore_DB +master-bin.000001 278 +flush logs; diff --git a/mysql-test/suite/bugs/t/rpl_bug36391-master.opt b/mysql-test/suite/bugs/t/rpl_bug36391-master.opt new file mode 100644 index 00000000000..56273241f14 --- /dev/null +++ b/mysql-test/suite/bugs/t/rpl_bug36391-master.opt @@ -0,0 +1 @@ +--sql_mode=NO_BACKSLASH_ESCAPES diff --git a/mysql-test/suite/bugs/t/rpl_bug36391.test b/mysql-test/suite/bugs/t/rpl_bug36391.test new file mode 100644 index 00000000000..9f384304837 --- /dev/null +++ b/mysql-test/suite/bugs/t/rpl_bug36391.test @@ -0,0 +1,28 @@ +# +# BUG#36391 and BUG#38731 +# +# The fix for BUG#20103 "Escaping with backslash does not work as expected" +# was implemented too greedy though in that it not only changes the behavior +# of backslashes within strings but in general, so disabling command shortcuts +# like \G or \C (which in turn leads to BUG#36391: "mysqlbinlog creates invalid charset statements". +# +# The test executes simple commands that are stored in the binary log and +# re-execute them through the mysql client which should have to process +# some command shortcuts. The backslashes within strings is disabled in the file +# rpl_bug36391-master.opt by the option --sql_mode=NO_BACKSLASH_ESCAPES. +# +# + +--source include/master-slave.inc + +drop table if exists t1; + +create table t1(id int); + +show tables; + +show master status; + +flush logs; + +--exec $MYSQL_BINLOG $MYSQL_TEST_DIR/var/log/master-bin.000001 | $MYSQL test -- cgit v1.2.1 From fe75e52c25036ebd5e89288dd1f3861b312db7d7 Mon Sep 17 00:00:00 2001 From: Satya B Date: Wed, 28 Jan 2009 17:22:53 +0530 Subject: Fix for BUG#39886 - Table full for MEMORY table is not written into error log When a MEMORY table is full the error is returned to client but not written to error log. Fixed the handler api to write the error mesage to error log when the table is full. Note: No TestCase included as testing the error log is non-trivial. sql/handler.cc: Fixed handler::print_error() to write the error message to error log when the table is full. --- sql/handler.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sql/handler.cc b/sql/handler.cc index 938fb9a63ba..948cb08b13f 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -2655,8 +2655,12 @@ void handler::print_error(int error, myf errflag) break; case HA_ERR_RECORD_FILE_FULL: case HA_ERR_INDEX_FILE_FULL: + { textno=ER_RECORD_FILE_FULL; + /* Write the error message to error log */ + errflag|= ME_NOREFRESH; break; + } case HA_ERR_LOCK_WAIT_TIMEOUT: textno=ER_LOCK_WAIT_TIMEOUT; break; -- cgit v1.2.1 From 36118ca6a1f66f296566d5cba9d5510ee73a61a5 Mon Sep 17 00:00:00 2001 From: Bjorn Munch Date: Wed, 28 Jan 2009 14:14:05 +0100 Subject: Bug #42216 mysqltest: Use of diff belonging to current OS, with wrong option for Solaris Check for existence of diff fails on Solaris due to unsupported "-v" Fix is to do this check only on Windows where it was needed --- client/mysqltest.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/client/mysqltest.c b/client/mysqltest.c index 62ec5a88599..d7fbb6f1f18 100644 --- a/client/mysqltest.c +++ b/client/mysqltest.c @@ -1385,8 +1385,15 @@ void show_diff(DYNAMIC_STRING* ds, /* determine if we have diff on Windows needs special processing due to return values on that OS + This test is only done on Windows since it's only needed there + in order to correctly detect non-availibility of 'diff', and + the way it's implemented does not work with default 'diff' on Solaris. */ +#ifdef __WIN__ have_diff = diff_check(); +#else + have_diff = 1; +#endif if (have_diff) { @@ -1410,7 +1417,7 @@ void show_diff(DYNAMIC_STRING* ds, "2>&1", NULL) > 1) /* Most "diff" tools return >1 if error */ { - have_diff= 1; + have_diff= 0; } } } -- cgit v1.2.1 From 06e185280a4c2b6bae6f4b1b5a66947a49a449bd Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Wed, 28 Jan 2009 16:18:50 +0200 Subject: Bug #42366: server-cert.pem expired: "Not After : Jan 27 08:54:13 2009 GMT" Re-generated the PKI files needed. Removed the ones that are not needed. Updated the tests to reference the correct SSL subject. mysql-test/r/openssl_1.result: Bug #42366: Updated the tests to reference the correct SSL subject mysql-test/std_data/cacert.pem: Bug #42366: Re-generated the PKI files needed. mysql-test/std_data/client-cert.pem: Bug #42366: Re-generated the PKI files needed. mysql-test/std_data/client-key.pem: Bug #42366: Re-generated the PKI files needed. mysql-test/std_data/server-cert-des.pem: Bug #42366: Removed the ones that are not needed. mysql-test/std_data/server-cert.pem: Bug #42366: Re-generated the PKI files needed. mysql-test/std_data/server-key-des.pem: Bug #42366: Removed the ones that are not needed. mysql-test/std_data/server-key.pem: Bug #42366: Re-generated the PKI files needed. mysql-test/std_data/server8k-cert.pem: Bug #42366: Re-generated the PKI files needed. mysql-test/std_data/server8k-key.pem: Bug #42366: Re-generated the PKI files needed. mysql-test/t/openssl_1.test: Bug #42366: Updated the tests to reference the correct SSL subject --- mysql-test/r/openssl_1.result | 4 +- mysql-test/std_data/cacert.pem | 24 ++-- mysql-test/std_data/client-cert.pem | 75 +++++++----- mysql-test/std_data/client-key.pem | 14 +-- mysql-test/std_data/server-cert-des.pem | 16 --- mysql-test/std_data/server-cert.pem | 73 +++++++----- mysql-test/std_data/server-key-des.pem | 18 --- mysql-test/std_data/server-key.pem | 14 +-- mysql-test/std_data/server8k-cert.pem | 185 ++++++++++++++++++++++-------- mysql-test/std_data/server8k-key.pem | 194 ++++++++++++++++---------------- mysql-test/t/openssl_1.test | 4 +- 11 files changed, 350 insertions(+), 271 deletions(-) delete mode 100644 mysql-test/std_data/server-cert-des.pem delete mode 100644 mysql-test/std_data/server-key-des.pem diff --git a/mysql-test/r/openssl_1.result b/mysql-test/r/openssl_1.result index 9c6c29eea47..3e87b5b76b3 100644 --- a/mysql-test/r/openssl_1.result +++ b/mysql-test/r/openssl_1.result @@ -3,8 +3,8 @@ create table t1(f1 int); insert into t1 values (5); grant select on test.* to ssl_user1@localhost require SSL; grant select on test.* to ssl_user2@localhost require cipher "DHE-RSA-AES256-SHA"; -grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com"; -grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; +grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com"; +grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; flush privileges; connect(localhost,ssl_user5,,test,MASTER_PORT,MASTER_SOCKET); diff --git a/mysql-test/std_data/cacert.pem b/mysql-test/std_data/cacert.pem index b445e77d7c4..5473e4b153e 100644 --- a/mysql-test/std_data/cacert.pem +++ b/mysql-test/std_data/cacert.pem @@ -1,17 +1,17 @@ -----BEGIN CERTIFICATE----- -MIICrTCCAhagAwIBAgIJAIAO/Ybiptv1MA0GCSqGSIb3DQEBBAUAMEQxCzAJBgNV +MIICrTCCAhagAwIBAgIJAJXpePU0UOTVMA0GCSqGSIb3DQEBBQUAMEQxCzAJBgNV BAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxhMREwDwYD -VQQKEwhNeVNRTCBBQjAeFw0wNjA1MDMwODQ4NTRaFw0wOTAxMjcwODQ4NTRaMEQx +VQQKEwhNeVNRTCBBQjAeFw0wOTAxMjgxMDQ5NDZaFw0xNDAxMjcxMDQ5NDZaMEQx CzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxh MREwDwYDVQQKEwhNeVNRTCBBQjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA -+C46EQl1u7tQ6gb9eqc8V079gr8YmDPCEqtjO8bCIbchpjOpDITx0WZz36Sn9E72 -GPJwNip4FxLaPRIA3xNQHM5cE5U53qznlRx1Fc4O3hcWCvyCqNDl/vzPAh3pI6Bl -Ku9hfHXpp93W812smVPe9haShEXGgbEPYGzvOfVdu/MCAwEAAaOBpjCBozAdBgNV -HQ4EFgQUjIy/6OCTmqtPHBFha6/qzVk3yTcwdAYDVR0jBG0wa4AUjIy/6OCTmqtP -HBFha6/qzVk3yTehSKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxh -MRAwDgYDVQQHEwdVcHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAIAO/Ybiptv1 -MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEA8lD9zyB820Oq1aj7ZafX -De/hbdt9RIl2tzgw2K3r1KZGdXJVL0vSt5fZ51Nq9lg7OPJy3iXf+caBJEp0IJpB -uf4Gfr6zfXw+UlY6ZthRtHQHoXKcbskECjH5/ps/Uaa+dpVQ9O+Ii1rPzmgo6ztM -s+xZ46ESBt4WiHXm8kwbU9Y= +4XQHAe5R1+TXC8noZtWf+d5E0v1C59FWpn9SWEUCBjE5UiIwuJvi4Y+7xWGOXLAI +/JzJx5gNXLBiTsE/zh0uX9fKlajLhxB0GN+QU0ZlpQ1BeYipEcNXeI/7cT499f6v +XWabnTflivdCgHSWUOQ20/Lzs6kP6/e6OoZd/DPSjPECAwEAAaOBpjCBozAdBgNV +HQ4EFgQU8uLqVWWkmuKsnZf1RWz294wRrd8wdAYDVR0jBG0wa4AU8uLqVWWkmuKs +nZf1RWz294wRrd+hSKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxh +MRAwDgYDVQQHEwdVcHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAJXpePU0UOTV +MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAMMTE5sDN+Z0ZlV7KvH3g +6+aKvql8dTpRT3hYukeQlWua0nq74WPGVw0c4e/M/vbiMwmJcCYpB9pd4+dHqzSw +aPyoenjY6UF8n7B4quWy3SIUk2LSHeJLW+kzJn2afN9gvipFhdVh/uU2TIyLGOur +Z/vmJX2W7hF1uqPnbfa8Lrw= -----END CERTIFICATE----- diff --git a/mysql-test/std_data/client-cert.pem b/mysql-test/std_data/client-cert.pem index fdd5c86a23f..9300520793e 100644 --- a/mysql-test/std_data/client-cert.pem +++ b/mysql-test/std_data/client-cert.pem @@ -1,42 +1,55 @@ Certificate: Data: - Version: 1 (0x0) - Serial Number: 1 (0x1) - Signature Algorithm: md5WithRSAEncryption + Version: 3 (0x2) + Serial Number: 3 (0x3) + Signature Algorithm: sha1WithRSAEncryption Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB Validity - Not Before: May 3 08:55:39 2006 GMT - Not After : Jan 27 08:55:39 2009 GMT - Subject: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com + Not Before: Jan 28 11:04:39 2009 GMT + Not After : Jan 28 11:04:39 2010 GMT + Subject: C=SE, ST=Uppsala, O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (512 bit) Modulus (512 bit): - 00:d8:db:68:28:49:84:4d:d6:0f:5c:bc:3d:9a:ab: - 70:d5:3e:f5:b5:17:ba:ef:e1:f8:87:54:30:22:1f: - 81:07:bf:f9:24:7f:8a:54:10:e9:5f:e6:99:50:04: - d4:3b:55:a9:f1:52:ad:12:2b:5a:da:5c:be:8c:3e: - 5b:9e:b0:5a:19 + 00:e1:52:30:2c:d9:be:64:28:91:5d:7a:fd:d9:e9: + 14:35:7a:d2:94:4e:91:46:e0:db:9f:6b:79:f4:4c: + ac:6e:07:61:34:86:74:62:a7:a8:44:af:fa:87:87: + a8:7d:42:61:ff:ab:50:d4:7b:bf:75:fa:d5:d5:b3: + 74:fb:56:1e:37 Exponent: 65537 (0x10001) - Signature Algorithm: md5WithRSAEncryption - 07:57:bf:07:92:c2:8e:86:24:6b:0a:bf:e5:31:21:44:c3:60: - 02:a6:ac:9e:f7:db:7a:6e:fc:4f:d4:7b:54:18:80:47:d2:4a: - 63:0e:e3:f8:af:6e:58:e3:97:5a:2b:82:5d:76:20:d1:33:a0: - f5:43:a1:d1:51:f4:ca:c8:b3:1a:66:4e:0e:55:df:d2:e8:fa: - 83:18:42:f5:ec:66:40:f0:39:e8:f9:d7:cf:f6:dd:e4:7b:69: - dd:0c:92:d8:52:95:43:6f:29:3d:f0:8d:4c:dd:52:ea:6b:a0: - 39:0f:dc:59:a7:5c:37:6b:8b:05:44:b7:69:ea:a3:58:e0:4e: - ce:d6 + X509v3 extensions: + X509v3 Basic Constraints: + CA:FALSE + X509v3 Subject Key Identifier: + 58:30:B5:9B:2C:05:94:06:BA:3D:3C:F0:B2:CD:1D:67:65:E3:7F:85 + X509v3 Authority Key Identifier: + keyid:F2:E2:EA:55:65:A4:9A:E2:AC:9D:97:F5:45:6C:F6:F7:8C:11:AD:DF + DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB + serial:95:E9:78:F5:34:50:E4:D5 + + Signature Algorithm: sha1WithRSAEncryption + 05:19:e3:13:14:fc:c5:28:bf:69:f8:00:b3:25:cb:bd:ca:9f: + 2f:4c:b3:a8:04:11:f0:74:27:bd:82:2c:b4:49:9b:a7:59:f0: + f7:87:d1:e0:ba:99:a2:fe:4b:1d:10:6f:e4:a2:b3:cd:7f:8b: + 68:31:46:ee:cd:9e:e2:47:e1:4c:fa:74:d1:e2:8b:cc:a0:4b: + a8:24:d1:a4:c3:6b:2a:c6:28:cd:41:e0:06:48:e6:cf:f2:3c: + ca:37:95:d7:29:64:6b:91:91:83:e7:ac:c8:0b:87:bc:da:a6: + aa:f1:44:43:c8:74:7b:15:26:91:2e:03:c4:71:50:6c:f8:68: + dc:8c -----BEGIN CERTIFICATE----- -MIIB5jCCAU8CAQEwDQYJKoZIhvcNAQEEBQAwRDELMAkGA1UEBhMCU0UxEDAOBgNV -BAgTB1VwcHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFC -MB4XDTA2MDUwMzA4NTUzOVoXDTA5MDEyNzA4NTUzOVowdzELMAkGA1UEBhMCU0Ux -EDAOBgNVBAgTB1VwcHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15 -U1FMIEFCMTEwLwYJKoZIhvcNAQkBFiJhYnN0cmFjdC5teXNxbC5kZXZlbG9wZXJA -bXlzcWwuY29tMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANjbaChJhE3WD1y8PZqr -cNU+9bUXuu/h+IdUMCIfgQe/+SR/ilQQ6V/mmVAE1DtVqfFSrRIrWtpcvow+W56w -WhkCAwEAATANBgkqhkiG9w0BAQQFAAOBgQAHV78HksKOhiRrCr/lMSFEw2ACpqye -99t6bvxP1HtUGIBH0kpjDuP4r25Y45daK4JddiDRM6D1Q6HRUfTKyLMaZk4OVd/S -6PqDGEL17GZA8Dno+dfP9t3ke2ndDJLYUpVDbyk98I1M3VLqa6A5D9xZp1w3a4sF -RLdp6qNY4E7O1g== +MIICfzCCAeigAwIBAgIBAzANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ +MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT +UUwgQUIwHhcNMDkwMTI4MTEwNDM5WhcNMTAwMTI4MTEwNDM5WjBlMQswCQYDVQQG +EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxMTAvBgkq +hkiG9w0BCQEWImFic3RyYWN0Lm15c3FsLmRldmVsb3BlckBteXNxbC5jb20wXDAN +BgkqhkiG9w0BAQEFAANLADBIAkEA4VIwLNm+ZCiRXXr92ekUNXrSlE6RRuDbn2t5 +9EysbgdhNIZ0YqeoRK/6h4eofUJh/6tQ1Hu/dfrV1bN0+1YeNwIDAQABo4GjMIGg +MAkGA1UdEwQCMAAwHQYDVR0OBBYEFFgwtZssBZQGuj088LLNHWdl43+FMHQGA1Ud +IwRtMGuAFPLi6lVlpJrirJ2X9UVs9veMEa3foUikRjBEMQswCQYDVQQGEwJTRTEQ +MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT +UUwgQUKCCQCV6Xj1NFDk1TANBgkqhkiG9w0BAQUFAAOBgQAFGeMTFPzFKL9p+ACz +Jcu9yp8vTLOoBBHwdCe9giy0SZunWfD3h9Hgupmi/ksdEG/korPNf4toMUbuzZ7i +R+FM+nTR4ovMoEuoJNGkw2sqxijNQeAGSObP8jzKN5XXKWRrkZGD56zIC4e82qaq +8URDyHR7FSaRLgPEcVBs+GjcjA== -----END CERTIFICATE----- diff --git a/mysql-test/std_data/client-key.pem b/mysql-test/std_data/client-key.pem index 22f8e23ab2a..9ef464d0875 100644 --- a/mysql-test/std_data/client-key.pem +++ b/mysql-test/std_data/client-key.pem @@ -1,9 +1,9 @@ -----BEGIN RSA PRIVATE KEY----- -MIIBOgIBAAJBANjbaChJhE3WD1y8PZqrcNU+9bUXuu/h+IdUMCIfgQe/+SR/ilQQ -6V/mmVAE1DtVqfFSrRIrWtpcvow+W56wWhkCAwEAAQJAK27WT6tZylUjQomZNQ89 -TBiOEbUtBbqWklQ0R8FTkH9uKV+8KYQ+k+tMkoAEGFfChB0YfofNQ2KZYWWw4yOB -WQIhAPXXDQt73aou10s+cmKM3C3WzLmIZtrvm9wNBXWDGxgTAiEA4dG4cXrZfa1M -TTbjzNU1/Jf50/M8SvZDWMPQWxJ8oqMCIH6zBpYUkHlVCsBMvsbrsc4uFfTIx7mu -I7WVQGr/1sbhAiBf4uFirjtztgZUMx5/d3k5DH80lG/hlLf8FQl/4lWx6QIhAPHw -CXfPUbUFl4r/i9Br5+exGol50qX4F3aP5Sh5EnZT +MIIBOQIBAAJBAOFSMCzZvmQokV16/dnpFDV60pROkUbg259refRMrG4HYTSGdGKn +qESv+oeHqH1CYf+rUNR7v3X61dWzdPtWHjcCAwEAAQJAXYooM8ZlcuEgj+VKU1ee +qyEFIMqJJxqcMk+E/nWCM96WxCP3zHNSrqNfSpI3ld7QzMwhdRz+gFLxT2gGNpIw +MQIhAPxzM/lDihe67X3ADYtDl9ZjA8Pm430x9sXlcxI17tCZAiEA5H1SyFl4mUee +9VnfSC2XGW7lwz72ZygfVX+b7tLWF08CIEh40gzW5MfXM+KLxdea+fXjyursV5ZT +R6KcMiKiNQLRAiAcmHqlzFzFgisotai2Fc6VRkXHG7gmzOSvBJt1VjmpDQIge6jf +2N7whTdvC4ferB+zUlgWQdyvx1c3T4gnt6PYdaY= -----END RSA PRIVATE KEY----- diff --git a/mysql-test/std_data/server-cert-des.pem b/mysql-test/std_data/server-cert-des.pem deleted file mode 100644 index 3b93d865d5b..00000000000 --- a/mysql-test/std_data/server-cert-des.pem +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN CERTIFICATE----- -MIICljCCAX4CAQEwDQYJKoZIhvcNAQEEBQAwUTELMAkGA1UEBhMCU0UxEDAOBgNV -BAgTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCMRAwDgYDVQQLEwdTdXBwb3J0 -MQswCQYDVQQDEwJDQTAeFw0wNjA4MjgxMTA4NTlaFw0wOTA1MjQxMTA4NTlaMFUx -CzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMREwDwYDVQQKEwhNeVNRTCBB -QjEQMA4GA1UECxMHU3VwcG9ydDEPMA0GA1UEAxMGc2VydmVyMIGfMA0GCSqGSIb3 -DQEBAQUAA4GNADCBiQKBgQDEiOVZcWYzZe7I8xhhUwCzvmkZifAXeMTH+8XKGLHX -NWF3FLduAmeAad9oOZgBKb+oWTdRDWXqwu6nYYUBfrUpaY27/wLkgWRgewL3LZnw -W2FjhNsjx3gI2NK+Pix47q9d+a+5T4AW5+lK499l0K0k2cvyFdIerhDW8R0t8Uru -twIDAQABMA0GCSqGSIb3DQEBBAUAA4IBAQC2LQcqLg52RbelWrKutlJ5E6rzugnJ -ZAlbN9sM98O2xFiIGDA3tb5j9LAEjE0E+RqdptEYnvy9b3szhLYXtIILZTkClf9r -Uwu1nUYPTyp+9ZYCa4fovOU5h1Ogv+9UZPds/LPDwWEn8K+lvscB4X57wJyuoEck -1Mu41OA6h77181MydSdgZo0oquJDWhdCsYHXVFVs0F6naMm2uPMCTDiQVlhHJuTO -VQMNIwxRFtvsv2tpsXsaP/8sT32d5CFebfxxSVnqQvJ4ZdIrphl6L43XU01rsEcE -K8KYujZQ6SKws+HVcGqsr7TPgJfJE6D+5RazvvIQISPvx4eduebqzqdC ------END CERTIFICATE----- diff --git a/mysql-test/std_data/server-cert.pem b/mysql-test/std_data/server-cert.pem index f420b4f3124..cab54db8b23 100644 --- a/mysql-test/std_data/server-cert.pem +++ b/mysql-test/std_data/server-cert.pem @@ -1,42 +1,55 @@ Certificate: Data: - Version: 1 (0x0) + Version: 3 (0x2) Serial Number: 1 (0x1) - Signature Algorithm: md5WithRSAEncryption + Signature Algorithm: sha1WithRSAEncryption Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB Validity - Not Before: May 3 08:54:13 2006 GMT - Not After : Jan 27 08:54:13 2009 GMT - Subject: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB, CN=localhost/emailAddress=abstract.mysql.developer@mysql.com + Not Before: Jan 28 10:55:13 2009 GMT + Not After : Jan 28 10:55:13 2010 GMT + Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=localhost/emailAddress=abstract.mysql.developer@mysql.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (512 bit) Modulus (512 bit): - 00:d9:fd:da:b3:fb:7c:e0:b0:03:be:97:c6:a4:36: - ac:71:af:bb:2d:e5:84:ed:f3:8f:2b:eb:11:e5:aa: - 66:ed:bf:62:6b:e3:ce:fa:80:ed:90:ff:b9:4a:39: - 20:40:b6:f2:99:bf:2f:33:b5:f2:ec:3a:90:60:1d: - 9e:94:7e:a4:1b + 00:b6:8f:e5:b7:b4:86:83:13:8a:f9:bf:63:cb:64: + 2d:b9:51:d1:de:ab:7b:45:1f:aa:b5:66:73:13:f9: + a6:07:d5:ba:7c:fa:92:bd:37:e2:ad:87:db:3e:b6: + 6a:12:64:f8:ee:17:e3:15:06:2f:a8:82:68:bf:57: + 8d:c3:04:98:27 Exponent: 65537 (0x10001) - Signature Algorithm: md5WithRSAEncryption - de:5e:35:cd:7b:11:e6:7c:c5:7c:d6:27:4e:72:12:49:42:eb: - 6f:2c:96:f3:f4:00:78:a7:4f:9f:2d:7b:d7:30:39:af:49:4d: - df:b1:55:0d:30:be:23:6f:06:67:fd:dd:ba:98:66:36:c6:32: - b7:ed:63:fc:aa:49:cd:4f:72:98:3b:13:0e:f6:28:d7:d4:eb: - 04:6b:dc:e8:c7:04:80:92:e4:04:86:0b:ed:32:25:76:1d:a9: - 5c:a9:2c:18:2c:bd:bc:15:ed:e1:76:96:4d:bb:0d:41:44:06: - 2c:ad:45:bb:db:61:ad:17:11:cb:49:70:67:eb:c6:27:d3:91: - c8:f2 + X509v3 extensions: + X509v3 Basic Constraints: + CA:FALSE + X509v3 Subject Key Identifier: + D9:9A:B8:5F:22:EA:04:10:C8:25:7D:82:57:E6:2E:FD:19:29:E7:DA + X509v3 Authority Key Identifier: + keyid:F2:E2:EA:55:65:A4:9A:E2:AC:9D:97:F5:45:6C:F6:F7:8C:11:AD:DF + DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB + serial:95:E9:78:F5:34:50:E4:D5 + + Signature Algorithm: sha1WithRSAEncryption + 54:07:2d:21:0b:a5:af:3b:58:23:32:5e:56:7f:ab:58:63:48: + 91:aa:38:90:89:16:f9:cc:bf:a4:0e:78:2b:9f:c5:1b:58:a6: + e6:08:8f:2e:ae:97:03:21:9b:f1:cd:c0:26:8f:1d:d7:28:27: + a0:8e:81:09:1b:1c:0f:c9:a5:41:3a:2d:44:3f:9c:fa:87:ff: + c8:4c:2b:44:f7:1b:c1:3e:4f:01:7f:e9:26:cc:9f:1c:06:b5: + 0b:27:d1:10:90:be:93:0c:9c:e7:b0:d1:ea:27:99:4e:06:14: + 0c:7a:e9:c1:52:c5:33:68:bc:61:0d:db:81:3b:57:48:57:bf: + 42:9a -----BEGIN CERTIFICATE----- -MIIB+zCCAWQCAQEwDQYJKoZIhvcNAQEEBQAwRDELMAkGA1UEBhMCU0UxEDAOBgNV -BAgTB1VwcHNhbGExEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFC -MB4XDTA2MDUwMzA4NTQxM1oXDTA5MDEyNzA4NTQxM1owgYsxCzAJBgNVBAYTAlNF -MRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdVcHBzYWxhMREwDwYDVQQKEwhN -eVNRTCBBQjESMBAGA1UEAxMJbG9jYWxob3N0MTEwLwYJKoZIhvcNAQkBFiJhYnN0 -cmFjdC5teXNxbC5kZXZlbG9wZXJAbXlzcWwuY29tMFwwDQYJKoZIhvcNAQEBBQAD -SwAwSAJBANn92rP7fOCwA76XxqQ2rHGvuy3lhO3zjyvrEeWqZu2/YmvjzvqA7ZD/ -uUo5IEC28pm/LzO18uw6kGAdnpR+pBsCAwEAATANBgkqhkiG9w0BAQQFAAOBgQDe -XjXNexHmfMV81idOchJJQutvLJbz9AB4p0+fLXvXMDmvSU3fsVUNML4jbwZn/d26 -mGY2xjK37WP8qknNT3KYOxMO9ijX1OsEa9zoxwSAkuQEhgvtMiV2HalcqSwYLL28 -Fe3hdpZNuw1BRAYsrUW722GtFxHLSXBn68Yn05HI8g== +MIICkzCCAfygAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ +MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT +UUwgQUIwHhcNMDkwMTI4MTA1NTEzWhcNMTAwMTI4MTA1NTEzWjB5MQswCQYDVQQG +EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxEjAQBgNV +BAMTCWxvY2FsaG9zdDExMC8GCSqGSIb3DQEJARYiYWJzdHJhY3QubXlzcWwuZGV2 +ZWxvcGVyQG15c3FsLmNvbTBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQC2j+W3tIaD +E4r5v2PLZC25UdHeq3tFH6q1ZnMT+aYH1bp8+pK9N+Kth9s+tmoSZPjuF+MVBi+o +gmi/V43DBJgnAgMBAAGjgaMwgaAwCQYDVR0TBAIwADAdBgNVHQ4EFgQU2Zq4XyLq +BBDIJX2CV+Yu/Rkp59owdAYDVR0jBG0wa4AU8uLqVWWkmuKsnZf1RWz294wRrd+h +SKRGMEQxCzAJBgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRAwDgYDVQQHEwdV +cHBzYWxhMREwDwYDVQQKEwhNeVNRTCBBQoIJAJXpePU0UOTVMA0GCSqGSIb3DQEB +BQUAA4GBAFQHLSELpa87WCMyXlZ/q1hjSJGqOJCJFvnMv6QOeCufxRtYpuYIjy6u +lwMhm/HNwCaPHdcoJ6COgQkbHA/JpUE6LUQ/nPqH/8hMK0T3G8E+TwF/6SbMnxwG +tQsn0RCQvpMMnOew0eonmU4GFAx66cFSxTNovGEN24E7V0hXv0Ka -----END CERTIFICATE----- diff --git a/mysql-test/std_data/server-key-des.pem b/mysql-test/std_data/server-key-des.pem deleted file mode 100644 index b35d4ab223b..00000000000 --- a/mysql-test/std_data/server-key-des.pem +++ /dev/null @@ -1,18 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -Proc-Type: 4,ENCRYPTED -DEK-Info: DES-EDE3-CBC,D2BE7598C7E3BDA5 - -1W3qPgw5ut80OhaAGVZZe/tfFiBAlwpX1SohdApWj+QYP+dK/mdEBhgI3BXTFNLW -pJqDTzGlKtft7hHN6QDFEdZMKxej5+2iLu14V62o+5yQgUoqswoXcmmqJCJ7AvyJ -yMBmGAzxRFlQsT8lf6o5TS1/efBvjvWhh3NG2Zq2LpyhWRRqA3kNhzktzt2WjDZe -ZkKmZJJnArr/Aw7jEBC4sH+nmgxoR18GzDddRG12hv1AWyHc3+VisTBpyNzeBy17 -rxuQtqLzkAJmId723ddw83RVNSvBUUS3G0rx5O3HPobvZK89UqVxcXtIgc11WTVU -N3DbcJq5it43Loo0W3gAngtESDm2E3rTadrmdUSDGv2wQ5dNFl6cQ1f397Sdd/WC -A0grn1tKjJ6COp80Ymdyvn+stjv/+Rl1/KHSeG0lNeZxqjPPOJ7NHaKv7qjYsJ6W -LT35/Xc3oCo5qk9FOlq/0tGjHxf6RcFr5U7k5ILKZs+RmvJ4Sv/VYShLfLTcfGbJ -wBNfRKvcHZBQJQBb1+s/kRrjFFtvhrUwLz4+c9kskp+t4qRVYywUAnGGGsMs/GPm -wYsLQZO6Bs5/taaVUyaJQW015J7FGGv+/7/A1dIhu73S/Xl/YcFbX/CMEVq2Lxxd -hZdFIuaZ7LE+0MDQWsvYMYPDPLDH11diczb/jeKBdLPOzk/FUqVx3Fin1PpcaBxY -b+7oZJhYdg/rAWDeQ/nji9qnEG8waK6x1hdkYPOrqqWQPfgM/LPsSrgWeuTSdx2B -Ixi01UlBb5UP4K7UrjyddPobmcVjXaQLNe7zaq0+OS3UnIG85GtHrQ== ------END RSA PRIVATE KEY----- diff --git a/mysql-test/std_data/server-key.pem b/mysql-test/std_data/server-key.pem index a4842624c0c..0d8274b77f6 100644 --- a/mysql-test/std_data/server-key.pem +++ b/mysql-test/std_data/server-key.pem @@ -1,9 +1,9 @@ -----BEGIN RSA PRIVATE KEY----- -MIIBOgIBAAJBANn92rP7fOCwA76XxqQ2rHGvuy3lhO3zjyvrEeWqZu2/YmvjzvqA -7ZD/uUo5IEC28pm/LzO18uw6kGAdnpR+pBsCAwEAAQJBAMieYdpmRoUaODf9wqh6 -ULXH/sG8i1vaXRcUHcJ50oRVfVK8/tGGvUuTDu6MeINTdahNDlYfjwOjKWVXys1w -h6ECIQDs6s7DfczK2bKCLt0zqg24mZL3rOpGmDU+TatwN1yVgwIhAOuMzdVTX39p -328+5WxJvBOFfxmSmqdDhIFpnRMvgguJAiByvKjT/km+970+1OllyvaIL0AA2OpA -tBgdC0p6tyUMdwIgKuHAWzTJbu28UolVxQgLaFZmVCZ/ZzIAfnrWsLZ2a1kCIBq/ -ywJ2cpyFlgazu8AH6KCQa0ok9s70ElaB6FEC85Al +MIIBOQIBAAJBALaP5be0hoMTivm/Y8tkLblR0d6re0UfqrVmcxP5pgfVunz6kr03 +4q2H2z62ahJk+O4X4xUGL6iCaL9XjcMEmCcCAwEAAQJASA5VwgNb0CKHiPm0ntOk +hG+54SRX3DmafEy6gRjZIl/bZ/asSLhXUZ+CeohyrQh7BZgYWvykd8pRISL9eKsU +GQIhAOXkUrOtP/EtjyqNluEqZdG+RZi/7p61JS3Ce13Myu+LAiEAy0uMlV34AJpM +b40FPKqlHxw8DD/Dt1iKhNVAg8+LDVUCIFjv7fbJDbW2VG63/Cj8CAwOukoP5rbL +iaicVrHBKrllAiB9+MiaXeopZXNrxDS0jQFYr8Q9yt1aJVFgUkxx4Q9HKQIgZPs0 +KlF3NNNWw78INaAEkyf0IEssnLMsuoCWw0DIOak= -----END RSA PRIVATE KEY----- diff --git a/mysql-test/std_data/server8k-cert.pem b/mysql-test/std_data/server8k-cert.pem index a0750f9e69e..3b86effd699 100644 --- a/mysql-test/std_data/server8k-cert.pem +++ b/mysql-test/std_data/server8k-cert.pem @@ -1,51 +1,138 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 4 (0x4) + Signature Algorithm: sha1WithRSAEncryption + Issuer: C=SE, ST=Uppsala, L=Uppsala, O=MySQL AB + Validity + Not Before: Jan 28 11:12:27 2009 GMT + Not After : Jan 28 11:12:27 2010 GMT + Subject: C=SE, ST=Uppsala, O=MySQL AB, CN=server + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (8192 bit) + Modulus (8192 bit): + 00:c0:8f:22:03:24:59:67:46:14:d6:8f:60:09:58: + 06:07:45:f1:78:71:55:f1:ea:b9:30:8a:cd:c3:3c: + b9:bf:65:6e:18:ed:a0:b8:c9:19:56:6f:c4:90:19: + c8:65:09:db:ff:bf:82:a1:08:ad:01:4f:5a:a3:d4: + 3d:78:7e:4b:4a:01:a4:7d:e8:7b:05:3e:7d:d8:b9: + 55:58:60:d6:1c:ce:e8:32:62:2c:19:60:f3:ed:05: + 99:6d:c9:77:07:2e:11:6d:0b:9a:c7:68:38:46:e8: + fa:31:80:df:e8:79:f0:f1:fd:a9:94:c3:fa:0d:f5: + 78:ac:49:7e:d5:17:fd:e1:ee:44:f3:c7:0e:30:32: + 5d:a9:19:25:e4:bb:21:1d:fe:3c:84:48:40:f5:58: + f4:bf:13:8c:85:68:bb:ec:f5:dd:c6:38:d1:b0:77: + 1f:a6:8e:4f:8d:e2:6f:49:74:f5:3f:90:65:8e:99: + 1e:59:9c:1c:b5:26:24:c4:b1:de:1e:fb:96:65:c4: + 31:14:1a:53:b8:5e:62:8a:c7:04:f7:b4:36:a4:af: + 07:c8:27:06:ed:dd:e6:f4:8c:62:f1:65:40:d0:9f: + 9f:a9:14:c8:8e:8b:74:d6:67:5a:d0:c9:4d:35:a1: + d5:7b:39:3a:42:9f:e4:d0:f4:c6:0f:2e:42:30:4b: + 56:b2:3d:6d:8e:2d:58:c5:69:99:35:49:95:95:99: + b6:87:29:2b:32:d1:50:08:cd:25:14:48:6d:10:99: + 85:61:3c:41:26:21:55:cc:1f:cf:ad:b0:2f:b9:89: + d8:4e:a0:18:ff:75:1d:b6:97:7c:c5:fa:8b:dc:93: + 17:86:0a:64:d4:09:35:d5:83:34:6d:5c:6d:c6:8c: + cd:b9:ec:c2:93:c6:c1:b7:cc:04:6f:22:e0:07:bf: + e0:d9:9b:2f:d5:a0:50:cc:f9:f0:95:83:8f:f4:30: + 83:72:94:d7:b5:4b:da:cc:9f:54:3b:8d:78:77:0b: + 24:6c:0f:c2:96:61:96:2f:b8:5f:b5:7a:ab:7a:5b: + 97:7a:a9:ad:40:8b:f2:d6:c6:8d:81:d9:94:61:8f: + 9d:03:c5:b9:10:03:68:83:bf:04:81:cc:ac:bd:34: + 89:e8:d4:8d:43:20:e2:b6:a4:11:3d:15:2a:82:0c: + d6:3a:6a:8c:62:d4:93:bc:c3:80:bf:1b:b4:2b:0a: + 7a:34:f0:cd:1e:82:3f:25:0f:d1:04:a8:0a:05:19: + b0:d6:16:83:39:af:0b:45:7d:cb:14:7e:4d:aa:aa: + c2:39:a8:46:38:ab:bd:ab:2a:bd:34:43:7f:da:25: + de:2b:fb:69:3b:fe:3b:87:fd:98:94:76:4a:bf:04: + a3:31:e3:3a:ff:6f:04:fa:fa:24:e4:2a:89:e9:0e: + bf:44:4c:72:85:82:3c:89:4a:03:63:01:41:92:53: + d0:82:60:6e:d8:ff:8c:a2:b4:1a:3b:20:6d:ae:74: + 92:30:4e:48:e3:51:a6:cb:73:97:06:13:03:32:23: + 9b:7d:a2:c7:3a:a9:af:97:8c:51:ed:fe:fa:b4:b4: + 1a:a3:87:fc:cf:8c:8e:e6:80:15:03:fd:fe:7d:bd: + b1:76:f1:5f:b3:09:2b:4c:4d:a7:7c:b5:72:b1:d6: + db:38:c0:67:a4:54:bc:87:09:a5:39:ba:1a:7e:3f: + 74:60:ad:3d:4b:be:94:53:f3:64:16:c7:33:35:ec: + 41:00:95:b6:de:99:62:a2:7a:28:9a:45:4d:fa:cd: + a6:77:f6:de:58:72:50:c8:7d:69:38:db:07:04:84: + d8:4d:39:f7:50:13:43:ae:2d:af:45:a4:2a:39:56: + 3c:b8:b7:d8:26:a4:36:c9:23:aa:aa:b8:49:0b:21: + ba:9e:7a:2b:7f:4d:29:9f:0e:00:1e:b4:5e:a6:fa: + 49:fe:8d:e5:74:57:d8:ba:d9:92:2c:d2:ac:84:1d: + f2:a6:a4:44:1c:bf:88:41:32:7e:d1:c3:2f:6e:bc: + 0f:5d:19:a6:8f:74:2b:67:ba:dd:a9:db:68:b5:ce: + 9d:25:48:df:54:08:d0:1d:4f:2e:5b:24:bc:05:0f: + fb:58:46:fa:02:ca:53:93:29:cf:10:27:c2:a0:18: + d0:f5:d4:b9:3c:5e:df:8e:6c:f5:7c:b9:b4:54:cc: + 39:16:5d:3c:da:96:b3:c3:6c:d4:70:5d:d3:30:a7: + a6:bd:6f:dd:41:bc:a8:de:42:60:59:9a:85:25:0d: + 2a:45:c3:05:b4:6e:7a:4a:4d:ca:8c:0a:e5:6c:34: + bc:20:9b:6d:4a:ca:ca:b6:a6:3a:a0:db:c3:0e:20: + 1a:12:1b:77:dd:cb:1d:7f:c3:0d:0d:e7:c1:fd:96: + d2:c7:68:80:99:a0:d9:8a:33:21:a3:8b:a2:5a:a7: + 7e:27:06:02:7f:ed:60:11:37:34:54:17:7f:4d:90: + 14:1e:69:37:0d:ba:f0:2b:f0:a3:2d:62:79:c8:76: + a8:ea:c8:e7:3b:1f:c6:4f:c2:0c:d7:ac:f0:77:53: + 5d:f0:50:b4:df:9b:03:ca:4d:41:e1:18:b2:25:30: + 86:1d:63:e5:67:b1:53:cd:6b:4e:83:1a:b9:5e:2d: + 05:15:6b:d4:8e:b1:97:fc:31:03:57:cb:bf:27:7f: + cd:5f:27:7e:66:e7:3c:17:09:b6:11:2a:4f:33:cd: + eb:1a:d3:6f:d5:15:8b:8b:ce:68:6b:7e:9a:95:e5: + 74:7f:17:57:d9 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: + CA:FALSE + X509v3 Subject Key Identifier: + 58:12:24:59:A7:3C:29:15:89:5A:C2:12:DB:E7:A5:42:10:21:B7:BA + X509v3 Authority Key Identifier: + keyid:F2:E2:EA:55:65:A4:9A:E2:AC:9D:97:F5:45:6C:F6:F7:8C:11:AD:DF + DirName:/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB + serial:95:E9:78:F5:34:50:E4:D5 + + Signature Algorithm: sha1WithRSAEncryption + cd:cb:5c:83:35:ea:cb:cb:c3:a8:c3:95:e2:e6:6f:4d:d8:e4: + ee:41:dd:3f:35:82:ac:2f:fd:63:89:4f:3a:19:d7:81:75:b3: + a3:fc:36:b2:12:d5:c6:56:bc:13:60:37:33:6e:a0:d8:ae:7c: + 88:f9:4b:ee:7b:1f:c8:f0:56:19:07:4d:bb:45:52:1c:78:81: + 07:7c:13:86:b8:86:70:85:e4:71:25:58:78:d1:be:de:22:82: + 6d:1a:4b:06:ac:f0:e8:50:87:c7:69:64:c2:61:43:cd:96:06: + a6:7e:09:a9:02:01:2a:a2:40:f3:cd:10:80:48:d0:34:55:40: + b9:ce -----BEGIN CERTIFICATE----- -MIIJHDCCBQQCAQEwDQYJKoZIhvcNAQEEBQAwTjELMAkGA1UEBhMCU0UxEDAOBgNV -BAgTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCMQ0wCwYDVQQLEwRUZXN0MQsw -CQYDVQQDEwJDQTAeFw0wNzA3MTMwNzU2MjVaFw0xMDA0MDgwNzU2MjVaMFoxCzAJ -BgNVBAYTAlNFMRAwDgYDVQQIEwdVcHBzYWxhMRkwFwYDVQQKFBBNeVNRTCAgIAog -ICAgIEFCMQ0wCwYDVQQLEwRUZXN0MQ8wDQYDVQQDEwZzZXJ2ZXIwggQiMA0GCSqG -SIb3DQEBAQUAA4IEDwAwggQKAoIEAQDUFlh/3mwov5YaICFXOdJXgHV/uDkTjXB6 -9oxlipshQaYPX8LDT5vhI3gPciS1Z1sRE2dTcC4Mk2K4LDUIjp3WkeTfFAHZPV3E -Y+3OH/ftH4N6SEIBTKE4EY6ah0nJtU98M0JhxOh5zHje6zQp1SkBnhEOQYexYRqj -OtGloZ9RyF0iFAXcyu2Ap14u37l5Yla0cyPzvZqP4mFYlcXwaRfAacJmqMM1vuQv -Fx1JITUTBugMF3VGZ1F0tw63EIUH/FW/WWncPqvG18na40qlv9ZkBw0FhZeKS8cK -JIY5y4J30jn/eV8p1lTO7K+ASTuGZWmdRDgjUG0Y9OGuKsPPoaE6ml0HTnMBsBSQ -fXUq9XkwGt8DTgPioAKHBHjLbILEy4FMYWrlTZlPTzNqyhayec/2T15oDladNSt7 -JpDLpX70UECXFhdEGxsGxtXdKbIBvNm2yT4X2nxW9ItsECjSSgD+94TgGoa8QKDw -rpmgq+Wqpm54CZ1vN1oqyMUw1sjNEX/iLByHAjSALby2Kffk5cl5mnsR6d/k4jsi -c3Qsciwkd+rQt/8VMhS2ns3nkez/BK3FvQA2Ms8xJhFLfszVrBhnjcFRTNT2+/KM -lr1oT5Q1XZKL7qVXTpabPL51JlVBL5CSHl1QRkffsqfqcgJkcHBq+kKjUiFs4lad -hTrvNBCXYa5+NkA2QqIfdOpNwl62/gdE7/7zU1uh40vkVKyzL+APkLPywPEXBOpQ -yIDNkgoXmS10+JMD44K7uZyUmxZL7W7Xbi30NuEFrVOzoUmVXhapPbpQnkQHxn8n -tqKPYXdBcvXcCKyJ6i79H2Vk9fM6rBYiwNcE7QyWqfd2QMjzr76veF04sXkPR+tG -5Y1lrF9Zp3vabFXQg2RJuGA3rV6MR2GFNXuChIYu410vhIhPNtmdKEVoIVZsFsug -+dtn0PDCFrR8VEd/sshp0naNa9Ad1lY+marJkOJOVpPgCs2yJDPAUB/YdvSJ4avW -6ZdvNTwhBL8fEJMS2DSqkaa6A3+i/SqITpU8ToJxsMGagBsLieXgvJALFysSRfR/ -2dmEu9/J0PPc28inHXwjiLb99VKlkuEz8wX9UkuoqFl0pLa8jrlM8hzdPQ9QHb3k -9c5knfgPCYkOIWwGXH+NwANHdQRK7CmGAFV24k9+P3q0g5ikabVHr+4ZQ3WPd+1H -K0+Msbb/vv53vFJWa+pYeNeFcwNCyW2kJBTMiI6qmlL4IWCcX+QDzpRLalbAWWHj -l5Zk39QEaCL024DYK948IDXCqDg6utEs7YnMdaIF0meYMKjehZFp0fVQ8e8Od+rp -bbjdj/w60wMgBpSOeYxVrs3QKNZd/if4Az3LggoVHB09SjXKiWpvAgMBAAEwDQYJ -KoZIhvcNAQEEBQADggQBABncOBW0wQwJdEB6W3d9CrhFp40q1OM54GPfX0/0aUfP -aOQPxS1uCKcFhxAmR4OT9RiJx+0bhDctekkuMkj5yy3u0a/4PxHIhnVxXTyB0/Hj -N1gLz6cQricunl6Q4Ldi54gR5/KUehKLBWnqsfxhgzWBHosvhlJC0xh/uio7JTqz -ns60djyL7R4wGbSqiGdhT9L2HfpJo3dmmWLDxe02jaHkbL1Z6NQMxrRgs3+gctp/ -Wd5UxNl4BHbNsSbzaK9V9gXUcj4TjZGGSqVki0+pEZ3dmksGZdoW9cSKtzKvgUQ6 -vhhqO4dcopxkY2zYeVOpspgTm0XLZSbNPXv5rSFwa4cpWSfD7u8o8KhHvkkSMahw -cMuH17W4voHHFDtWP8Oq9rA7uE/4/LKCl0JmJl2RWM+G6PMH8w4X4auHPssgRvb/ -Ge1AvgqQJrvi7zWx3XYKKJ0ISBy7fi5Jo/wYgLagRYcG3mwdm1+gAdw+77C/ZGmG -FbWFIPB1+Mc6azhhk9m/vqP7o/Wuncc99mp2zPMzdAEzuzp/IJ9UJNat0edA7jiC -bQ7JSRJ1DSzdJZSWWHdardLNKipPfrEHVm7f5QvL5DQLnGpt+rCWL361KsGtvETC -o+Ph7+kDJsJLokUYfs/BEZopzspNPy/NQ2ECwQp7T4Yq/PBE6Ce/dFaoZysMUOrG -TcALtJW6It98dRmTJPiqjlrlHNTrfoV3Aiy+tK4rpyGuApSHc+1Y+t7YvWotRlQ4 -GEboBqR8evjDPJ1xAaUZqwLkebf3mlpl4MzHM9uNWBkQdJilkQs/IrAaApG3Ayt0 -nIymNHmDslBEdrRGmT4aNWAWYvVYzyKDy3H0fzYdWwuA9goJUL4tj3eMJa8pgEU/ -rG3HfflVi+xuwm1UnLXPSIE8hixgV8ebnwcCnEjlUBvwpl7f5Ub40jKcdycdGvVu -gcTUzuRl1+Ikfk/MXKPbdi4A5Pjtz6AG4Ez9q5j7X77JqskTI5Z/f1RPiKwFBJHg -cN4+BPnEuSWGcjiNDOfQxhk5exlWRf/gpEhnQpGHe3a7tZgfxHUb/pWU9BYpf8OH -vtV3WSDXlUqsEEH6/bmvj8lmFWJLmeZv+qLy1wHxcXR9/GJ6TwCF8niQIl3MrBAL -sKPLft1drmpqdIQpZQIJxtN/AQuD9mxEdW7XA6rkvFySKcswJpS1QjkSWpafCBWE -wu+SPxZL8oFrnNMTU3JloUjcRp70FkNXLLm/Dy+MjW2qFBtIoBgNptVGp94L1uZS -amd2XJMcOQ+X9fcH3wAdM3IHGn3NiLf6eTW92JNNA0IN6aNtyVaJKmFJ1JfXOl9r -ujr4SorRSesaerjIcuzW1u1YE5RlgeI4kizV2/D5kYc= +MIIGJTCCBY6gAwIBAgIBBDANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJTRTEQ +MA4GA1UECBMHVXBwc2FsYTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UEChMITXlT +UUwgQUIwHhcNMDkwMTI4MTExMjI3WhcNMTAwMTI4MTExMjI3WjBDMQswCQYDVQQG +EwJTRTEQMA4GA1UECBMHVXBwc2FsYTERMA8GA1UEChMITXlTUUwgQUIxDzANBgNV +BAMTBnNlcnZlcjCCBCIwDQYJKoZIhvcNAQEBBQADggQPADCCBAoCggQBAMCPIgMk +WWdGFNaPYAlYBgdF8XhxVfHquTCKzcM8ub9lbhjtoLjJGVZvxJAZyGUJ2/+/gqEI +rQFPWqPUPXh+S0oBpH3oewU+fdi5VVhg1hzO6DJiLBlg8+0FmW3JdwcuEW0Lmsdo +OEbo+jGA3+h58PH9qZTD+g31eKxJftUX/eHuRPPHDjAyXakZJeS7IR3+PIRIQPVY +9L8TjIVou+z13cY40bB3H6aOT43ib0l09T+QZY6ZHlmcHLUmJMSx3h77lmXEMRQa +U7heYorHBPe0NqSvB8gnBu3d5vSMYvFlQNCfn6kUyI6LdNZnWtDJTTWh1Xs5OkKf +5ND0xg8uQjBLVrI9bY4tWMVpmTVJlZWZtocpKzLRUAjNJRRIbRCZhWE8QSYhVcwf +z62wL7mJ2E6gGP91HbaXfMX6i9yTF4YKZNQJNdWDNG1cbcaMzbnswpPGwbfMBG8i +4Ae/4NmbL9WgUMz58JWDj/Qwg3KU17VL2syfVDuNeHcLJGwPwpZhli+4X7V6q3pb +l3qprUCL8tbGjYHZlGGPnQPFuRADaIO/BIHMrL00iejUjUMg4rakET0VKoIM1jpq +jGLUk7zDgL8btCsKejTwzR6CPyUP0QSoCgUZsNYWgzmvC0V9yxR+TaqqwjmoRjir +vasqvTRDf9ol3iv7aTv+O4f9mJR2Sr8EozHjOv9vBPr6JOQqiekOv0RMcoWCPIlK +A2MBQZJT0IJgbtj/jKK0Gjsgba50kjBOSONRpstzlwYTAzIjm32ixzqpr5eMUe3+ ++rS0GqOH/M+MjuaAFQP9/n29sXbxX7MJK0xNp3y1crHW2zjAZ6RUvIcJpTm6Gn4/ +dGCtPUu+lFPzZBbHMzXsQQCVtt6ZYqJ6KJpFTfrNpnf23lhyUMh9aTjbBwSE2E05 +91ATQ64tr0WkKjlWPLi32CakNskjqqq4SQshup56K39NKZ8OAB60Xqb6Sf6N5XRX +2LrZkizSrIQd8qakRBy/iEEyftHDL268D10Zpo90K2e63anbaLXOnSVI31QI0B1P +LlskvAUP+1hG+gLKU5MpzxAnwqAY0PXUuTxe345s9Xy5tFTMORZdPNqWs8Ns1HBd +0zCnpr1v3UG8qN5CYFmahSUNKkXDBbRuekpNyowK5Ww0vCCbbUrKyramOqDbww4g +GhIbd93LHX/DDQ3nwf2W0sdogJmg2YozIaOLolqnficGAn/tYBE3NFQXf02QFB5p +Nw268Cvwoy1iech2qOrI5zsfxk/CDNes8HdTXfBQtN+bA8pNQeEYsiUwhh1j5Wex +U81rToMauV4tBRVr1I6xl/wxA1fLvyd/zV8nfmbnPBcJthEqTzPN6xrTb9UVi4vO +aGt+mpXldH8XV9kCAwEAAaOBozCBoDAJBgNVHRMEAjAAMB0GA1UdDgQWBBRYEiRZ +pzwpFYlawhLb56VCECG3ujB0BgNVHSMEbTBrgBTy4upVZaSa4qydl/VFbPb3jBGt +36FIpEYwRDELMAkGA1UEBhMCU0UxEDAOBgNVBAgTB1VwcHNhbGExEDAOBgNVBAcT +B1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCggkAlel49TRQ5NUwDQYJKoZIhvcN +AQEFBQADgYEAzctcgzXqy8vDqMOV4uZvTdjk7kHdPzWCrC/9Y4lPOhnXgXWzo/w2 +shLVxla8E2A3M26g2K58iPlL7nsfyPBWGQdNu0VSHHiBB3wThriGcIXkcSVYeNG+ +3iKCbRpLBqzw6FCHx2lkwmFDzZYGpn4JqQIBKqJA880QgEjQNFVAuc4= -----END CERTIFICATE----- diff --git a/mysql-test/std_data/server8k-key.pem b/mysql-test/std_data/server8k-key.pem index 608593a5096..493ad2350c8 100644 --- a/mysql-test/std_data/server8k-key.pem +++ b/mysql-test/std_data/server8k-key.pem @@ -1,99 +1,99 @@ -----BEGIN RSA PRIVATE KEY----- -MIISKQIBAAKCBAEA1BZYf95sKL+WGiAhVznSV4B1f7g5E41wevaMZYqbIUGmD1/C -w0+b4SN4D3IktWdbERNnU3AuDJNiuCw1CI6d1pHk3xQB2T1dxGPtzh/37R+DekhC -AUyhOBGOmodJybVPfDNCYcToecx43us0KdUpAZ4RDkGHsWEaozrRpaGfUchdIhQF -3MrtgKdeLt+5eWJWtHMj872aj+JhWJXF8GkXwGnCZqjDNb7kLxcdSSE1EwboDBd1 -RmdRdLcOtxCFB/xVv1lp3D6rxtfJ2uNKpb/WZAcNBYWXikvHCiSGOcuCd9I5/3lf -KdZUzuyvgEk7hmVpnUQ4I1BtGPThrirDz6GhOppdB05zAbAUkH11KvV5MBrfA04D -4qAChwR4y2yCxMuBTGFq5U2ZT08zasoWsnnP9k9eaA5WnTUreyaQy6V+9FBAlxYX -RBsbBsbV3SmyAbzZtsk+F9p8VvSLbBAo0koA/veE4BqGvECg8K6ZoKvlqqZueAmd -bzdaKsjFMNbIzRF/4iwchwI0gC28tin35OXJeZp7Eenf5OI7InN0LHIsJHfq0Lf/ -FTIUtp7N55Hs/wStxb0ANjLPMSYRS37M1awYZ43BUUzU9vvyjJa9aE+UNV2Si+6l -V06Wmzy+dSZVQS+Qkh5dUEZH37Kn6nICZHBwavpCo1IhbOJWnYU67zQQl2GufjZA -NkKiH3TqTcJetv4HRO/+81NboeNL5FSssy/gD5Cz8sDxFwTqUMiAzZIKF5ktdPiT -A+OCu7mclJsWS+1u124t9DbhBa1Ts6FJlV4WqT26UJ5EB8Z/J7aij2F3QXL13Ais -ieou/R9lZPXzOqwWIsDXBO0Mlqn3dkDI86++r3hdOLF5D0frRuWNZaxfWad72mxV -0INkSbhgN61ejEdhhTV7goSGLuNdL4SITzbZnShFaCFWbBbLoPnbZ9Dwwha0fFRH -f7LIadJ2jWvQHdZWPpmqyZDiTlaT4ArNsiQzwFAf2Hb0ieGr1umXbzU8IQS/HxCT -Etg0qpGmugN/ov0qiE6VPE6CcbDBmoAbC4nl4LyQCxcrEkX0f9nZhLvfydDz3NvI -px18I4i2/fVSpZLhM/MF/VJLqKhZdKS2vI65TPIc3T0PUB295PXOZJ34DwmJDiFs -Blx/jcADR3UESuwphgBVduJPfj96tIOYpGm1R6/uGUN1j3ftRytPjLG2/77+d7xS -VmvqWHjXhXMDQsltpCQUzIiOqppS+CFgnF/kA86US2pWwFlh45eWZN/UBGgi9NuA -2CvePCA1wqg4OrrRLO2JzHWiBdJnmDCo3oWRadH1UPHvDnfq6W243Y/8OtMDIAaU -jnmMVa7N0CjWXf4n+AM9y4IKFRwdPUo1yolqbwIDAQABAoIEAQDI3u0tFoWMRoCs -99d8HLiaxYED2YC9gw2QeKjal198LQhRsVnu0ByMLKLOxkX8RgrbbmxDe5Exufob -A0urciAOFJoXqoRhs5x2oEqgGmkf/ePx0jQptOFREFfnBdGeKIpC0O3DWdLxYPbt -8wixwkEXVhVDUk9pcdXf2ZqsbBpQRBvpZdtzlgNCAcLTVHP/gmMqf48CkIauVjPq -ydfybibfx4sm3hodclH+Q78p/zicb8MhiKo7ZymgCKz4N743pQe1tsLrpbPeHY0C -MpoFyF8O2Bq+KxwvELxQX+19GcHVKJhj3hmCr4wde9BxCWtGTBCusekVkVvy8iQ5 -aCmTIrtonMEVZXjJlXK0sw5hBKOmKx0jrSVC5FfgdxzNVlW4fCJXLEEpMsjMc+/3 -6bV7jqGn4N5CYaopNS2ccxdaucE3NjcmofahO6bqUTJHSPFecfYmCA42W2m+ldjj -HZ78JLkyw03nT1hjPjbwHf5FTem1KfKg4EJrDprowMT7D8KZb0SW+z59pFoDOM5u -Heu6sOSUtvpvKfozdw2ZAI58dhpW4/jTfCEtewRhPqE3/V7g3haTnQFxU8gm/a4N -uefZTCjFE16QWNuvnUrJWw/DlvOBY8GjpQCWY0mDeBHPNOI0Xg9oRTgOCrKSLUya -YSbg6BmhSKwKsYQU834jrQb3fXFlXZVIxlcNePOWMhHFFNAHucHF822Nr7u/3FOT -twcbBIOXCGfDT6ed8d4dNum1L7k9Blju16CWkfuciL8PGXY4mGAmF4nZMXGZgK8B -Cz9cxhtvFLe8gz5615DtBAsuVm7Q4AAHiULAMg6t6auyxCb8pXbAL0Ec5X4zS3+f -I2riODYiyHCh/qTtjawOzUZZEtjZRMSDi+jk8wjjDdkFU8McOaYoPyqT3TDy2v6m -NiPJs8GWQ2NCNo9CNoGbEIIFFP5iSz18XLFAOF+2dN/KHHl9nKyi7kOhYbbzoNku -2wQV40yVsrS4E/hd/7+2IB2Muduxiu7NxCUSUXsw6p0hZTYMpIoduEfRSk1al0lS -862GD8JgJ4RhJ0uIOTDJS52MQmO8zFIL86emdjjV1CzVvadYSQLTX7ZgR0i8g46A -y0muCFAC8EJpnEtHzqtQ/z22zB8TCJShFuUK9KF6K8nOlbc6ShcUXU2J6r1sc8aT -Dx0yzRXfCL15fpCJBP49EYaKhArTNmFRa2GaLiJP0OYkTrrwVOGuS6x2+kRVoP/8 -BcNMZ5x8mXP1LgotHCztgMKX30Hn5CLxbH8QfcWKemGva1jBmhCWxS17Gh3Ld9T3 -/WKkBa6JDq83rlO84x/iF3mB3tYkZPfcYtYURn5wwm/BmVV/9G1VwAatJdxmfCSy -5JwC9WDBAoICAQD7xStPk3lq+qYHAtLZidujmzSNv7XG+E8UC9yvMRFuBwSM5ZE4 -YGD2LDev2nghB+7OSR8KJIkxeaNjP91Zf3s8wjCuxLg/cLGI6mf6uWy9+zypFg3i -J+ylDKa6NBuqYyY75W7Pj63xvGQlw5kX5+mB3ulQbActT4cUiVdEkyDytzubqLzY -s15QGFrL9gqLow+C+7LKQKdeXq8OavFV1PWkMDAJUki6cIir9m+f5Mqr2cQCLKgx -38aX8c9UWJv6pI5zQQuBjpaBOwz07WnyTXiFpc71x/8i85uLGDM0e3VO5ZPGeRBj -jZ0ucHatOHJ3i/nPRG16rsPR+q97QiDHoLF0quHEG+ND+rwTBzNGIwzYRE16p1o3 -UdzFk1RzlDCfOX7QgszCwK6mf8TbCK9f/FxJ5e6TCkt3iHXSrlLS4op6k9nEpKFH -KHf4nPtCy9GriP+A8+dA6K1s+DgejoIojBMBTsnl4TEf+m8BaenTXGuU7KYyc8dR -JqmpmDggDRT/ImHRhXirY7lIIYXnI7tRjN5gmnKpEiHScT1r848zpQ4gWH1Dx/ks -mKT6NZ8nF45saQCYbKEYc0RH9Kw0O7vr1kVtNPc2dEZtVgt4bC5fnl7xX1/YTk3m -+h1qfzbku/+MX5rRjHLR2l8a71UltlnnnpP5NKBBgtxll6aCIkk6CdH8YQKCAgEA -16aBaVa0cOZmiOQwPQkpuXIbV7msz1ttWEAHElCy6waniOCON89PYFCb7F0NjV3Q -i+pGaRgG1iZGbjjHwyqTrHhMloFm+IsSWZqOZzrHgSJgA4bgTJFgp+5b31sQXGfJ -14QQSqMJLC61/M+CnrNtiuI3IVHx6BFRxI42uE7PfTyUMaFhL9F0/SLl0Mw0oMPj -S5kmarduuKpRn1tN9WO+ywEvYwopvH3e9PBssZzPpttlLiE/Wulb0iEtlVXYB9DS -Vzc94N2dzFMIvWUDF9BQ+IBMRzXRm15Psy6LfzoK+9S6w38Dx3BVV8ykSMKeW1UR -ZwTajjdnIBLdE3onD5XMmrSOPw/WtV5zXEYY4DObhIPoN2iD8GJP0IubPb6fonH5 -VHmuVZoXrroFEe7rdt2wgmBdPPl6fqvBKVhjJOpYQctrFLgWh63bXZKaBWqbQM9W -fECq8We1VN3fzqwfwJQit3z5R/DjQNk8eQx7SnnkOzAY6ZgpysHCwaoPOnPVuiYF -ZU0+X3iwfsdeefWmGEDIzoZk6nYaljs61lOhhEoWHngZHDkMOp5kg0n9f8BUP02+ -WJ4QhwzZ73hr4FPBuPHHXECw9TCAgCBHBFrnrXg5QalDhRXz4F+3tCY7UUpD/ikZ -L6Daxm5zGJ5u3rXs6WwKy2EHVVS9zfqs4Q259pQdWM8CggIAcIKpGzOVM+h033c0 -kIBZxeAq+Rlt+0+lzxiJ80RjPJ8oOmqwndf8HKaf8BcaTfCEmGz20QqIwLJSAJ1e -posgoINLTB6fE8Kho8TU2KeaX7/xWMKBS8p5pzxjGZ0Fq/wI7wVVoq3blsaQnout -U5CQujfKXeUYw/fhLp09gWiadbzKh4I9ej2V7QclNDZsegBRg0BForqH0NVRN4k0 -9h1n9IqQPOonlCGMAgTr1zFgHLIBNNOOClOtJOOruk6qzbRR8FFl+eyld3TTEnUy -PlS+gkMZnJ5WduEUZnFXGKH/R1Wy1yPs3gA/+KvLbRdnl+LWrPgwUH3fBmwXlWZ0 -zaETDEb9Ay1PP2bCO2KhWDt7lv3W/fPhjg0oMqbnO4tCuzTvZfC93l5K7h708skL -zkIxX9i/57fXB8DUnmTGoHUaWzLNQ2IqrGj6TACjDDOXLCfZvl/AvTH9pk+6jHU0 -1zfZmmECOpeK43Z/ussA8jI/5Vpn3u38aVh0w1RB6JjQBD/yJLaXuUekWgaZFzTR -ldz014jNqp5uvONcBmzeVr7w9CV3PR4VTQed2i6yQ770J6A44uTQjOOd5OYDOohj -Lz4e4nGj9BK8Eko8cAEwLAzS8tyjMT+08n5dPOVCu68DwVBMGE7CVONYUuoXS/YU -cTxddiU9ZGk9Yq0FfOwjeys+SqECggIAdn3M2b6Egwx2Bn2ra74fKQBjub4SEBWi -bT0xJYUl6jHL2E/alRvZ94gTRLqUebq0nkxpx9El4IFDbcjRKpG4dqnbG0+a7rIr -sQRVfq8zc+cZbparpCa1P1CfNojo4n080KiF8xzGK3q3EGRM1zqr1AYcWLiX/PWX -QjMKKhdTtvKUUvjjV8z1RSnpsOKjgDpiJ+XM0BJeSiV7l94pZc4axZyvFvI8oI9g -9KEueCE7j+k5HTGziBZ1F26Xh1iVzSWWjcmSvH3I+L4fLUHVgz45X3HPd8lAlOgr -Tr8icxPHeTwYKtcdknZMzmNpWXlmXbTOTRbDqCUVCvCSfOM/lzauJ8tR5aCkTx/I -r0js3jQ9HYEFFXzeEjVSubob4L9fI3kQkLQTcIGsxZr8si/fPX7uP5UHZjuGbRee -mUMxptUFDZHiEo5cAs0qna2x54v+JoxGbxtxUhez8R/Am+TDxaMfuEZ5Cmh31egH -bFPJYtC68TKqXZ/4RqpUgukYWPvQ0emWSWU6AmdkQyT06nppeyYNsDz0MkgWr7l3 -yNBHDVNP+Anxcip+Z68kd2cuXQWmxOnIzxR67FnJXeWDEM20whRHgI8jLHYsBTq3 -CtOQPSaz/zosGXJIgF7Xp6riKPZvibW3Ww49Z47EuyBCtyirNk7hV4LG7sITUJyO -ZVKPfcdAoM0CggIBANz3EBZGyt3af2UjFFKbazV01KcHF8OxqdQzsLqHCXWb98V6 -PggQnrF76U7DvqOWho9djDBPrbQU55HG5nXq+eZKPwhsOdwQ8bxOhaVxQcATZOI7 -FtJYnjM1/+zMzzS0iPR5DA2pbB3AKH2Z+wODmF23CK2XTwoJyPKxvlyGKrIqq3gN -kOmocNu2Qm5bJf+D/hYPm5Ust2wzD52NnvJU536bZ0ZMo1/kaK2idqSAzqo4TkR1 -j9U0fdW2rIBDo/qFmBBdJhYVjYLj4qR8CEEoIjshD4Nztf1xRM5C8irE/gJcT5+r -4bPJJ5TjAtHxPiQqZruSprSEUbMsPqBap64ow0SmbNNWSgyaz2ha1rG0p52NBzH4 -XM52LBqS9QHPHvB0ooYfBTfPpDM3CePuuNyzjPAw86ncUo38FKXuc2oViJJ6C5I7 -v2sKhLK5gu3uPBB2ludDEXSpWBqiraynolOT/o52r+taYp9YY2WU3GrhOiV/A1FV -Nl118xiF6FOFpEeTbhHvy27A8kZEKXgeSs+f4aC0XG9kLVD1CiCbQiqHTDcDS4nV -O1N1eQxhP81X+YKE4Lgufh07REqYVwtCj2lQcMp73WDyfBLKTEFlmHusoqmT5JCH -X0BWNjk5Dn1g5h63/lQb+EjNRILBhDFYhrDRDQtw5p0/7IY3AcNKDUHv+XGn +MIISKAIBAAKCBAEAwI8iAyRZZ0YU1o9gCVgGB0XxeHFV8eq5MIrNwzy5v2VuGO2g +uMkZVm/EkBnIZQnb/7+CoQitAU9ao9Q9eH5LSgGkfeh7BT592LlVWGDWHM7oMmIs +GWDz7QWZbcl3By4RbQuax2g4Ruj6MYDf6Hnw8f2plMP6DfV4rEl+1Rf94e5E88cO +MDJdqRkl5LshHf48hEhA9Vj0vxOMhWi77PXdxjjRsHcfpo5PjeJvSXT1P5Bljpke +WZwctSYkxLHeHvuWZcQxFBpTuF5iiscE97Q2pK8HyCcG7d3m9Ixi8WVA0J+fqRTI +jot01mda0MlNNaHVezk6Qp/k0PTGDy5CMEtWsj1tji1YxWmZNUmVlZm2hykrMtFQ +CM0lFEhtEJmFYTxBJiFVzB/PrbAvuYnYTqAY/3Udtpd8xfqL3JMXhgpk1Ak11YM0 +bVxtxozNuezCk8bBt8wEbyLgB7/g2Zsv1aBQzPnwlYOP9DCDcpTXtUvazJ9UO414 +dwskbA/ClmGWL7hftXqreluXeqmtQIvy1saNgdmUYY+dA8W5EANog78EgcysvTSJ +6NSNQyDitqQRPRUqggzWOmqMYtSTvMOAvxu0Kwp6NPDNHoI/JQ/RBKgKBRmw1haD +Oa8LRX3LFH5NqqrCOahGOKu9qyq9NEN/2iXeK/tpO/47h/2YlHZKvwSjMeM6/28E ++vok5CqJ6Q6/RExyhYI8iUoDYwFBklPQgmBu2P+MorQaOyBtrnSSME5I41Gmy3OX +BhMDMiObfaLHOqmvl4xR7f76tLQao4f8z4yO5oAVA/3+fb2xdvFfswkrTE2nfLVy +sdbbOMBnpFS8hwmlOboafj90YK09S76UU/NkFsczNexBAJW23plionoomkVN+s2m +d/beWHJQyH1pONsHBITYTTn3UBNDri2vRaQqOVY8uLfYJqQ2ySOqqrhJCyG6nnor +f00pnw4AHrRepvpJ/o3ldFfYutmSLNKshB3ypqREHL+IQTJ+0cMvbrwPXRmmj3Qr +Z7rdqdtotc6dJUjfVAjQHU8uWyS8BQ/7WEb6AspTkynPECfCoBjQ9dS5PF7fjmz1 +fLm0VMw5Fl082pazw2zUcF3TMKemvW/dQbyo3kJgWZqFJQ0qRcMFtG56Sk3KjArl +bDS8IJttSsrKtqY6oNvDDiAaEht33csdf8MNDefB/ZbSx2iAmaDZijMho4uiWqd+ +JwYCf+1gETc0VBd/TZAUHmk3DbrwK/CjLWJ5yHao6sjnOx/GT8IM16zwd1Nd8FC0 +35sDyk1B4RiyJTCGHWPlZ7FTzWtOgxq5Xi0FFWvUjrGX/DEDV8u/J3/NXyd+Zuc8 +Fwm2ESpPM83rGtNv1RWLi85oa36aleV0fxdX2QIDAQABAoIEAGv5ltvmLQ/A93xc +x0BWEINRkBa2jrfpo9B5dOnuikWtza/Cx+X2NfQHFlSrcHhfr/JX5BsCb2iVo8DM +CXAgeX1VMHS9wQXuxciaHCZDnqxmxUNDU3EjsYQOKLusRcdL6M+Zuz/ny+7PQ0Qw +/N0yS46Wa9oUjon3RKRvTeSV4HIpFpcP3n/eLjDc/ielWuujnTGcBnjNWegvQROp +5/7221YElGh8U84kbK2l9DtfjwoGoTv11lPvOxXE/scg6em7r9j+y3p3TMzMeDtT +YBC6CA4Oa7GrWLJXROOKOQ0ddtvFNlUsZ02vG2QCbqU2y8mwJrJDI80qNbeKGel3 +SfwkssedtGoOOYHxNczwpyVNHVHrHuMPBe75gbo+5pFxVJ5ymCGWfbLJf73oVsqW +ZimoknvkozW4+mlVlcmo3X73IxTW2U4RlXthYdj9KXsBLRaKVCQJDc934eHWkXHU +GF2U2NonqOVd8YG/FmZQ2ig6EcW97hC6wnsWT2Uc7UNAE2RM4bY0xCUHaQiKTrEs +CI6wpbbTV+XhDu2HmL9G+fsuSIu0RoSOCmr5jQDAVwCNPXFgBgcIxbPZ/UCJ7RHj +GrWPBldAN8ip4osiA+B3XwBabcvwXP2fgBP/eLWN1St3q3tw5xpHpqCuhNuPSqsc +0ntz0oIdJyRR6fXWmRFex4kXQ597z5ozm0uyg8arV3HJFxDC3DI6kKfs86/oqMSW +l+9g+d4x6VrUOCTDk0bjN3T8HQ9ASfy9JVacqk6yuXX7a0WeeT+x9JsvFAjg2KmG +CJUtm5w5siItMDSPpcRE4hlfgh+M7ZKS3PFgH3vvwfPMbC/IC93QoSaFzRJMyobX +ei6PNwqJvL+HADlMfLmehE2w9ycp4Fe1Gw/NW0Ed1S6Ajo45hgXQJSIrzla6eglg +JPsPpQ8b+weZNQ8zvc0KvfRJmZKKEb9dHvFdi68I1kV8aapQsjrMOjwHC2pnCFh/ +axkVc7a59fKUs7L6nAJhCs2sSixTorZz5PvJ6mXhWu72TCzu+kThNnEORrlWPHQl +RFEAFpDDaGSzOMlhb92CWUMPyZU2qtzMzv4QGbP5YqTy121hXuT5OBKCF3eNLihV +aje16k0RMFqqW3Olbm7Mp2P1C6DuwzsUJBnNwB5JzhC79Po88zNAl2d1h+qysKU1 +jxF316nhpWJ2dGJ/sbJ+XpUMd/tVrNFQMA254GFfXycsfBoQOSY5d6GfRwKUDOou +xImbIzGUAaIYdsGKDuKtqs5S21JMJjJ/J5CwjLu9tbpP/jsp22KHCpraHAQCupSp ++SFwWI7tRUXzREuxJixfUOnJFQYOATnMFvvtk1d6v4xoPYCVEhHq8gHqJkTyTi3Y +BPVwT1UCggIBAOEy5gThTrEqSVFUcFJm9bJxtWZt/YhOIJWNNxeaxExHzy5hPpsw +fZXtN4MUCeMSWI4isgIujmltwgOHMjQqsJPISn/1gVrqLmrZ2PnFzko/WA8rMUfd +EUnOOpj2bKpChlRGHi76ZV4XGgoTXyO6mrVUcUgf3reSImdcdQ5IHa7J+lWhCQGb +neZIyDOk41LX1TxjcYkY7vuUgmbBYComXPm2UaY3HN4E/3ElXntj6PrlozL33A56 +z4UPfv2Vv9kl0ydkTJe/WcUN2htqLFCYygF2XLlwbv2SYDCT31PkJUORbScUM46A +DOhlxvLBFcpF+l0RtCtvnrKyFy9yZJKrcLh9x6xVChZ/aQqSptSHjll5IEcVm54Y +Z1TjWizCI4txnaBFV0UCLt1CZrllXnyIksZLS4/dVqUIKmkxPBQUpiD5dmgDcmPB +/LdWzS6k4MH3J3Y3tu3MNPHDwgUtnifSZrsWSYPK0F8J0dMU/mLaS9eOplAH7Eo1 +t7OrrImvitM6tUdErRYilIaoS/6YPmsPST5gY1N4n8Lf4sAE/tY8fwaWRpTVSrIw +CoFwLtHESUOhqfuAOdr1EkDfo/RQTUVdnmWZ+D0j3du8MmsMje4x3f2CjBDXqArl +gNnBQELDmrdif8KELNjlEpTIz0T7wEfquhVQ2dzhFpL7RLAgggD+oEBLAoICAQDa +5WOWrAtaI1cC5C7LFxM2qXTHGRttfAtVxuigJapLqNASJuu59GGRxsCVwhthbNFh +aCMSj+fZK7QNFkaoPwuZCEtzy0ErkVZzxYp3cP6b99mzGoCcuqiHiW5qhEkbxwdC +f3YEsSGqE6j8TPW8feiziqo8q+QPSudI9ngkH1gjgbIrTu9iaxKJcF2CwBxe5tfB +uFBNPIgJAaLPejRKQu17MAV2jDnBDIsZUZnm53IxQ+giIYUBay3cfC1KMJu/AnZ/ +CxETjgqqnzqdFW0b0o49Q6YQa6QXAiSjs+lL/BhjbdA5quVdFmA3CoASFQbihYfM +4vilUg7Y4wXfzS7DyBZdfppIn+HI8PPSMv/lfdsQXecl5TU1fBDPRWYPpTZqm1II +HDCkmGRKet/j4/oobabNRrJ6PJcxNjqeMVv/a72pypDRPIXzNxLb1BkfWDGfgu2R +YAdRNBSJSpdoHDZ+1VO2A+/8gz9Zuiv1WxoX7+u3pCAd+0vCfHiaXiFVc7fI8F+m +rtDmN5p3DD9l1+/v7yd+7eUezwxYecElw5E5MyAJRTYGrim8g7XvF/u9rXvH09VP +TeIE8oJ7XzrxCmtGIxlJs6FmgUbUblOyfPZDUqPnzlo8Ru1H2iKRo2FPiMfij8mh +H3wgFTnZpGDQjw/xop51bxVueXrmOeguS0wmk/8Z6wKCAgEA0y+bPApadJRWS1nn +N69sTBqMZfFR6Eh0ECts9criuTJCXZk+T+SqcTYTb+4T04k52Jk63Aby8HXIkuxv +LTK3gu86xkLiOvMP8o43Bwz0BvbeSuNThLQQ6Wjn1NiLUSOvu0pCNgYFl7YMalR+ +TRBK0y/MSDny762wa8Pt1iXVCDxLcY/h1UstSW8JqDzCHcdgJhCPwWTLgMxleZ1w +5DYzzM2oRjq67I49Sssjjo1ESD2fzUVZbY7IG11L1t1fG3F4UiGiHlCJC92Qo1Lv +Geoezj5EeHay70Mcx5F0xsRWGcZAWXx9WO5GrI39g1uFZro3Lp5SmsVDSwrt6UXa +gR0bSThTTw40tqJnTE34+6ff25JWrbLay+jQxm+q+fxZvwQeMNW2IHYKot4JXWVt +tVWSZzjnNJP6FCvTMfDFCYPPw26OFr7cwCaEKx7QriRazitMK3XWK6zsHalZwudj +wK50PpCJAnno7KdVySCP6v4ST6Rr3POBKJq1ml2tITWo96u/ooUJ2I83QAyFr8zw +BBBCvKdBnl6pW+P/TdmhbiEvcmrs59gaA34/6+DbV0Y++piZwswd9XML2iCgLZY8 +0IcZ6uf4PsXq4Yzcrz0HwM+tAXcyiPzkjstpCUxMShALgFxzuWOgdwpjYXnrviJk +0EyUkzbOCHBhbhcK9CyYHfyrJX8CggIAdWwgJC9eV5glkPN+9osGT4hPkI4zXGPy +YK03FNGfrL59/37JbRNfU6fen3dk4LpTB4Gpbserg6AiEfMlLBPF0O3WK+OYrhpk +2e3Z/YCr1Fb8fUt2Op0W0r4ycQlNfo0ho9ZkJNgwSuAJAm72U4rnTYjREYLT8DAq +KcWtZRM7YLCuNvU9DPqLExcn0n/juDT1AIIy8XvLLamnAM15R2znn/F+vL00Lg7g +f1B60pbNdwgKemSoyL4J+ADU+rtgkPJtRnFVU7walLSd6K4ZvZcRnmOvrZdQitcn +eHmGaLBvFMdPr9+w8mKScnQ7h3eoHdOrqYkIAQcn18jQ2eFjeLrY5IaJlPPPVs+K +u/OHuj/tR7ZXzMhL5skK62U6/qGNs1pmgts8bM8i3aFUgRdGlnFbzTpje5cNM+T3 +RO0NgNL3ByIW1Wc2I+YjQ7FfWKUi2YKOljGBO1pIue09kyevRBKDuVwbXMW7MhLg +idm5AaY+OGDeqbaoSUgkGgrsrr5IlI39gZi9jwG85qe3Spavq3ILKdfL1N8UrFGD +/xIN0TVPtilede7vjKTK79tZu8JYaDWGc+g/mo/M1wmawLrqGNGzOwoVRruKl2In +m9PU9wBZ1HuphDQ4DRdC/AU8qkGhmDOx4bDWEQ/R3KKFHNvhnamyfyR7xqt79gyS +NGNIElnJuskCggIARFaK6yAVmaL74Qu3iiELj8FU9Cw8kPP5HeWUfGxCjlegdH3R +FBtoQlDcQjYzO2uZR94Itg3yk3Dt+xbf7KxUsODwlgLj1UhV4eOXUDTosBFTrbTG +v9gnRVH0Eyu9tF+CMUcCXhq6tnIrQOVv1ozcdXfIpk9gvIbfh4rlo6X0iM8Xge2t +Vo7awq05t4wJBkO1xUtOaw9HabaszK/CU1iNV7cIBmaFF3AEP/KVfOs+kjubc9AF +mqC+LVVClvJPNzm1YA5JZlxmQ0u1xXFqZv0OMoibgY+gSzaiAQz3eKB6vEv4Xv4U +kaF9nEUTEjowpTE6uX9X0mGkXXT2wXmlTjosZFnxRX5IIrRNug30plRra5CNYPGp +3uTmD/D7Nzi1iYitJg3yhrTQmCWiJY3x4Z0xophLkio2nlJ9WoTKf1AwTIATY7fa +pX9bxEKldYXrYZNFlbqBPFgA/36v+JDVfMf2E9yRMCt0LAJ0HUM6zP0ngMv+S1TP +Pu6X0WXR9JeuoaF4uJSty/xwdpST/CkHflFLVsk5n3tNQfWGjqoTSOJMgL9NRY9e +Pc/OshHZHeCVFUSXtcf1pfmmBtT6FHX0L4cgVqA5xO8RYapnLDAFLXq2/dRv3NwW +W9CzZcZKh7jmJw4iSIY5IU1+ThgugWoxlkcmjs/egjBclL8BBfqRIwx/vOE= -----END RSA PRIVATE KEY----- diff --git a/mysql-test/t/openssl_1.test b/mysql-test/t/openssl_1.test index a752e990846..14c14fca0c6 100644 --- a/mysql-test/t/openssl_1.test +++ b/mysql-test/t/openssl_1.test @@ -11,8 +11,8 @@ insert into t1 values (5); grant select on test.* to ssl_user1@localhost require SSL; grant select on test.* to ssl_user2@localhost require cipher "DHE-RSA-AES256-SHA"; -grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com"; -grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; +grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com"; +grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/O=MySQL AB/emailAddress=abstract.mysql.developer@mysql.com" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB"; grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; flush privileges; -- cgit v1.2.1 From 23d032c34eeb4c7af02fbc96de215d01a9004522 Mon Sep 17 00:00:00 2001 From: Alfranio Correia Date: Wed, 28 Jan 2009 14:35:12 +0000 Subject: BUG#35583 mysqlbinlog replay fails with ERROR 1146 when temp tables are used When using CREATE TEMPORARY TABLE LIKE to create a temporary table, or using TRUNCATE to delete all rows of a temporary table, they did not set the tmp_table_used flag, and cause the omission of "SET @@session.pseudo_thread_id" when dumping binlog with mysqlbinlog, and cause error when replay the statements. This patch fixed the problem by setting tmp_table_used in these two cases. (Done by He Zhenxing 2009-01-12) mysql-test/suite/binlog/r/binlog_tmp_table.result: Add test case for BUG#35583 mysql-test/suite/binlog/t/binlog_tmp_table.test: Add test case for BUG#35583 sql/sql_delete.cc: set thd->tmp_table_used when truncate temporary table sql/sql_table.cc: set thd->tmp_table_used when using create like to create temporary tables --- mysql-test/suite/binlog/r/binlog_tmp_table.result | 30 +++++++++ mysql-test/suite/binlog/t/binlog_tmp_table.test | 82 +++++++++++++++++++++++ sql/sql_delete.cc | 3 + sql/sql_table.cc | 1 + 4 files changed, 116 insertions(+) create mode 100644 mysql-test/suite/binlog/r/binlog_tmp_table.result create mode 100644 mysql-test/suite/binlog/t/binlog_tmp_table.test diff --git a/mysql-test/suite/binlog/r/binlog_tmp_table.result b/mysql-test/suite/binlog/r/binlog_tmp_table.result new file mode 100644 index 00000000000..e4928432324 --- /dev/null +++ b/mysql-test/suite/binlog/r/binlog_tmp_table.result @@ -0,0 +1,30 @@ +create table foo (a int); +flush logs; +create temporary table tmp1_foo like foo; +create temporary table tmp2_foo (a int); +insert into tmp1_foo values (1), (2), (3), (4); +replace into tmp2_foo values (1), (2), (3), (4); +update tmp1_foo set a=2*a-1; +update tmp2_foo set a=2*a; +delete from tmp1_foo where a < 5; +delete from tmp2_foo where a < 5; +insert into foo select * from tmp1_foo; +insert into foo select * from tmp2_foo; +truncate table tmp1_foo; +truncate table tmp2_foo; +flush logs; +select * from foo; +a +5 +7 +6 +8 +drop table foo; +create table foo (a int); +select * from foo; +a +5 +7 +6 +8 +drop table foo; diff --git a/mysql-test/suite/binlog/t/binlog_tmp_table.test b/mysql-test/suite/binlog/t/binlog_tmp_table.test new file mode 100644 index 00000000000..961ac03e873 --- /dev/null +++ b/mysql-test/suite/binlog/t/binlog_tmp_table.test @@ -0,0 +1,82 @@ +# ==== Purpose ==== +# +# Test if statements used temporary tables are binlogged correctly +# +# ==== Method ==== +# +# Use two connections, use temporary tables on both of them, and by +# switching connections between statements, the test can check if the +# statements are logged with the correct thread id. +# +# The statements current tested include: +# CREATE TEMPORARY TABLE +# CREATE TEMPORARY TABLE LIKE +# INSERT +# REPLACE +# UPDATE +# INSERT SELECT +# TRUNCATE +# +# Note: When adding new query statements, please add them between the +# two 'flush logs'. And aslo please make sure the connection is +# switched between each statement. +# +# ==== Related bugs ==== +# +# BUG#35583 mysqlbinlog replay fails with ERROR 1146 when temp tables are used +# +source include/have_log_bin.inc; +source include/have_binlog_format_mixed_or_statement.inc; + +connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,); +connect (master1,127.0.0.1,root,,test,$MASTER_MYPORT,); + +create table foo (a int); + +flush logs; + +connection master; +create temporary table tmp1_foo like foo; +connection master1; +create temporary table tmp2_foo (a int); + +connection master; +insert into tmp1_foo values (1), (2), (3), (4); +connection master1; +replace into tmp2_foo values (1), (2), (3), (4); + +connection master; +update tmp1_foo set a=2*a-1; +connection master1; +update tmp2_foo set a=2*a; + +connection master; +delete from tmp1_foo where a < 5; +connection master1; +delete from tmp2_foo where a < 5; + +connection master; +insert into foo select * from tmp1_foo; +connection master1; +insert into foo select * from tmp2_foo; + +connection master; +truncate table tmp1_foo; +connection master1; +truncate table tmp2_foo; + +flush logs; + +connection default; +select * from foo; + +# prepare for the replay +drop table foo; +create table foo (a int); + +# replay from binary log +exec $MYSQL_BINLOG $MYSQLTEST_VARDIR/log/master-bin.000002 | $MYSQL; +select * from foo; + +# clean up +drop table foo; diff --git a/sql/sql_delete.cc b/sql/sql_delete.cc index b56e042e3d5..1a23077f6a0 100644 --- a/sql/sql_delete.cc +++ b/sql/sql_delete.cc @@ -1010,6 +1010,9 @@ bool mysql_truncate(THD *thd, TABLE_LIST *table_list, bool dont_send_ok) share->db.str, share->table_name.str, 1)))) (void) rm_temporary_table(table_type, path); + else + thd->thread_specific_used= TRUE; + free_table_share(share); my_free((char*) table,MYF(0)); /* diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 3ec03be72a5..4827810334f 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -4983,6 +4983,7 @@ bool mysql_create_like_table(THD* thd, TABLE_LIST* table, TABLE_LIST* src_table, dst_path); /* purecov: inspected */ goto err; /* purecov: inspected */ } + thd->thread_specific_used= TRUE; } else if (err) { -- cgit v1.2.1 From aa0641dcf6da9d5ecf70d9963a61b2deac81b0b8 Mon Sep 17 00:00:00 2001 From: Davi Arnaut Date: Wed, 28 Jan 2009 14:33:33 -0200 Subject: Remove test case for bug 40264. Dirty close tricky does not work on Windows. mysql-test/r/query_cache_notembedded.result: Remove test case result. mysql-test/t/query_cache_notembedded.test: Remove test case. --- mysql-test/r/query_cache_notembedded.result | 16 ---------------- mysql-test/t/query_cache_notembedded.test | 29 ----------------------------- 2 files changed, 45 deletions(-) diff --git a/mysql-test/r/query_cache_notembedded.result b/mysql-test/r/query_cache_notembedded.result index bf582bfaec6..8e5df012cfb 100644 --- a/mysql-test/r/query_cache_notembedded.result +++ b/mysql-test/r/query_cache_notembedded.result @@ -345,19 +345,3 @@ id drop table t1; drop function f1; set GLOBAL query_cache_size=0; -DROP TABLE IF EXISTS t1; -FLUSH STATUS; -SET GLOBAL query_cache_size=1048576; -CREATE TABLE t1 (a INT); -INSERT INTO t1 VALUES (1),(2),(3),(4),(5); -SHOW STATUS LIKE 'Qcache_queries_in_cache'; -Variable_name Value -Qcache_queries_in_cache 0 -LOCK TABLES t1 WRITE; -SELECT * FROM t1; -UNLOCK TABLES; -SHOW STATUS LIKE 'Qcache_queries_in_cache'; -Variable_name Value -Qcache_queries_in_cache 0 -DROP TABLE t1; -SET GLOBAL query_cache_size= default; diff --git a/mysql-test/t/query_cache_notembedded.test b/mysql-test/t/query_cache_notembedded.test index c427e0d1afc..421ec913e5d 100644 --- a/mysql-test/t/query_cache_notembedded.test +++ b/mysql-test/t/query_cache_notembedded.test @@ -223,33 +223,4 @@ connection default; set GLOBAL query_cache_size=0; -# -# Bug#40264: Aborted cached query causes query to hang indefinitely on next cache hit -# - ---disable_warnings -DROP TABLE IF EXISTS t1; ---enable_warnings - -FLUSH STATUS; -SET GLOBAL query_cache_size=1048576; -CREATE TABLE t1 (a INT); -INSERT INTO t1 VALUES (1),(2),(3),(4),(5); -SHOW STATUS LIKE 'Qcache_queries_in_cache'; -LOCK TABLES t1 WRITE; -connect(con1,localhost,root,,); ---send SELECT * FROM t1 -connection default; -let $show_type= open tables where `table`='t1' and in_use=2; -let $show_pattern= '%t1%2%'; ---source include/wait_show_pattern.inc -dirty_close con1; -UNLOCK TABLES; -let $show_type= open tables where `table`='t1' and in_use=0; -let $show_pattern= '%t1%0%'; ---source include/wait_show_pattern.inc -SHOW STATUS LIKE 'Qcache_queries_in_cache'; -DROP TABLE t1; -SET GLOBAL query_cache_size= default; - # End of 5.0 tests -- cgit v1.2.1 From 334e249f914359864996adaf54508ed7b40971e2 Mon Sep 17 00:00:00 2001 From: Gleb Shchepa Date: Wed, 28 Jan 2009 22:46:45 +0400 Subject: Bug #39069: IN seriously messed up "ROW(...) IN (SELECT ... FROM DUAL)" always returned TRUE. Item_in_subselect::row_value_transformer rewrites "ROW(...) IN SELECT" conditions into the "EXISTS (SELECT ... HAVING ...)" form. For a subquery from the DUAL pseudotable resulting HAVING condition is an expression on constant values, so further transformation with optimize_cond() eliminates this HAVING condition and resets JOIN::having to NULL. Then JOIN::exec treated that NULL as an always-true-HAVING and that caused a bug. To distinguish an optimized out "HAVING TRUE" clause from "HAVING FALSE" we already have the JOIN::having_value flag. However, JOIN::exec() ignored JOIN::having_value as described above as if it always set to COND_TRUE. The JOIN::exec method has been modified to take into account the value of the JOIN::having_value field. mysql-test/r/subselect3.result: Added test case for bug #39069. mysql-test/t/subselect3.test: Added test case for bug #39069. sql/sql_select.cc: Bug #39069: IN seriously messed up The JOIN::exec method has been modified to take into account the value of the JOIN::having_value field. --- mysql-test/r/subselect3.result | 54 ++++++++++++++++++++++++++++++++++++++++++ mysql-test/t/subselect3.test | 29 +++++++++++++++++++++++ sql/sql_select.cc | 5 ++++ 3 files changed, 88 insertions(+) diff --git a/mysql-test/r/subselect3.result b/mysql-test/r/subselect3.result index 97479418bec..9a6f4436ff0 100644 --- a/mysql-test/r/subselect3.result +++ b/mysql-test/r/subselect3.result @@ -795,4 +795,58 @@ WHERE INNR.varchar_key > 'n{' ); varchar_nokey DROP TABLE t1; +CREATE TABLE t1 (a INT); +INSERT INTO t1 VALUES (1), (2), (11); +# 2nd and 3rd columns should be same +SELECT a, ROW(11, 12) = (SELECT a, 22), ROW(11, 12) IN (SELECT a, 22) FROM t1 GROUP BY t1.a; +a ROW(11, 12) = (SELECT a, 22) ROW(11, 12) IN (SELECT a, 22) +1 0 0 +2 0 0 +11 0 0 +SELECT a, ROW(11, 12) = (SELECT a, 12), ROW(11, 12) IN (SELECT a, 12) FROM t1 GROUP BY t1.a; +a ROW(11, 12) = (SELECT a, 12) ROW(11, 12) IN (SELECT a, 12) +1 0 0 +2 0 0 +11 1 1 +SELECT a, ROW(11, 12) = (SELECT a, 22), ROW(11, 12) IN (SELECT a, 22) FROM t1; +a ROW(11, 12) = (SELECT a, 22) ROW(11, 12) IN (SELECT a, 22) +1 0 0 +2 0 0 +11 0 0 +SELECT a, ROW(11, 12) = (SELECT a, 12), ROW(11, 12) IN (SELECT a, 12) FROM t1; +a ROW(11, 12) = (SELECT a, 12) ROW(11, 12) IN (SELECT a, 12) +1 0 0 +2 0 0 +11 1 1 +SELECT a AS x, ROW(11, 12) = (SELECT MAX(x), 22), ROW(11, 12) IN (SELECT MAX(x), 22) FROM t1; +x ROW(11, 12) = (SELECT MAX(x), 22) ROW(11, 12) IN (SELECT MAX(x), 22) +1 0 0 +2 0 0 +11 0 0 +# 2nd and 3rd columns should be same for x == 11 only +SELECT a AS x, ROW(11, 12) = (SELECT MAX(x), 12), ROW(11, 12) IN (SELECT MAX(x), 12) FROM t1; +x ROW(11, 12) = (SELECT MAX(x), 12) ROW(11, 12) IN (SELECT MAX(x), 12) +1 0 1 +2 0 1 +11 1 1 +DROP TABLE t1; +# both columns should be same +SELECT ROW(1,2) = (SELECT NULL, NULL), ROW(1,2) IN (SELECT NULL, NULL); +ROW(1,2) = (SELECT NULL, NULL) ROW(1,2) IN (SELECT NULL, NULL) +NULL NULL +SELECT ROW(1,2) = (SELECT 1, NULL), ROW(1,2) IN (SELECT 1, NULL); +ROW(1,2) = (SELECT 1, NULL) ROW(1,2) IN (SELECT 1, NULL) +NULL NULL +SELECT ROW(1,2) = (SELECT NULL, 2), ROW(1,2) IN (SELECT NULL, 2); +ROW(1,2) = (SELECT NULL, 2) ROW(1,2) IN (SELECT NULL, 2) +NULL NULL +SELECT ROW(1,2) = (SELECT NULL, 1), ROW(1,2) IN (SELECT NULL, 1); +ROW(1,2) = (SELECT NULL, 1) ROW(1,2) IN (SELECT NULL, 1) +0 0 +SELECT ROW(1,2) = (SELECT 1, 1), ROW(1,2) IN (SELECT 1, 1); +ROW(1,2) = (SELECT 1, 1) ROW(1,2) IN (SELECT 1, 1) +0 0 +SELECT ROW(1,2) = (SELECT 1, 2), ROW(1,2) IN (SELECT 1, 2); +ROW(1,2) = (SELECT 1, 2) ROW(1,2) IN (SELECT 1, 2) +1 1 End of 5.0 tests diff --git a/mysql-test/t/subselect3.test b/mysql-test/t/subselect3.test index 7e9aa1554c0..2d88d1660b0 100644 --- a/mysql-test/t/subselect3.test +++ b/mysql-test/t/subselect3.test @@ -640,4 +640,33 @@ WHERE NULL NOT IN ( DROP TABLE t1; +# +# Bug #39069: IN seriously messed up +# + +CREATE TABLE t1 (a INT); +INSERT INTO t1 VALUES (1), (2), (11); + +--echo # 2nd and 3rd columns should be same +SELECT a, ROW(11, 12) = (SELECT a, 22), ROW(11, 12) IN (SELECT a, 22) FROM t1 GROUP BY t1.a; +SELECT a, ROW(11, 12) = (SELECT a, 12), ROW(11, 12) IN (SELECT a, 12) FROM t1 GROUP BY t1.a; +SELECT a, ROW(11, 12) = (SELECT a, 22), ROW(11, 12) IN (SELECT a, 22) FROM t1; +SELECT a, ROW(11, 12) = (SELECT a, 12), ROW(11, 12) IN (SELECT a, 12) FROM t1; + +# The x alias is used below to workaround bug #40674. +# Regression tests for sum function on outer column in subselect from dual: +SELECT a AS x, ROW(11, 12) = (SELECT MAX(x), 22), ROW(11, 12) IN (SELECT MAX(x), 22) FROM t1; +--echo # 2nd and 3rd columns should be same for x == 11 only +SELECT a AS x, ROW(11, 12) = (SELECT MAX(x), 12), ROW(11, 12) IN (SELECT MAX(x), 12) FROM t1; + +DROP TABLE t1; + +--echo # both columns should be same +SELECT ROW(1,2) = (SELECT NULL, NULL), ROW(1,2) IN (SELECT NULL, NULL); +SELECT ROW(1,2) = (SELECT 1, NULL), ROW(1,2) IN (SELECT 1, NULL); +SELECT ROW(1,2) = (SELECT NULL, 2), ROW(1,2) IN (SELECT NULL, 2); +SELECT ROW(1,2) = (SELECT NULL, 1), ROW(1,2) IN (SELECT NULL, 1); +SELECT ROW(1,2) = (SELECT 1, 1), ROW(1,2) IN (SELECT 1, 1); +SELECT ROW(1,2) = (SELECT 1, 2), ROW(1,2) IN (SELECT 1, 2); + --echo End of 5.0 tests diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 53e24414f01..74d1158d8b7 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -1608,8 +1608,13 @@ JOIN::exec() We have to test for 'conds' here as the WHERE may not be constant even if we don't have any tables for prepared statements or if conds uses something like 'rand()'. + If the HAVING clause is either impossible or always true, then + JOIN::having is set to NULL by optimize_cond. + In this case JOIN::exec must check for JOIN::having_value, in the + same way it checks for JOIN::cond_value. */ if (cond_value != Item::COND_FALSE && + having_value != Item::COND_FALSE && (!conds || conds->val_int()) && (!having || having->val_int())) { -- cgit v1.2.1 From a9608b196d2675f790079009d7b2ca4d80a93dbc Mon Sep 17 00:00:00 2001 From: Sergey Petrunia Date: Wed, 28 Jan 2009 22:18:27 +0300 Subject: BUG#37822: Correlated subquery with IN and IS UNKNOWN provides wrong result Item_in_optimizer::is_null() evaluated "NULL IN (SELECT ...)" to NULL regardless of whether subquery produced any records, this was a documented limitation. The limitation has been removed (see bugs 8804, 24085, 24127) now Item_in_optimizer::val_int() correctly handles all cases with NULLs. Make Item_in_optimizer::is_null() invoke val_int() to return correct values for "NULL IN (SELECT ...)". mysql-test/r/subselect.result: BUG#37822: Correlated subquery with IN and IS UNKNOWN provides wrong result - Testcase mysql-test/t/subselect.test: BUG#37822: Correlated subquery with IN and IS UNKNOWN provides wrong result - Testcase --- mysql-test/r/subselect.result | 36 ++++++++++++++++++++++++++++++++++++ mysql-test/t/subselect.test | 35 +++++++++++++++++++++++++++++++++++ sql/item_cmpfunc.cc | 4 ++-- 3 files changed, 73 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/subselect.result b/mysql-test/r/subselect.result index c1c81847b13..d38387a356f 100644 --- a/mysql-test/r/subselect.result +++ b/mysql-test/r/subselect.result @@ -4478,4 +4478,40 @@ WHERE 1 IN (SELECT id FROM t1) WITH CHECK OPTION; DELETE FROM v3; DROP VIEW v1,v2,v3; DROP TABLE t1,t2; +# +# BUG#37822: Correlated subquery with IN and IS UNKNOWN provides wrong result +# +create table t1(id integer primary key, g integer, v integer, s char(1)); +create table t2(id integer primary key, g integer, v integer, s char(1)); +insert into t1 values +(10, 10, 10, 'l'), +(20, 20, 20, 'l'), +(40, 40, 40, 'l'), +(41, 40, null, 'l'), +(50, 50, 50, 'l'), +(51, 50, null, 'l'), +(60, 60, 60, 'l'), +(61, 60, null, 'l'), +(70, 70, 70, 'l'), +(90, 90, null, 'l'); +insert into t2 values +(10, 10, 10, 'r'), +(30, 30, 30, 'r'), +(50, 50, 50, 'r'), +(60, 60, 60, 'r'), +(61, 60, null, 'r'), +(70, 70, 70, 'r'), +(71, 70, null, 'r'), +(80, 80, 80, 'r'), +(81, 80, null, 'r'), +(100,100,null, 'r'); +select * +from t1 +where v in(select v +from t2 +where t1.g=t2.g) is unknown; +id g v s +51 50 NULL l +61 60 NULL l +drop table t1, t2; End of 5.1 tests. diff --git a/mysql-test/t/subselect.test b/mysql-test/t/subselect.test index 493857fb463..b625d49415d 100644 --- a/mysql-test/t/subselect.test +++ b/mysql-test/t/subselect.test @@ -3391,4 +3391,39 @@ DELETE FROM v3; DROP VIEW v1,v2,v3; DROP TABLE t1,t2; +--echo # +--echo # BUG#37822: Correlated subquery with IN and IS UNKNOWN provides wrong result +--echo # +create table t1(id integer primary key, g integer, v integer, s char(1)); +create table t2(id integer primary key, g integer, v integer, s char(1)); +insert into t1 values + (10, 10, 10, 'l'), + (20, 20, 20, 'l'), + (40, 40, 40, 'l'), + (41, 40, null, 'l'), + (50, 50, 50, 'l'), + (51, 50, null, 'l'), + (60, 60, 60, 'l'), + (61, 60, null, 'l'), + (70, 70, 70, 'l'), + (90, 90, null, 'l'); +insert into t2 values + (10, 10, 10, 'r'), + (30, 30, 30, 'r'), + (50, 50, 50, 'r'), + (60, 60, 60, 'r'), + (61, 60, null, 'r'), + (70, 70, 70, 'r'), + (71, 70, null, 'r'), + (80, 80, 80, 'r'), + (81, 80, null, 'r'), + (100,100,null, 'r'); + +select * +from t1 +where v in(select v + from t2 + where t1.g=t2.g) is unknown; +drop table t1, t2; + --echo End of 5.1 tests. diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc index 813e50e0693..bd90dd81365 100644 --- a/sql/item_cmpfunc.cc +++ b/sql/item_cmpfunc.cc @@ -1623,8 +1623,8 @@ void Item_in_optimizer::cleanup() bool Item_in_optimizer::is_null() { - cache->store(args[0]); - return (null_value= (cache->null_value || args[1]->is_null())); + val_int(); + return null_value; } -- cgit v1.2.1 From 2cb3874a5a6adabe8667becee7f6043d2d7a9533 Mon Sep 17 00:00:00 2001 From: Sergey Petrunia Date: Thu, 29 Jan 2009 11:47:20 +0300 Subject: Fix trivial merge error --- mysql-test/r/subselect.result | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/r/subselect.result b/mysql-test/r/subselect.result index d38387a356f..d23dc65f8cd 100644 --- a/mysql-test/r/subselect.result +++ b/mysql-test/r/subselect.result @@ -4480,7 +4480,7 @@ DROP VIEW v1,v2,v3; DROP TABLE t1,t2; # # BUG#37822: Correlated subquery with IN and IS UNKNOWN provides wrong result -# +# create table t1(id integer primary key, g integer, v integer, s char(1)); create table t2(id integer primary key, g integer, v integer, s char(1)); insert into t1 values -- cgit v1.2.1 From 4a657eee92fb91418448b4701fecb9c791935b4f Mon Sep 17 00:00:00 2001 From: Satya B Date: Thu, 29 Jan 2009 17:30:32 +0530 Subject: An addition to BUG#39886 - Table full for MEMORY table is not written into error log After the earlier fix, mtr tests reports "table full" messages as warnings. This is expected, this patch fixes the mtr testframework to ignore the error message. mysql-test/lib/mtr_report.pl: fixed mtr_report_stats to ignore the Table Full error messages generated by the testcases main.almost_full, main.myisam_data_pointer_size_func --- mysql-test/lib/mtr_report.pl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mysql-test/lib/mtr_report.pl b/mysql-test/lib/mtr_report.pl index baba9b7934a..f01e36b06dd 100644 --- a/mysql-test/lib/mtr_report.pl +++ b/mysql-test/lib/mtr_report.pl @@ -415,7 +415,13 @@ sub mtr_report_stats ($) { /lower_case_table_names was set to 2, even though your the file system '.*' is case sensitive. Now setting lower_case_table_names to 0 to avoid future problems./ or # this test is expected to print warnings - ($testname eq 'main.innodb_bug39438') + ($testname eq 'main.innodb_bug39438') or + + # Bug#39886, logs 'Table full' error message + (($testname eq 'main.almost_full' or + $testname eq 'main.myisam_data_pointer_size_func') and + (/The table '.*' is full/ + )) ) { next; # Skip these lines -- cgit v1.2.1 From 37e88536e36bfd1145ef62e71a246d895dbafae3 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Thu, 29 Jan 2009 14:40:48 +0200 Subject: Bug #35396: Abnormal query times in slow query log If the system time is adjusted back during a query execution (resulting in the end time being earlier than the start time) the code that prints to the slow query log gets confused and prints unsigned negative numbers. Fixed by not logging the statements that would have negative execution time due to time shifts. No test case since this would involve changing the system time. sql/sql_parse.cc: Bug #35396: don't log queries with negative execution times (due to shifts in system time). --- sql/sql_parse.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 91c5cacc4d0..1d3632fd468 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -2333,8 +2333,9 @@ void log_slow_statement(THD *thd) { thd->proc_info="logging slow query"; - if ((ulong) (thd->start_time - thd->time_after_lock) > - thd->variables.long_query_time || + if ((thd->start_time > thd->time_after_lock && + (ulong) (thd->start_time - thd->time_after_lock) > + thd->variables.long_query_time) || (thd->server_status & (SERVER_QUERY_NO_INDEX_USED | SERVER_QUERY_NO_GOOD_INDEX_USED)) && opt_log_queries_not_using_indexes && -- cgit v1.2.1 From 093a6dd90e12ca41e7e415f57f5a91181bf1959e Mon Sep 17 00:00:00 2001 From: Andrei Elkin Date: Thu, 29 Jan 2009 15:54:58 +0200 Subject: bug #42451 setup_fake_relay_log makes an incorrect path on windows Temporarily blocking to run the test on windows. Todo: remove the include upon setup_fake_relay_log has been fixed. mysql-test/suite/rpl/t/rpl_cross_version.test: blocking to run the test on windows for a while. --- mysql-test/suite/rpl/t/rpl_cross_version.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/suite/rpl/t/rpl_cross_version.test b/mysql-test/suite/rpl/t/rpl_cross_version.test index bb2ca350152..adeba7f2b15 100644 --- a/mysql-test/suite/rpl/t/rpl_cross_version.test +++ b/mysql-test/suite/rpl/t/rpl_cross_version.test @@ -11,7 +11,7 @@ # --source include/have_log_bin.inc - +--source include/not_windows.inc # # Bug#31240 load data infile replication between (4.0 or 4.1) and 5.1 fails # -- cgit v1.2.1 From d20a0bd43ae43f76fc023bcb079dd8eb519ead4a Mon Sep 17 00:00:00 2001 From: Joerg Bruehe Date: Thu, 29 Jan 2009 22:43:52 +0100 Subject: Raise the version number in this (enterprise) tree, 5.0.77 will be a community build. --- configure.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.in b/configure.in index ff0e9de9ec2..12c31b33d1b 100644 --- a/configure.in +++ b/configure.in @@ -7,7 +7,7 @@ AC_INIT(sql/mysqld.cc) AC_CANONICAL_SYSTEM # The Docs Makefile.am parses this line! # remember to also change ndb version below and update version.c in ndb -AM_INIT_AUTOMAKE(mysql, 5.0.77) +AM_INIT_AUTOMAKE(mysql, 5.0.78) AM_CONFIG_HEADER([include/config.h:config.h.in]) PROTOCOL_VERSION=10 @@ -23,7 +23,7 @@ NDB_SHARED_LIB_VERSION=$NDB_SHARED_LIB_MAJOR_VERSION:0:0 # ndb version NDB_VERSION_MAJOR=5 NDB_VERSION_MINOR=0 -NDB_VERSION_BUILD=77 +NDB_VERSION_BUILD=78 NDB_VERSION_STATUS="" # Set all version vars based on $VERSION. How do we do this more elegant ? -- cgit v1.2.1 From aee3cb63155b6f863313d5cc8903d9c4ea62f449 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Fri, 30 Jan 2009 16:02:34 +0200 Subject: new mtr cleanup : removing non-exiting tests from disabled.def --- mysql-test/t/disabled.def | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index 118efb6f7ed..f61090102ff 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -9,18 +9,6 @@ # Do not use any TAB characters for whitespace. # ############################################################################## -delayed_insert_limit_func : BUG#37962 2008-07-08 sven *_func tests containing sleeps/race conditions -event_scheduler_func : BUG#37962, BUG#40816 2008-07-08 sven *_func tests containing sleeps/race conditions -interactive_timeout_func : BUG#37962 2008-07-08 sven *_func tests containing sleeps/race conditions -query_cache_wlock_invalidate_func : BUG#37962 2008-07-08 sven *_func tests containing sleeps/race conditions -rpl_init_slave_func : BUG#37962 2008-07-08 sven *_func tests containing sleeps/race conditions -rpl_max_binlog_size_func : BUG#37962 2008-07-08 sven *_func tests containing sleeps/race conditions -slow_query_log_func : BUG#37962 2008-07-08 sven *_func tests containing sleeps/race conditions -sql_low_priority_updates_func : BUG#37962 2008-07-08 sven *_func tests containing sleeps/race conditions -timestamp_func : BUG#37962 2008-07-08 sven *_func tests containing sleeps/race conditions -innodb_max_dirty_pages_pct_func : BUG#41018 BUG#39382 2008-12-02 sven test fails often. some failures fill up the disk, causing subsequent failures in many other tests -federated_transactions : Bug#29523 Transactions do not work -wait_timeout_func : Bug #41225 joro wait_timeout_func fails kill : Bug#37780 2008-12-03 HHunger need some changes to be robust enough for pushbuild. query_cache_28249 : Bug#41098 Query Cache returns wrong result with concurrent insert innodb_bug39438 : BUG#42383 2009-01-28 lsoares "This fails in embedded and on windows. Note that this test is not run on windows and on embedded in PB for main trees currently" -- cgit v1.2.1 From ce563480b774f912ab698efe0a71e77b9360893d Mon Sep 17 00:00:00 2001 From: "Tatiana A. Nurnberg" Date: Fri, 30 Jan 2009 17:12:24 +0100 Subject: Bug#41370: TIMESTAMP field does not accepts NULL from FROM_UNIXTIME() When storing a NULL to a TIMESTAMP NOT NULL DEFAULT ..., NULL returned from some functions threw a 'cannot be NULL error.' NULL-returns now correctly result in the timestamp-field being assigned its default value. mysql-test/r/type_timestamp.result: Show that for TIMESTAMP NOT NULL DEFAULT, NULL function returns set default now. mysql-test/t/type_timestamp.test: Show that for TIMESTAMP NOT NULL DEFAULT, NULL function returns set default now. sql/item.cc: When storing a returned NULL (from a time- or date-related function), make sure to apply NULL-means-DEFAULT magic where applicable. --- mysql-test/r/type_timestamp.result | 19 +++++++++++++++++++ mysql-test/t/type_timestamp.test | 20 +++++++++++++++++++- sql/item.cc | 4 ++-- 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/mysql-test/r/type_timestamp.result b/mysql-test/r/type_timestamp.result index 445ada578d0..59900fe4a77 100644 --- a/mysql-test/r/type_timestamp.result +++ b/mysql-test/r/type_timestamp.result @@ -492,6 +492,7 @@ a b c 5 NULL 2001-09-09 04:46:59 6 NULL 2006-06-06 06:06:06 drop table t1; +End of 4.1 tests set time_zone= @@global.time_zone; CREATE TABLE t1 ( `id` int(11) NOT NULL auto_increment, @@ -508,3 +509,21 @@ select is_nullable from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='t1' and COL is_nullable NO drop table t1; +CREATE TABLE t1 ( f1 INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, +f2 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, +f3 TIMESTAMP); +INSERT INTO t1 (f2,f3) VALUES (NOW(), "0000-00-00 00:00:00"); +INSERT INTO t1 (f2,f3) VALUES (NOW(), NULL); +INSERT INTO t1 (f2,f3) VALUES (NOW(), ASCII(NULL)); +INSERT INTO t1 (f2,f3) VALUES (NOW(), FROM_UNIXTIME('9999999999')); +INSERT INTO t1 (f2,f3) VALUES (NOW(), TIME(NULL)); +UPDATE t1 SET f2=NOW(), f3=FROM_UNIXTIME('9999999999') WHERE f1=1; +SELECT f1,f2-f3 FROM t1; +f1 f2-f3 +1 0 +2 0 +3 0 +4 0 +5 0 +DROP TABLE t1; +End of 5.0 tests diff --git a/mysql-test/t/type_timestamp.test b/mysql-test/t/type_timestamp.test index 7b4af9e0c69..ce1d3f21ff5 100644 --- a/mysql-test/t/type_timestamp.test +++ b/mysql-test/t/type_timestamp.test @@ -324,7 +324,7 @@ insert into t1 (a, c) values (4, '2004-04-04 00:00:00'), select * from t1; drop table t1; -# End of 4.1 tests +--echo End of 4.1 tests # Restore timezone to default set time_zone= @@global.time_zone; @@ -339,3 +339,21 @@ PRIMARY KEY (`id`) show fields from t1; select is_nullable from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='t1' and COLUMN_NAME='posted_on'; drop table t1; + +# +# Bug#41370: TIMESTAMP field does not accepts NULL from FROM_UNIXTIME() +# + +CREATE TABLE t1 ( f1 INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, + f2 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + f3 TIMESTAMP); +INSERT INTO t1 (f2,f3) VALUES (NOW(), "0000-00-00 00:00:00"); +INSERT INTO t1 (f2,f3) VALUES (NOW(), NULL); +INSERT INTO t1 (f2,f3) VALUES (NOW(), ASCII(NULL)); +INSERT INTO t1 (f2,f3) VALUES (NOW(), FROM_UNIXTIME('9999999999')); +INSERT INTO t1 (f2,f3) VALUES (NOW(), TIME(NULL)); +UPDATE t1 SET f2=NOW(), f3=FROM_UNIXTIME('9999999999') WHERE f1=1; +SELECT f1,f2-f3 FROM t1; +DROP TABLE t1; + +--echo End of 5.0 tests diff --git a/sql/item.cc b/sql/item.cc index 2a89c86cd88..977c5f0b7c0 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -321,7 +321,7 @@ int Item::save_time_in_field(Field *field) { MYSQL_TIME ltime; if (get_time(<ime)) - return set_field_to_null(field); + return set_field_to_null_with_conversions(field, 0); field->set_notnull(); return field->store_time(<ime, MYSQL_TIMESTAMP_TIME); } @@ -331,7 +331,7 @@ int Item::save_date_in_field(Field *field) { MYSQL_TIME ltime; if (get_date(<ime, TIME_FUZZY_DATE)) - return set_field_to_null(field); + return set_field_to_null_with_conversions(field, 0); field->set_notnull(); return field->store_time(<ime, MYSQL_TIMESTAMP_DATETIME); } -- cgit v1.2.1 From 6cfd0f25930fc0579c983e4507a4e57b938d4d58 Mon Sep 17 00:00:00 2001 From: Horst Hunger Date: Fri, 30 Jan 2009 17:59:10 +0100 Subject: Fix for bug#39382 including review results after pulling the bugteam tree now using the new mtr. --- .../r/innodb_max_dirty_pages_pct_func.result | 72 +++++++++++++++++++-- .../t/innodb_max_dirty_pages_pct_func.test | 75 +++++++++++----------- 2 files changed, 107 insertions(+), 40 deletions(-) diff --git a/mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_func.result b/mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_func.result index d46c0d4a70a..baf06092126 100644 --- a/mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_func.result +++ b/mysql-test/suite/sys_vars/r/innodb_max_dirty_pages_pct_func.result @@ -1,24 +1,88 @@ -SET @start_value= @@global.innodb_max_dirty_pages_pct; +SET @innodb_max_dirty_pages_pct = @@global.innodb_max_dirty_pages_pct; '#--------------------FN_DYNVARS_044_02-------------------------#' SET @@global.innodb_max_dirty_pages_pct = 80; 'connect (con1,localhost,root,,,,)' +'connection con1' SELECT @@global.innodb_max_dirty_pages_pct; @@global.innodb_max_dirty_pages_pct 80 SET @@global.innodb_max_dirty_pages_pct = 70; 'connect (con2,localhost,root,,,,)' +'connection con2' SELECT @@global.innodb_max_dirty_pages_pct; @@global.innodb_max_dirty_pages_pct 70 -'#--------------------FN_DYNVARS_044_02-------------------------#' 'connection default' +'disconnect con2' +'disconnect con1' +SET @@global.innodb_max_dirty_pages_pct = @innodb_max_dirty_pages_pct; +'#--------------------FN_DYNVARS_044_02-------------------------#' +DROP PROCEDURE IF EXISTS add_records; +DROP PROCEDURE IF EXISTS add_until; +DROP PROCEDURE IF EXISTS check_pct; +DROP FUNCTION IF EXISTS dirty_pct; +DROP TABLE IF EXISTS t1; +CREATE PROCEDURE add_records(IN num INT) +BEGIN +START TRANSACTION; +WHILE (num > 0) DO +INSERT INTO t1(b) VALUES('MYSQL'); +SET num = num - 1; +END WHILE; +COMMIT; +END// +CREATE FUNCTION dirty_pct() RETURNS DECIMAL(20,17) +BEGIN +DECLARE res DECIMAL(20,17); +DECLARE a1, b1 VARCHAR(256); +DECLARE a2, b2 VARCHAR(256); +DECLARE dirty CURSOR FOR SELECT * FROM information_schema.global_status +WHERE variable_name LIKE 'Innodb_buffer_pool_pages_dirty'; +DECLARE total CURSOR FOR SELECT * FROM information_schema.global_status +WHERE variable_name LIKE 'Innodb_buffer_pool_pages_total'; +OPEN dirty; +OPEN total; +FETCH dirty INTO a1, b1; +FETCH total INTO a2, b2; +SET res = (CONVERT(b1,DECIMAL) * 100) / CONVERT(b2,DECIMAL); +CLOSE dirty; +CLOSE total; +RETURN res; +END// +CREATE PROCEDURE add_until(IN num DECIMAL) +BEGIN +DECLARE pct,last DECIMAL(20,17); +SET pct = dirty_pct(); +SET last = 0; +WHILE (pct < num AND pct < 100) DO +CALL add_records(500); +SET pct = dirty_pct(); +IF (pct < last) THEN +SET pct = num + 1; +ELSE +SET last = pct; +END IF; +END WHILE; +END// +CREATE PROCEDURE check_pct(IN num DECIMAL) +BEGIN +IF (dirty_pct() < num) THEN +SELECT 'BELOW_MAX' AS PCT_VALUE; +ELSE +SELECT 'ABOVE_MAX' AS PCT_VALUE; +END IF; +END// +CREATE TABLE t1( +a INT AUTO_INCREMENT PRIMARY KEY, +b CHAR(200) +) ENGINE = INNODB; '---Check when innodb_max_dirty_pages_pct is 10---' SET @@global.innodb_max_dirty_pages_pct = 10; FLUSH STATUS; CALL add_until(10); FLUSH TABLES; CALL add_records(500); -'We expect dirty pages pct to be BELOW_MAX' +'We expect dirty pages pct to be BELOW_MAX after some time depending on performance' CALL check_pct(10); PCT_VALUE BELOW_MAX @@ -27,4 +91,4 @@ DROP PROCEDURE add_until; DROP PROCEDURE check_pct; DROP FUNCTION dirty_pct; DROP TABLE t1; -SET @@global.innodb_max_dirty_pages_pct= @start_value; +SET @@global.innodb_max_dirty_pages_pct = @innodb_max_dirty_pages_pct; diff --git a/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_func.test b/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_func.test index 52ebc2f4c49..d077a3acf50 100644 --- a/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_func.test +++ b/mysql-test/suite/sys_vars/t/innodb_max_dirty_pages_pct_func.test @@ -10,9 +10,11 @@ # # # Creation Date: 2008-03-08 # # Author: Rizwan # +# Modified: HHunger 2009-01-29 Fix for bug#39382, replaced sleep by wait cond.# +# added comments, beautifications. # # # # Description: # -# Test cases of Dynamic System Variable innodb_max_dirty_pages_pct that # +# Test Cases of Dynamic System Variable innodb_max_dirty_pages_pct that # # checks the behavior of this variable # # # # Reference: # @@ -22,7 +24,8 @@ --source include/have_innodb.inc -SET @start_value= @@global.innodb_max_dirty_pages_pct; +# safe initial value +SET @innodb_max_dirty_pages_pct = @@global.innodb_max_dirty_pages_pct; --echo '#--------------------FN_DYNVARS_044_02-------------------------#' ############################################################################ @@ -32,23 +35,29 @@ SET @start_value= @@global.innodb_max_dirty_pages_pct; SET @@global.innodb_max_dirty_pages_pct = 80; --echo 'connect (con1,localhost,root,,,,)' connect (con1,localhost,root,,,,); +--echo 'connection con1' +connection con1; SELECT @@global.innodb_max_dirty_pages_pct; SET @@global.innodb_max_dirty_pages_pct = 70; --echo 'connect (con2,localhost,root,,,,)' connect (con2,localhost,root,,,,); +--echo 'connection con2' +connection con2; SELECT @@global.innodb_max_dirty_pages_pct; +--echo 'connection default' +connection default; +--echo 'disconnect con2' disconnect con2; +--echo 'disconnect con1' disconnect con1; +# restore initial value +SET @@global.innodb_max_dirty_pages_pct = @innodb_max_dirty_pages_pct; --echo '#--------------------FN_DYNVARS_044_02-------------------------#' ################################################################### # Begin the functionality Testing of innodb_max_dirty_pages_pct # ################################################################### ---echo 'connection default' -connection default; - ---disable_query_log --disable_warnings DROP PROCEDURE IF EXISTS add_records; @@ -58,18 +67,13 @@ DROP FUNCTION IF EXISTS dirty_pct; DROP TABLE IF EXISTS t1; --enable_warnings -CREATE TABLE t1( -a INT AUTO_INCREMENT PRIMARY KEY, -b CHAR(200) -)ENGINE=INNODB; - DELIMITER //; -CREATE PROCEDURE add_records(IN NUM INT) +CREATE PROCEDURE add_records(IN num INT) BEGIN START TRANSACTION; - WHILE (NUM>0) DO + WHILE (num > 0) DO INSERT INTO t1(b) VALUES('MYSQL'); - SET NUM = NUM - 1; + SET num = num - 1; END WHILE; COMMIT; END// @@ -77,15 +81,11 @@ END// CREATE FUNCTION dirty_pct() RETURNS DECIMAL(20,17) BEGIN DECLARE res DECIMAL(20,17); - DECLARE a1,b1 VARCHAR(256); - DECLARE a2,b2 VARCHAR(256); + DECLARE a1, b1 VARCHAR(256); + DECLARE a2, b2 VARCHAR(256); DECLARE dirty CURSOR FOR SELECT * FROM information_schema.global_status - WHERE variable_name LIKE 'Innodb_buffer_pool_pages_dirty' - UNION SELECT * FROM information_schema.session_status WHERE variable_name LIKE 'Innodb_buffer_pool_pages_dirty'; DECLARE total CURSOR FOR SELECT * FROM information_schema.global_status - WHERE variable_name LIKE 'Innodb_buffer_pool_pages_total' - UNION SELECT * FROM information_schema.session_status WHERE variable_name LIKE 'Innodb_buffer_pool_pages_total'; OPEN dirty; @@ -94,33 +94,32 @@ BEGIN FETCH dirty INTO a1, b1; FETCH total INTO a2, b2; - SET res = ( CONVERT(b1,DECIMAL)*100)/CONVERT(b2,DECIMAL); + SET res = (CONVERT(b1,DECIMAL) * 100) / CONVERT(b2,DECIMAL); CLOSE dirty; CLOSE total; RETURN res; END// -CREATE PROCEDURE add_until(IN NUM DECIMAL) +CREATE PROCEDURE add_until(IN num DECIMAL) BEGIN DECLARE pct,last DECIMAL(20,17); - SET pct = dirty_pct(); SET last = 0; - WHILE (pct>NUM and pct<100) DO + WHILE (pct < num AND pct < 100) DO CALL add_records(500); SET pct = dirty_pct(); - IF (pct Date: Sat, 31 Jan 2009 14:15:49 +0200 Subject: fixed bad merge of 5.1-main -> 5.1-bugteam --- mysql-test/r/change_user.result | 4 ++-- mysql-test/r/not_embedded_server.result | 2 ++ mysql-test/t/not_embedded_server.test | 40 +++++++++++++++++++++++++++++++++ 3 files changed, 44 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/change_user.result b/mysql-test/r/change_user.result index 70da464a612..096388ec611 100644 --- a/mysql-test/r/change_user.result +++ b/mysql-test/r/change_user.result @@ -47,7 +47,7 @@ NULL FLUSH STATUS; SHOW GLOBAL STATUS LIKE 'com_select'; Variable_name Value -Com_select 112 +Com_select 117 SHOW GLOBAL STATUS LIKE 'com_select'; Variable_name Value -Com_select 112 +Com_select 117 diff --git a/mysql-test/r/not_embedded_server.result b/mysql-test/r/not_embedded_server.result index e69de29bb2d..4373d6356d9 100644 --- a/mysql-test/r/not_embedded_server.result +++ b/mysql-test/r/not_embedded_server.result @@ -0,0 +1,2 @@ +FLUSH STATUS; +Value of com_select did not change diff --git a/mysql-test/t/not_embedded_server.test b/mysql-test/t/not_embedded_server.test index 4c7bbbda877..562194a62a4 100644 --- a/mysql-test/t/not_embedded_server.test +++ b/mysql-test/t/not_embedded_server.test @@ -32,4 +32,44 @@ #deallocate prepare stmt1; + +# +# Bug#31222: com_% global status counters behave randomly with +# mysql_change_user. +# +# Moved from change_user.test due to Bug#34517: SHOW GLOBAL STATUS does not +# work properly in embedded server. +# +# TODO: move it back when Bug#34517 is fixed. +# + +FLUSH STATUS; + +--disable_result_log +--disable_query_log + +let $i = 100; + +while ($i) +{ + dec $i; + + SELECT 1; +} + +--enable_query_log +--enable_result_log + +let $before= query_get_value(SHOW GLOBAL STATUS LIKE 'com_select',Value,1); + +--change_user + +let $after= query_get_value(SHOW GLOBAL STATUS LIKE 'com_select',Value,1); + +if (`select $after != $before`){ + SHOW GLOBAL STATUS LIKE 'com_select'; + die The value of com_select changed during change_user; +} +echo Value of com_select did not change; + # End of 5.1 tests -- cgit v1.2.1 From 6024134105df7b3e74b773e684b5bb7ab39ec9fa Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Sat, 31 Jan 2009 17:47:35 +0200 Subject: fixed some parts test suite bugs --- mysql-test/suite/parts/inc/partition_key_32col.inc | 2 +- .../suite/parts/r/ndb_dd_backuprestore.result | 24 +--- .../parts/r/part_supported_sql_func_ndb.result | 126 ++++++++++----------- .../suite/parts/t/partition_recover_myisam.test | 8 +- 4 files changed, 74 insertions(+), 86 deletions(-) diff --git a/mysql-test/suite/parts/inc/partition_key_32col.inc b/mysql-test/suite/parts/inc/partition_key_32col.inc index 614693902dc..74016d9b556 100644 --- a/mysql-test/suite/parts/inc/partition_key_32col.inc +++ b/mysql-test/suite/parts/inc/partition_key_32col.inc @@ -13,7 +13,7 @@ partition pa2 max_rows=30 min_rows=3, partition pa3 max_rows=30 min_rows=4, partition pa4 max_rows=40 min_rows=2); ---disable_abort_on error +#--disable_abort_on error show create table t1; insert into t1 values ('1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113,'1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113,'1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113, '1975-01-01', 'abcde', 'abcde','m', 1234, 123.45, 32412341234, 113, 'tbhth nrzh ztfghgfh fzh ftzhj fztjh'), diff --git a/mysql-test/suite/parts/r/ndb_dd_backuprestore.result b/mysql-test/suite/parts/r/ndb_dd_backuprestore.result index 768aa86c832..102a96a15f4 100644 --- a/mysql-test/suite/parts/r/ndb_dd_backuprestore.result +++ b/mysql-test/suite/parts/r/ndb_dd_backuprestore.result @@ -27,12 +27,8 @@ pk1 c2 c3 hex(c4) 3 Sweden 498 1 4 Sweden 497 1 5 Sweden 496 1 -CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info (id INT, backup_id INT) ENGINE = HEAP; -DELETE FROM test.backup_info; -LOAD DATA INFILE '../tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ','; -SELECT @the_backup_id:=backup_id FROM test.backup_info; -@the_backup_id:=backup_id - +CREATE TEMPORARY TABLE test.backup_info (id INT, backup_id INT) ENGINE = HEAP; +LOAD DATA INFILE 'DUMP_FILE' INTO TABLE test.backup_info FIELDS TERMINATED BY ','; DROP TABLE test.backup_info; DROP TABLE test.t1; ALTER TABLESPACE table_space1 @@ -95,12 +91,8 @@ LENGTH(data) SELECT LENGTH(data) FROM test.t4 WHERE c1 = 2; LENGTH(data) 16384 -CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info (id INT, backup_id INT) ENGINE = HEAP; -DELETE FROM test.backup_info; -LOAD DATA INFILE '../tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ','; -SELECT @the_backup_id:=backup_id FROM test.backup_info; -@the_backup_id:=backup_id - +CREATE TEMPORARY TABLE test.backup_info (id INT, backup_id INT) ENGINE = HEAP; +LOAD DATA INFILE 'DUMP_FILE' INTO TABLE test.backup_info FIELDS TERMINATED BY ','; DROP TABLE test.backup_info; DROP TABLE test.t1; DROP TABLE test.t2; @@ -325,12 +317,8 @@ pk1 c2 c3 hex(c4) 248 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 4 1 247 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 6 1 246 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 8 1 -CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info (id INT, backup_id INT) ENGINE = HEAP; -DELETE FROM test.backup_info; -LOAD DATA INFILE '../tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ','; -SELECT @the_backup_id:=backup_id FROM test.backup_info; -@the_backup_id:=backup_id - +CREATE TEMPORARY TABLE test.backup_info (id INT, backup_id INT) ENGINE = HEAP; +LOAD DATA INFILE 'DUMP_FILE' INTO TABLE test.backup_info FIELDS TERMINATED BY ','; DROP TABLE test.backup_info; DROP TABLE test.t1; DROP TABLE test.t2; diff --git a/mysql-test/suite/parts/r/part_supported_sql_func_ndb.result b/mysql-test/suite/parts/r/part_supported_sql_func_ndb.result index 1bacbc1b325..a1e10ee4a9c 100644 --- a/mysql-test/suite/parts/r/part_supported_sql_func_ndb.result +++ b/mysql-test/suite/parts/r/part_supported_sql_func_ndb.result @@ -53,9 +53,9 @@ insert into t2 values (17 ); insert into t3 values (5 ); insert into t3 values (13 ); insert into t3 values (17 ); -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_int.inc' into table t4; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_int.inc' into table t5; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_int.inc' into table t6; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_int.inc' into table t4; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_int.inc' into table t5; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_int.inc' into table t6; select abs(col1) from t1 order by col1; abs(col1) 5 @@ -1261,9 +1261,9 @@ insert into t2 values (17); insert into t3 values (5); insert into t3 values (19); insert into t3 values (17); -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_int.inc' into table t4; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_int.inc' into table t5; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_int.inc' into table t6; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_int.inc' into table t4; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_int.inc' into table t5; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_int.inc' into table t6; select mod(col1,10) from t1 order by col1; mod(col1,10) 5 @@ -2479,9 +2479,9 @@ insert into t2 values ('2006-01-25'); insert into t3 values ('2006-02-03'); insert into t3 values ('2006-01-17'); insert into t3 values ('2006-01-25'); -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6; select day(col1) from t1 order by col1; day(col1) 17 @@ -2867,9 +2867,9 @@ insert into t2 values ('2006-01-25'); insert into t3 values ('2006-02-03'); insert into t3 values ('2006-01-17'); insert into t3 values ('2006-01-25'); -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6; select dayofmonth(col1) from t1 order by col1; dayofmonth(col1) 17 @@ -3255,9 +3255,9 @@ insert into t2 values ('2006-01-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-02-17'); insert into t3 values ('2006-01-25'); -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6; select dayofweek(col1) from t1 order by col1; dayofweek(col1) 3 @@ -3653,9 +3653,9 @@ insert into t2 values ('2006-02-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-01-17'); insert into t3 values ('2006-02-25'); -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6; select dayofyear(col1) from t1 order by col1; dayofyear(col1) 3 @@ -4041,9 +4041,9 @@ insert into t2 values ('2006-02-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-01-17'); insert into t3 values ('2006-02-25'); -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6; select dayofyear(col1) from t1 order by col1; dayofyear(col1) 3 @@ -4429,9 +4429,9 @@ insert into t2 values ('2006-01-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-02-17'); insert into t3 values ('2006-01-25'); -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6; select extract(month from col1) from t1 order by col1; extract(month from col1) 1 @@ -4827,9 +4827,9 @@ insert into t2 values ('21:59'); insert into t3 values ('09:09'); insert into t3 values ('14:30'); insert into t3 values ('21:59'); -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t4; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t5; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t6; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t4; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t5; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t6; select hour(col1) from t1 order by col1; hour(col1) 9 @@ -5225,9 +5225,9 @@ insert into t2 values ('00:59:22.000024'); insert into t3 values ('09:09:15.000002'); insert into t3 values ('04:30:01.000018'); insert into t3 values ('00:59:22.000024'); -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t4; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t5; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t6; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t4; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t5; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t6; select microsecond(col1) from t1 order by col1; microsecond(col1) 0 @@ -5613,9 +5613,9 @@ insert into t2 values ('21:59:22'); insert into t3 values ('09:09:15'); insert into t3 values ('14:30:45'); insert into t3 values ('21:59:22'); -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t4; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t5; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t6; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t4; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t5; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t6; select minute(col1) from t1 order by col1; minute(col1) 9 @@ -6011,9 +6011,9 @@ insert into t2 values ('21:59:22'); insert into t3 values ('09:09:09'); insert into t3 values ('14:30:20'); insert into t3 values ('21:59:22'); -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t4; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t5; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t6; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t4; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t5; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t6; select second(col1) from t1 order by col1; second(col1) 9 @@ -6409,9 +6409,9 @@ insert into t2 values ('21:59:22'); insert into t3 values ('09:09:09'); insert into t3 values ('14:30:20'); insert into t3 values ('21:59:22'); -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t4; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t5; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t6; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t4; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t5; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t6; select second(col1) from t1 order by col1; second(col1) 9 @@ -6807,9 +6807,9 @@ insert into t2 values ('2006-05-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-12-17'); insert into t3 values ('2006-05-25'); -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6; select month(col1) from t1 order by col1; month(col1) 1 @@ -7205,9 +7205,9 @@ insert into t2 values ('2006-09-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-12-17'); insert into t3 values ('2006-09-25'); -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6; select quarter(col1) from t1 order by col1; quarter(col1) 1 @@ -7603,9 +7603,9 @@ insert into t2 values ('21:59:22'); insert into t3 values ('09:09:15'); insert into t3 values ('14:30:45'); insert into t3 values ('21:59:22'); -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t4; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t5; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_time.inc' into table t6; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t4; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t5; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_time.inc' into table t6; select time_to_sec(col1)-(time_to_sec(col1)-20) from t1 order by col1; time_to_sec(col1)-(time_to_sec(col1)-20) 20 @@ -8001,9 +8001,9 @@ insert into t2 values ('2006-01-25'); insert into t3 values ('2006-02-03'); insert into t3 values ('2006-01-17'); insert into t3 values ('2006-01-25'); -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6; select to_days(col1)-to_days('2006-01-01') from t1 order by col1; to_days(col1)-to_days('2006-01-01') 16 @@ -8389,9 +8389,9 @@ insert into t2 values ('2006-01-25'); insert into t3 values ('2006-02-03'); insert into t3 values ('2006-01-17'); insert into t3 values ('2006-01-25'); -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6; select datediff(col1, '2006-01-01') from t1 order by col1; datediff(col1, '2006-01-01') 16 @@ -8777,9 +8777,9 @@ insert into t2 values ('2006-05-25'); insert into t3 values ('2006-12-03'); insert into t3 values ('2006-11-17'); insert into t3 values ('2006-05-25'); -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6; select weekday(col1) from t1 order by col1; weekday(col1) 4 @@ -9175,9 +9175,9 @@ insert into t2 values ('2004-05-25'); insert into t3 values ('1996-01-03'); insert into t3 values ('2000-02-17'); insert into t3 values ('2004-05-25'); -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6; select year(col1)-1990 from t1 order by col1; year(col1)-1990 6 @@ -9573,9 +9573,9 @@ insert into t2 values ('2006-03-25'); insert into t3 values ('2006-01-03'); insert into t3 values ('2006-08-17'); insert into t3 values ('2006-03-25'); -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t4; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t5; -load data infile '../std_data_ln/parts/part_supported_sql_funcs_int_date.inc' into table t6; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t4; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t5; +load data infile 'MYSQLTEST_VARDIR/std_data/parts/part_supported_sql_funcs_int_date.inc' into table t6; select yearweek(col1)-200600 from t1 order by col1; yearweek(col1)-200600 1 diff --git a/mysql-test/suite/parts/t/partition_recover_myisam.test b/mysql-test/suite/parts/t/partition_recover_myisam.test index 69e45b3ef3c..f5f8e3560c0 100644 --- a/mysql-test/suite/parts/t/partition_recover_myisam.test +++ b/mysql-test/suite/parts/t/partition_recover_myisam.test @@ -12,8 +12,8 @@ INSERT INTO t1_will_crash VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (1 FLUSH TABLES; --echo # replacing t1.MYI with a corrupt + unclosed one created by doing: --echo # 'create table t1 (a int key(a))' head -c1024 t1.MYI > corrupt_t1.MYI ---remove_file $MYSQLTEST_VARDIR/master-data/test/t1_will_crash.MYI ---copy_file std_data/corrupt_t1.MYI $MYSQLTEST_VARDIR/master-data/test/t1_will_crash.MYI +--remove_file $MYSQLD_DATADIR/test/t1_will_crash.MYI +--copy_file std_data/corrupt_t1.MYI $MYSQLD_DATADIR/test/t1_will_crash.MYI SELECT * FROM t1_will_crash; DROP TABLE t1_will_crash; CREATE TABLE t1_will_crash (a INT, KEY (a)) @@ -25,7 +25,7 @@ FLUSH TABLES; --echo # replacing t1#P#p1.MYI with a corrupt + unclosed one created by doing: --echo # 'create table t1 (a int key(a)) partition by hash (a) partitions 3' --echo # head -c1024 t1#P#p1.MYI > corrupt_t1#P#p1.MYI ---remove_file $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p1.MYI ---copy_file std_data/corrupt_t1#P#p1.MYI $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p1.MYI +--remove_file $MYSQLD_DATADIR/test/t1_will_crash#P#p1.MYI +--copy_file std_data/corrupt_t1#P#p1.MYI $MYSQLD_DATADIR/test/t1_will_crash#P#p1.MYI SELECT * FROM t1_will_crash; DROP TABLE t1_will_crash; -- cgit v1.2.1 From 050cf69f11a1fdc844524a371119bfc473f580b7 Mon Sep 17 00:00:00 2001 From: Davi Arnaut Date: Sat, 31 Jan 2009 14:10:43 -0200 Subject: Fix test cases to preserve the state that existed before the test case was executed. mysql-test/r/func_compress.result: Update test case result. mysql-test/r/innodb_bug34300.result: Update test case result. mysql-test/t/func_compress.test: Disconnect connection and reset max_allowed_packet to it's default value. mysql-test/t/innodb_bug34300.test: Disconnect connection and reset max_allowed_packet to it's default value and enable query log. --- mysql-test/r/func_compress.result | 1 + mysql-test/r/innodb_bug34300.result | 5 +++++ mysql-test/t/func_compress.test | 3 +++ mysql-test/t/innodb_bug34300.test | 5 +++++ 4 files changed, 14 insertions(+) diff --git a/mysql-test/r/func_compress.result b/mysql-test/r/func_compress.result index def03deb351..8e14b7695ee 100644 --- a/mysql-test/r/func_compress.result +++ b/mysql-test/r/func_compress.result @@ -72,6 +72,7 @@ set @@global.max_allowed_packet=1048576*100; select compress(repeat('aaaaaaaaaa', IF(XXX, 10, 10000000))) is null; compress(repeat('aaaaaaaaaa', IF(XXX, 10, 10000000))) is null 0 +set @@global.max_allowed_packet=default; create table t1(a blob); insert into t1 values(NULL), (compress('a')); select uncompress(a), uncompressed_length(a) from t1; diff --git a/mysql-test/r/innodb_bug34300.result b/mysql-test/r/innodb_bug34300.result index ae9fee81ad7..03ae355de7b 100644 --- a/mysql-test/r/innodb_bug34300.result +++ b/mysql-test/r/innodb_bug34300.result @@ -1,4 +1,9 @@ +SELECT f4, f8 FROM bug34300; f4 f8 xxx zzz +ALTER TABLE bug34300 ADD COLUMN (f10 INT); +SELECT f4, f8 FROM bug34300; f4 f8 xxx zzz +DROP TABLE bug34300; +SET @@global.max_allowed_packet=default; diff --git a/mysql-test/t/func_compress.test b/mysql-test/t/func_compress.test index 7f17fd2180f..0a3a3823fee 100644 --- a/mysql-test/t/func_compress.test +++ b/mysql-test/t/func_compress.test @@ -49,6 +49,9 @@ set @@global.max_allowed_packet=1048576*100; # reconnect to make the new max packet size take effect --connect (newconn, localhost, root,,) eval select compress(repeat('aaaaaaaaaa', IF('$LOW_MEMORY', 10, 10000000))) is null; +disconnect newconn; +connection default; +set @@global.max_allowed_packet=default; # # Bug #18643: problem with null values diff --git a/mysql-test/t/innodb_bug34300.test b/mysql-test/t/innodb_bug34300.test index 114bcf98c25..432ddd03547 100644 --- a/mysql-test/t/innodb_bug34300.test +++ b/mysql-test/t/innodb_bug34300.test @@ -21,6 +21,7 @@ CREATE TABLE bug34300 ( INSERT INTO bug34300 VALUES ('xxx', repeat('a', 8459264), 'zzz'); +-- enable_query_log -- enable_result_log SELECT f4, f8 FROM bug34300; @@ -30,3 +31,7 @@ ALTER TABLE bug34300 ADD COLUMN (f10 INT); SELECT f4, f8 FROM bug34300; DROP TABLE bug34300; + +disconnect newconn; +connection default; +SET @@global.max_allowed_packet=default; -- cgit v1.2.1 From 7981a859f93bcd83130554fff2106b13c7ade20b Mon Sep 17 00:00:00 2001 From: Davi Arnaut Date: Sat, 31 Jan 2009 15:55:06 -0200 Subject: Post-merge fix for Bug#36326 mysql-test/r/cache_innodb.result: Update test case result. --- mysql-test/r/cache_innodb.result | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/r/cache_innodb.result b/mysql-test/r/cache_innodb.result index 31b56bbd55e..b59298727c5 100644 --- a/mysql-test/r/cache_innodb.result +++ b/mysql-test/r/cache_innodb.result @@ -217,6 +217,6 @@ Variable_name Value Qcache_queries_in_cache 1 show status like "Qcache_hits"; Variable_name Value -Qcache_hits 2 +Qcache_hits 1 set GLOBAL query_cache_size=1048576; drop table t2; -- cgit v1.2.1 From 234e8133d3aee784d0ef3748191fbb5939212232 Mon Sep 17 00:00:00 2001 From: Davi Arnaut Date: Sat, 31 Jan 2009 16:09:41 -0200 Subject: Fix test cases to preserve the state that existed before the test case was executed. mysql-test/include/concurrent.inc: Drop created user. mysql-test/r/concurrent_innodb_safelog.result: Update test case result. mysql-test/r/concurrent_innodb_unsafelog.result: Update test case result. --- mysql-test/include/concurrent.inc | 2 +- mysql-test/r/concurrent_innodb_safelog.result | 1 + mysql-test/r/concurrent_innodb_unsafelog.result | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/mysql-test/include/concurrent.inc b/mysql-test/include/concurrent.inc index febab1eceb4..3b34a5b1ede 100644 --- a/mysql-test/include/concurrent.inc +++ b/mysql-test/include/concurrent.inc @@ -637,7 +637,7 @@ drop table t1; --echo ** connection default connection default; drop table t1; - +drop user mysqltest@localhost; disconnect thread1; disconnect thread2; diff --git a/mysql-test/r/concurrent_innodb_safelog.result b/mysql-test/r/concurrent_innodb_safelog.result index 98e1205901a..92d274993d9 100644 --- a/mysql-test/r/concurrent_innodb_safelog.result +++ b/mysql-test/r/concurrent_innodb_safelog.result @@ -801,3 +801,4 @@ eta tipo c 90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ** connection default drop table t1; +drop user mysqltest@localhost; diff --git a/mysql-test/r/concurrent_innodb_unsafelog.result b/mysql-test/r/concurrent_innodb_unsafelog.result index 14973fe07d9..2a6c15d38c1 100644 --- a/mysql-test/r/concurrent_innodb_unsafelog.result +++ b/mysql-test/r/concurrent_innodb_unsafelog.result @@ -797,3 +797,4 @@ eta tipo c 90 11 kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ** connection default drop table t1; +drop user mysqltest@localhost; -- cgit v1.2.1 From c5b3125f009a5d2eee7006d66d241ebf62de6397 Mon Sep 17 00:00:00 2001 From: Davi Arnaut Date: Sat, 31 Jan 2009 17:22:59 -0200 Subject: Rename std_data_ln to std_data. --- mysql-test/suite/funcs_1/include/innodb_tb1.inc | 2 +- mysql-test/suite/funcs_1/include/innodb_tb2.inc | 2 +- mysql-test/suite/funcs_1/include/innodb_tb3.inc | 2 +- mysql-test/suite/funcs_1/include/innodb_tb4.inc | 2 +- mysql-test/suite/funcs_1/include/memory_tb1.inc | 2 +- mysql-test/suite/funcs_1/include/memory_tb2.inc | 2 +- mysql-test/suite/funcs_1/include/memory_tb3.inc | 2 +- mysql-test/suite/funcs_1/include/memory_tb4.inc | 2 +- mysql-test/suite/funcs_1/include/myisam_tb1.inc | 2 +- mysql-test/suite/funcs_1/include/myisam_tb2.inc | 2 +- mysql-test/suite/funcs_1/include/myisam_tb3.inc | 2 +- mysql-test/suite/funcs_1/include/myisam_tb4.inc | 2 +- mysql-test/suite/funcs_1/include/ndb_tb1.inc | 2 +- mysql-test/suite/funcs_1/include/ndb_tb2.inc | 2 +- mysql-test/suite/funcs_1/include/ndb_tb3.inc | 2 +- mysql-test/suite/funcs_1/include/ndb_tb4.inc | 2 +- mysql-test/suite/funcs_1/include/sp_tb.inc | 20 +++++++-------- mysql-test/suite/funcs_1/include/tb3.inc | 2 +- mysql-test/suite/funcs_1/r/innodb_func_view.result | 8 +++--- .../suite/funcs_1/r/innodb_storedproc_02.result | 20 +++++++-------- .../suite/funcs_1/r/innodb_storedproc_03.result | 20 +++++++-------- .../suite/funcs_1/r/innodb_storedproc_06.result | 20 +++++++-------- .../suite/funcs_1/r/innodb_storedproc_07.result | 20 +++++++-------- .../suite/funcs_1/r/innodb_storedproc_08.result | 20 +++++++-------- .../suite/funcs_1/r/innodb_storedproc_10.result | 20 +++++++-------- mysql-test/suite/funcs_1/r/innodb_trig_09.result | 2 +- .../suite/funcs_1/r/innodb_trig_1011ext.result | 4 +-- mysql-test/suite/funcs_1/r/innodb_views.result | 4 +-- .../suite/funcs_1/r/is_columns_innodb.result | 30 +++++++++++----------- .../suite/funcs_1/r/is_columns_memory.result | 30 +++++++++++----------- .../suite/funcs_1/r/is_columns_myisam.result | 30 +++++++++++----------- .../funcs_1/r/is_columns_myisam_embedded.result | 30 +++++++++++----------- mysql-test/suite/funcs_1/r/is_columns_ndb.result | 20 +++++++-------- mysql-test/suite/funcs_1/r/memory_func_view.result | 8 +++--- .../suite/funcs_1/r/memory_storedproc_02.result | 20 +++++++-------- .../suite/funcs_1/r/memory_storedproc_03.result | 20 +++++++-------- .../suite/funcs_1/r/memory_storedproc_06.result | 20 +++++++-------- .../suite/funcs_1/r/memory_storedproc_07.result | 20 +++++++-------- .../suite/funcs_1/r/memory_storedproc_08.result | 20 +++++++-------- .../suite/funcs_1/r/memory_storedproc_10.result | 20 +++++++-------- mysql-test/suite/funcs_1/r/memory_trig_09.result | 2 +- .../suite/funcs_1/r/memory_trig_1011ext.result | 4 +-- mysql-test/suite/funcs_1/r/memory_views.result | 4 +-- mysql-test/suite/funcs_1/r/myisam_func_view.result | 8 +++--- .../suite/funcs_1/r/myisam_storedproc_02.result | 20 +++++++-------- .../suite/funcs_1/r/myisam_storedproc_03.result | 20 +++++++-------- .../suite/funcs_1/r/myisam_storedproc_06.result | 20 +++++++-------- .../suite/funcs_1/r/myisam_storedproc_07.result | 20 +++++++-------- .../suite/funcs_1/r/myisam_storedproc_08.result | 20 +++++++-------- .../suite/funcs_1/r/myisam_storedproc_10.result | 20 +++++++-------- mysql-test/suite/funcs_1/r/myisam_trig_09.result | 2 +- .../suite/funcs_1/r/myisam_trig_1011ext.result | 4 +-- mysql-test/suite/funcs_1/r/myisam_views.result | 4 +-- mysql-test/suite/funcs_1/r/ndb_func_view.result | 8 +++--- .../suite/funcs_1/r/ndb_storedproc_02.result | 20 +++++++-------- .../suite/funcs_1/r/ndb_storedproc_03.result | 20 +++++++-------- .../suite/funcs_1/r/ndb_storedproc_06.result | 20 +++++++-------- .../suite/funcs_1/r/ndb_storedproc_07.result | 20 +++++++-------- .../suite/funcs_1/r/ndb_storedproc_08.result | 20 +++++++-------- .../suite/funcs_1/r/ndb_storedproc_10.result | 20 +++++++-------- mysql-test/suite/funcs_1/r/ndb_trig_09.result | 2 +- mysql-test/suite/funcs_1/r/ndb_trig_1011ext.result | 4 +-- mysql-test/suite/funcs_1/r/ndb_views.result | 4 +-- mysql-test/suite/funcs_1/r/storedproc.result | 20 +++++++-------- mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc | 20 +++++++-------- .../suite/funcs_1/t/is_engines_federated.test | 2 +- mysql-test/suite/funcs_1/triggers/triggers_09.inc | 2 +- .../suite/funcs_1/triggers/triggers_1011ext.inc | 4 +-- mysql-test/suite/funcs_1/views/func_view.inc | 2 +- 69 files changed, 398 insertions(+), 398 deletions(-) diff --git a/mysql-test/suite/funcs_1/include/innodb_tb1.inc b/mysql-test/suite/funcs_1/include/innodb_tb1.inc index c6b6395d91f..02d17eceddc 100644 --- a/mysql-test/suite/funcs_1/include/innodb_tb1.inc +++ b/mysql-test/suite/funcs_1/include/innodb_tb1.inc @@ -66,5 +66,5 @@ f58 numeric (64) not null DEFAULT 99 --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/innodb_tb1.txt' +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/innodb_tb1.txt' into table tb1; diff --git a/mysql-test/suite/funcs_1/include/innodb_tb2.inc b/mysql-test/suite/funcs_1/include/innodb_tb2.inc index b9a0910a0af..4e5ee091c74 100644 --- a/mysql-test/suite/funcs_1/include/innodb_tb2.inc +++ b/mysql-test/suite/funcs_1/include/innodb_tb2.inc @@ -59,5 +59,5 @@ f109 set("1set","2set") not null default "1set" --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/innodb_tb2.txt' +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/innodb_tb2.txt' into table tb2; diff --git a/mysql-test/suite/funcs_1/include/innodb_tb3.inc b/mysql-test/suite/funcs_1/include/innodb_tb3.inc index ffdb20b7eef..a9968632c5c 100644 --- a/mysql-test/suite/funcs_1/include/innodb_tb3.inc +++ b/mysql-test/suite/funcs_1/include/innodb_tb3.inc @@ -66,5 +66,5 @@ f175 numeric (64) --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/innodb_tb3.txt' +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/innodb_tb3.txt' into table tb3; diff --git a/mysql-test/suite/funcs_1/include/innodb_tb4.inc b/mysql-test/suite/funcs_1/include/innodb_tb4.inc index c7c919c829d..104b0e763be 100644 --- a/mysql-test/suite/funcs_1/include/innodb_tb4.inc +++ b/mysql-test/suite/funcs_1/include/innodb_tb4.inc @@ -66,5 +66,5 @@ f241 char(100) --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/innodb_tb4.txt' +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/innodb_tb4.txt' into table tb4; diff --git a/mysql-test/suite/funcs_1/include/memory_tb1.inc b/mysql-test/suite/funcs_1/include/memory_tb1.inc index 3a4ebb0c484..e15f14bffdc 100644 --- a/mysql-test/suite/funcs_1/include/memory_tb1.inc +++ b/mysql-test/suite/funcs_1/include/memory_tb1.inc @@ -58,5 +58,5 @@ f58 numeric (64) not null DEFAULT 99 --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/memory_tb1.txt' +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/memory_tb1.txt' into table tb1; diff --git a/mysql-test/suite/funcs_1/include/memory_tb2.inc b/mysql-test/suite/funcs_1/include/memory_tb2.inc index c059e565c64..272b86b9f03 100644 --- a/mysql-test/suite/funcs_1/include/memory_tb2.inc +++ b/mysql-test/suite/funcs_1/include/memory_tb2.inc @@ -59,5 +59,5 @@ f109 set("1set","2set") not null default "1set" --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/memory_tb2.txt' +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/memory_tb2.txt' into table tb2 ; diff --git a/mysql-test/suite/funcs_1/include/memory_tb3.inc b/mysql-test/suite/funcs_1/include/memory_tb3.inc index b5d4bb93f12..f384c1b59a8 100644 --- a/mysql-test/suite/funcs_1/include/memory_tb3.inc +++ b/mysql-test/suite/funcs_1/include/memory_tb3.inc @@ -60,5 +60,5 @@ f175 numeric (64) --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/memory_tb3.txt' +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/memory_tb3.txt' into table tb3; diff --git a/mysql-test/suite/funcs_1/include/memory_tb4.inc b/mysql-test/suite/funcs_1/include/memory_tb4.inc index 0cf17127d32..d3bab92af3d 100644 --- a/mysql-test/suite/funcs_1/include/memory_tb4.inc +++ b/mysql-test/suite/funcs_1/include/memory_tb4.inc @@ -65,5 +65,5 @@ f240 varchar(1200) --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/memory_tb4.txt' +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/memory_tb4.txt' into table tb4; diff --git a/mysql-test/suite/funcs_1/include/myisam_tb1.inc b/mysql-test/suite/funcs_1/include/myisam_tb1.inc index 1c95c6c53c0..261e6e926c8 100644 --- a/mysql-test/suite/funcs_1/include/myisam_tb1.inc +++ b/mysql-test/suite/funcs_1/include/myisam_tb1.inc @@ -66,5 +66,5 @@ f58 numeric (64) not null DEFAULT 99 --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/myisam_tb1.txt' +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/myisam_tb1.txt' into table tb1; diff --git a/mysql-test/suite/funcs_1/include/myisam_tb2.inc b/mysql-test/suite/funcs_1/include/myisam_tb2.inc index c878b1853f0..2a5584084c1 100644 --- a/mysql-test/suite/funcs_1/include/myisam_tb2.inc +++ b/mysql-test/suite/funcs_1/include/myisam_tb2.inc @@ -78,5 +78,5 @@ f117 VARBINARY(192) null --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/myisam_tb2.txt' +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/myisam_tb2.txt' into table tb2; diff --git a/mysql-test/suite/funcs_1/include/myisam_tb3.inc b/mysql-test/suite/funcs_1/include/myisam_tb3.inc index 209c2e13fbf..aa0bb5bbcac 100644 --- a/mysql-test/suite/funcs_1/include/myisam_tb3.inc +++ b/mysql-test/suite/funcs_1/include/myisam_tb3.inc @@ -66,5 +66,5 @@ f175 numeric (64) --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/myisam_tb3.txt' +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/myisam_tb3.txt' into table tb3; diff --git a/mysql-test/suite/funcs_1/include/myisam_tb4.inc b/mysql-test/suite/funcs_1/include/myisam_tb4.inc index d7e3a966579..23fa9af45bb 100644 --- a/mysql-test/suite/funcs_1/include/myisam_tb4.inc +++ b/mysql-test/suite/funcs_1/include/myisam_tb4.inc @@ -86,5 +86,5 @@ f242 bit(30) --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/myisam_tb4.txt' +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/myisam_tb4.txt' into table tb4; diff --git a/mysql-test/suite/funcs_1/include/ndb_tb1.inc b/mysql-test/suite/funcs_1/include/ndb_tb1.inc index 223a323b006..fd2db538b4c 100644 --- a/mysql-test/suite/funcs_1/include/ndb_tb1.inc +++ b/mysql-test/suite/funcs_1/include/ndb_tb1.inc @@ -66,5 +66,5 @@ f58 numeric (64) not null DEFAULT 99 --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/ndb_tb1.txt' +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/ndb_tb1.txt' into table tb1 ; diff --git a/mysql-test/suite/funcs_1/include/ndb_tb2.inc b/mysql-test/suite/funcs_1/include/ndb_tb2.inc index c1f56b9ece6..3a8d647b65f 100644 --- a/mysql-test/suite/funcs_1/include/ndb_tb2.inc +++ b/mysql-test/suite/funcs_1/include/ndb_tb2.inc @@ -59,5 +59,5 @@ f109 set("1set","2set") not null default "1set" --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/ndb_tb2.txt' +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/ndb_tb2.txt' into table tb2 ; diff --git a/mysql-test/suite/funcs_1/include/ndb_tb3.inc b/mysql-test/suite/funcs_1/include/ndb_tb3.inc index 77856a7f0be..6ade99bd1a2 100644 --- a/mysql-test/suite/funcs_1/include/ndb_tb3.inc +++ b/mysql-test/suite/funcs_1/include/ndb_tb3.inc @@ -66,5 +66,5 @@ f175 numeric (64) --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/ndb_tb3.txt' +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/ndb_tb3.txt' into table tb3; diff --git a/mysql-test/suite/funcs_1/include/ndb_tb4.inc b/mysql-test/suite/funcs_1/include/ndb_tb4.inc index 2a9349e6755..3eaae90179a 100644 --- a/mysql-test/suite/funcs_1/include/ndb_tb4.inc +++ b/mysql-test/suite/funcs_1/include/ndb_tb4.inc @@ -66,5 +66,5 @@ f241 char(100) unicode --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/ndb_tb4.txt' +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/ndb_tb4.txt' into table tb4 ; diff --git a/mysql-test/suite/funcs_1/include/sp_tb.inc b/mysql-test/suite/funcs_1/include/sp_tb.inc index ae1114fb5f1..53ee9deddcf 100644 --- a/mysql-test/suite/funcs_1/include/sp_tb.inc +++ b/mysql-test/suite/funcs_1/include/sp_tb.inc @@ -22,19 +22,19 @@ CREATE TABLE t11 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) ENGINE = $engine_type; --replace_result $MYSQLTEST_VARDIR eval -LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' INTO TABLE t1; +LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data/funcs_1/t4.txt' INTO TABLE t1; --replace_result $MYSQLTEST_VARDIR eval -LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' INTO TABLE t2; +LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data/funcs_1/t4.txt' INTO TABLE t2; --replace_result $MYSQLTEST_VARDIR eval -LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' INTO TABLE t4; +LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data/funcs_1/t4.txt' INTO TABLE t4; --replace_result $MYSQLTEST_VARDIR eval -LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' INTO TABLE t10; +LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data/funcs_1/t4.txt' INTO TABLE t10; --replace_result $MYSQLTEST_VARDIR eval -LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' INTO TABLE t11; +LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data/funcs_1/t4.txt' INTO TABLE t11; --disable_warnings @@ -44,7 +44,7 @@ eval CREATE TABLE t3 (f1 char(20), f2 char(20), f3 integer) ENGINE = $engine_type; --replace_result $MYSQLTEST_VARDIR eval -LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t3.txt' INTO TABLE t3; +LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data/funcs_1/t3.txt' INTO TABLE t3; #--------------------------- @@ -59,7 +59,7 @@ CREATE TABLE t6 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = $engine_type; --replace_result $MYSQLTEST_VARDIR eval -LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' INTO TABLE t6; +LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data/funcs_1/t4.txt' INTO TABLE t6; #--------------------------- use test; @@ -73,10 +73,10 @@ eval CREATE TABLE t8 (f1 char(20),f2 char(25),f3 date,f4 int) ENGINE = $engine_type; --replace_result $MYSQLTEST_VARDIR eval -LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t7.txt' INTO TABLE t7; +LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data/funcs_1/t7.txt' INTO TABLE t7; --replace_result $MYSQLTEST_VARDIR eval -LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t7.txt' INTO TABLE t8; +LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data/funcs_1/t7.txt' INTO TABLE t8; --disable_warnings @@ -85,5 +85,5 @@ drop TABLE if exists t9; eval CREATE TABLE t9 (f1 int, f2 char(25), f3 int) ENGINE = $engine_type; --replace_result $MYSQLTEST_VARDIR eval -LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t9.txt' INTO TABLE t9; +LOAD DATA INFILE '$MYSQLTEST_VARDIR/std_data/funcs_1/t9.txt' INTO TABLE t9; diff --git a/mysql-test/suite/funcs_1/include/tb3.inc b/mysql-test/suite/funcs_1/include/tb3.inc index 5e7dc369ddb..0f73c39cb47 100644 --- a/mysql-test/suite/funcs_1/include/tb3.inc +++ b/mysql-test/suite/funcs_1/include/tb3.inc @@ -2,7 +2,7 @@ # # This auxiliary script is used in several Trigger tests. # -# If the table need data than the file std_data_ln/funcs_1/memory_tb3.txt +# If the table need data than the file std_data/funcs_1/memory_tb3.txt # could be used. # diff --git a/mysql-test/suite/funcs_1/r/innodb_func_view.result b/mysql-test/suite/funcs_1/r/innodb_func_view.result index 96e4f23976b..1547c5461be 100644 --- a/mysql-test/suite/funcs_1/r/innodb_func_view.result +++ b/mysql-test/suite/funcs_1/r/innodb_func_view.result @@ -203,7 +203,7 @@ my_binary_30, id FROM t1_values'; SET @my_select = 'SELECT LENGTH(my_varbinary_1000), my_varbinary_1000, id FROM t1_values'; SET @my_select = -'SELECT LOAD_FILE(''/std_data_ln/funcs_1/load_file.txt'') +'SELECT LOAD_FILE(''/std_data/funcs_1/load_file.txt'') AS my_col, id FROM t1_values'; SET @my_select = 'SELECT LOCATE(''char'', my_char_30), @@ -811,10 +811,10 @@ WHERE select_id = 157 OR select_id IS NULL) order by id; DROP VIEW v1; -CREATE VIEW v1 AS SELECT LOAD_FILE('/std_data_ln/funcs_1/load_file.txt') +CREATE VIEW v1 AS SELECT LOAD_FILE('/std_data/funcs_1/load_file.txt') AS my_col, id FROM t1_values; -SELECT LOAD_FILE('/std_data_ln/funcs_1/load_file.txt') +SELECT LOAD_FILE('/std_data/funcs_1/load_file.txt') AS my_col, id FROM t1_values WHERE select_id = 156 OR select_id IS NULL order by id; @@ -831,7 +831,7 @@ Here is content from load_file 5 SHOW CREATE VIEW v1; View Create View character_set_client collation_connection -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select load_file('/std_data_ln/funcs_1/load_file.txt') AS `my_col`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select load_file('/std_data/funcs_1/load_file.txt') AS `my_col`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 156 OR select_id IS NULL) order by id; diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_02.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_02.result index 04fb7d29385..65fc5b5afc9 100644 --- a/mysql-test/suite/funcs_1/r/innodb_storedproc_02.result +++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_02.result @@ -11,23 +11,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -41,7 +41,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -54,13 +54,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.2 - Syntax checks for the stored procedure-specific programming statements BEGIN/END, DECLARE, SET, SELECT/INTO, OPEN, FETCH, CLOSE: diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_03.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_03.result index 53e25441e2e..fdbe03e17fc 100644 --- a/mysql-test/suite/funcs_1/r/innodb_storedproc_03.result +++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_03.result @@ -11,23 +11,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -41,7 +41,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -54,13 +54,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.3 - Syntax checks for the stored procedure-specific flow control statements IF, CASE, LOOP, LEAVE, ITERATE, REPEAT, WHILE: diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_06.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_06.result index 9695432ad99..67d9c76ccac 100644 --- a/mysql-test/suite/funcs_1/r/innodb_storedproc_06.result +++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_06.result @@ -11,23 +11,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -41,7 +41,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -54,13 +54,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.6 - Privilege Checks: -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_07.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_07.result index c4e8082fd7d..5a2c0bb6bdf 100644 --- a/mysql-test/suite/funcs_1/r/innodb_storedproc_07.result +++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_07.result @@ -11,23 +11,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -41,7 +41,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -54,13 +54,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.7 - SQL mode checks: -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result index 0bed3989f13..4209edc58a7 100644 --- a/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result +++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result @@ -11,23 +11,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -41,7 +41,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -54,13 +54,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.8 - SHOW statement checks: -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_10.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_10.result index 163bae36bed..24ebd38e403 100644 --- a/mysql-test/suite/funcs_1/r/innodb_storedproc_10.result +++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_10.result @@ -11,23 +11,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -41,7 +41,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -54,13 +54,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.10 - CALL checks: -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_09.result b/mysql-test/suite/funcs_1/r/innodb_trig_09.result index 0af360c5bfb..b2ed4321a8f 100644 --- a/mysql-test/suite/funcs_1/r/innodb_trig_09.result +++ b/mysql-test/suite/funcs_1/r/innodb_trig_09.result @@ -58,7 +58,7 @@ Warnings: Note 1265 Data truncated for column 'f150' at row 1 Note 1265 Data truncated for column 'f151' at row 1 Note 1265 Data truncated for column 'f152' at row 1 -load data infile '/std_data_ln/funcs_1/memory_tb3.txt' +load data infile '/std_data/funcs_1/memory_tb3.txt' into table tb3; Testcase 3.5.9.1/2: diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result b/mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result index 78265fac296..2709989ab86 100644 --- a/mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result +++ b/mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result @@ -58,7 +58,7 @@ Warnings: Note 1265 Data truncated for column 'f150' at row 1 Note 1265 Data truncated for column 'f151' at row 1 Note 1265 Data truncated for column 'f152' at row 1 -load data infile '/std_data_ln/funcs_1/memory_tb3.txt' +load data infile '/std_data/funcs_1/memory_tb3.txt' into table tb3; Testcase 3.5.10.1/2/3: @@ -136,7 +136,7 @@ set @counter= 0; select @counter as 'Rows Loaded Before'; Rows Loaded Before 0 -load data infile '/std_data_ln/funcs_1/t9.txt' into table tb_load; +load data infile '/std_data/funcs_1/t9.txt' into table tb_load; select @counter as 'Rows Loaded After'; Rows Loaded After 10 diff --git a/mysql-test/suite/funcs_1/r/innodb_views.result b/mysql-test/suite/funcs_1/r/innodb_views.result index 5abbc3b3481..bc0b101f90a 100644 --- a/mysql-test/suite/funcs_1/r/innodb_views.result +++ b/mysql-test/suite/funcs_1/r/innodb_views.result @@ -53,7 +53,7 @@ f107 year(4) not null default 2000, f108 enum("1enum","2enum") not null default "1enum", f109 set("1set","2set") not null default "1set" ) engine = innodb; -load data infile '/std_data_ln/funcs_1/innodb_tb2.txt' +load data infile '/std_data/funcs_1/innodb_tb2.txt' into table tb2; DROP DATABASE IF EXISTS test1; CREATE DATABASE test1; @@ -112,7 +112,7 @@ f107 year(4) not null default 2000, f108 enum("1enum","2enum") not null default "1enum", f109 set("1set","2set") not null default "1set" ) engine = innodb; -load data infile '/std_data_ln/funcs_1/innodb_tb2.txt' +load data infile '/std_data/funcs_1/innodb_tb2.txt' into table tb2; USE test; diff --git a/mysql-test/suite/funcs_1/r/is_columns_innodb.result b/mysql-test/suite/funcs_1/r/is_columns_innodb.result index 811e360e62d..27a00ebf10d 100644 --- a/mysql-test/suite/funcs_1/r/is_columns_innodb.result +++ b/mysql-test/suite/funcs_1/r/is_columns_innodb.result @@ -76,7 +76,7 @@ Note 1265 Data truncated for column 'f45' at row 1 Note 1265 Data truncated for column 'f47' at row 1 Note 1265 Data truncated for column 'f49' at row 1 Note 1265 Data truncated for column 'f51' at row 1 -load data infile '/std_data_ln/funcs_1/innodb_tb1.txt' +load data infile '/std_data/funcs_1/innodb_tb1.txt' into table tb1; drop table if exists tb2 ; create table tb2 ( @@ -132,7 +132,7 @@ f107 year(4) not null default 2000, f108 enum("1enum","2enum") not null default "1enum", f109 set("1set","2set") not null default "1set" ) engine = innodb; -load data infile '/std_data_ln/funcs_1/innodb_tb2.txt' +load data infile '/std_data/funcs_1/innodb_tb2.txt' into table tb2; drop table if exists tb3 ; create table tb3 ( @@ -199,7 +199,7 @@ Warnings: Note 1265 Data truncated for column 'f150' at row 1 Note 1265 Data truncated for column 'f151' at row 1 Note 1265 Data truncated for column 'f152' at row 1 -load data infile '/std_data_ln/funcs_1/innodb_tb3.txt' +load data infile '/std_data/funcs_1/innodb_tb3.txt' into table tb3; drop table if exists tb4; create table tb4 ( @@ -262,7 +262,7 @@ f239 varchar(20000) binary, f240 varchar(2000), f241 char(100) ) engine = innodb; -load data infile '/std_data_ln/funcs_1/innodb_tb4.txt' +load data infile '/std_data/funcs_1/innodb_tb4.txt' into table tb4; USE test1; drop table if exists tb2 ; @@ -319,7 +319,7 @@ f107 year(4) not null default 2000, f108 enum("1enum","2enum") not null default "1enum", f109 set("1set","2set") not null default "1set" ) engine = innodb; -load data infile '/std_data_ln/funcs_1/innodb_tb2.txt' +load data infile '/std_data/funcs_1/innodb_tb2.txt' into table tb2; USE test; USE test; @@ -334,25 +334,25 @@ CREATE TABLE t10 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) ENGINE = InnoDB; CREATE TABLE t11 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) ENGINE = InnoDB; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t1; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t2; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t4; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t10; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t11; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t1; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t2; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t4; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t10; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t11; drop TABLE if exists t3; CREATE TABLE t3 (f1 char(20), f2 char(20), f3 integer) ENGINE = InnoDB; -LOAD DATA INFILE '/std_data_ln/funcs_1/t3.txt' INTO TABLE t3; +LOAD DATA INFILE '/std_data/funcs_1/t3.txt' INTO TABLE t3; drop database if exists test4; CREATE database test4; use test4; CREATE TABLE t6 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = InnoDB; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t6; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t6; use test; drop TABLE if exists t7, t8; CREATE TABLE t7 (f1 char(20),f2 char(25),f3 date,f4 int) ENGINE = InnoDB; CREATE TABLE t8 (f1 char(20),f2 char(25),f3 date,f4 int) ENGINE = InnoDB; -LOAD DATA INFILE '/std_data_ln/funcs_1/t7.txt' INTO TABLE t7; +LOAD DATA INFILE '/std_data/funcs_1/t7.txt' INTO TABLE t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -364,7 +364,7 @@ Warning 1265 Data truncated for column 'f3' at row 7 Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 -LOAD DATA INFILE '/std_data_ln/funcs_1/t7.txt' INTO TABLE t8; +LOAD DATA INFILE '/std_data/funcs_1/t7.txt' INTO TABLE t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -378,7 +378,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 drop TABLE if exists t9; CREATE TABLE t9 (f1 int, f2 char(25), f3 int) ENGINE = InnoDB; -LOAD DATA INFILE '/std_data_ln/funcs_1/t9.txt' INTO TABLE t9; +LOAD DATA INFILE '/std_data/funcs_1/t9.txt' INTO TABLE t9; SELECT * FROM information_schema.columns WHERE table_schema LIKE 'test%' ORDER BY table_schema, table_name, column_name; diff --git a/mysql-test/suite/funcs_1/r/is_columns_memory.result b/mysql-test/suite/funcs_1/r/is_columns_memory.result index 3262f1e3fc8..9bcf7887c16 100644 --- a/mysql-test/suite/funcs_1/r/is_columns_memory.result +++ b/mysql-test/suite/funcs_1/r/is_columns_memory.result @@ -72,7 +72,7 @@ Note 1265 Data truncated for column 'f45' at row 1 Note 1265 Data truncated for column 'f47' at row 1 Note 1265 Data truncated for column 'f49' at row 1 Note 1265 Data truncated for column 'f51' at row 1 -load data infile '/std_data_ln/funcs_1/memory_tb1.txt' +load data infile '/std_data/funcs_1/memory_tb1.txt' into table tb1; drop table if exists tb2 ; create table tb2 ( @@ -128,7 +128,7 @@ f107 year(4) not null default 2000, f108 enum("1enum","2enum") not null default "1enum", f109 set("1set","2set") not null default "1set" ) engine = memory; -load data infile '/std_data_ln/funcs_1/memory_tb2.txt' +load data infile '/std_data/funcs_1/memory_tb2.txt' into table tb2 ; drop table if exists tb3; create table tb3 ( @@ -189,7 +189,7 @@ Warnings: Note 1265 Data truncated for column 'f150' at row 1 Note 1265 Data truncated for column 'f151' at row 1 Note 1265 Data truncated for column 'f152' at row 1 -load data infile '/std_data_ln/funcs_1/memory_tb3.txt' +load data infile '/std_data/funcs_1/memory_tb3.txt' into table tb3; drop table if exists tb4 ; create table tb4 ( @@ -251,7 +251,7 @@ f238 varchar(25000) binary, f239 varbinary(0), f240 varchar(1200) ) engine = memory; -load data infile '/std_data_ln/funcs_1/memory_tb4.txt' +load data infile '/std_data/funcs_1/memory_tb4.txt' into table tb4; USE test1; drop table if exists tb2 ; @@ -308,7 +308,7 @@ f107 year(4) not null default 2000, f108 enum("1enum","2enum") not null default "1enum", f109 set("1set","2set") not null default "1set" ) engine = memory; -load data infile '/std_data_ln/funcs_1/memory_tb2.txt' +load data infile '/std_data/funcs_1/memory_tb2.txt' into table tb2 ; USE test; USE test; @@ -323,25 +323,25 @@ CREATE TABLE t10 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) ENGINE = MEMORY; CREATE TABLE t11 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) ENGINE = MEMORY; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t1; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t2; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t4; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t10; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t11; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t1; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t2; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t4; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t10; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t11; drop TABLE if exists t3; CREATE TABLE t3 (f1 char(20), f2 char(20), f3 integer) ENGINE = MEMORY; -LOAD DATA INFILE '/std_data_ln/funcs_1/t3.txt' INTO TABLE t3; +LOAD DATA INFILE '/std_data/funcs_1/t3.txt' INTO TABLE t3; drop database if exists test4; CREATE database test4; use test4; CREATE TABLE t6 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = MEMORY; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t6; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t6; use test; drop TABLE if exists t7, t8; CREATE TABLE t7 (f1 char(20),f2 char(25),f3 date,f4 int) ENGINE = MEMORY; CREATE TABLE t8 (f1 char(20),f2 char(25),f3 date,f4 int) ENGINE = MEMORY; -LOAD DATA INFILE '/std_data_ln/funcs_1/t7.txt' INTO TABLE t7; +LOAD DATA INFILE '/std_data/funcs_1/t7.txt' INTO TABLE t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -353,7 +353,7 @@ Warning 1265 Data truncated for column 'f3' at row 7 Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 -LOAD DATA INFILE '/std_data_ln/funcs_1/t7.txt' INTO TABLE t8; +LOAD DATA INFILE '/std_data/funcs_1/t7.txt' INTO TABLE t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -367,7 +367,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 drop TABLE if exists t9; CREATE TABLE t9 (f1 int, f2 char(25), f3 int) ENGINE = MEMORY; -LOAD DATA INFILE '/std_data_ln/funcs_1/t9.txt' INTO TABLE t9; +LOAD DATA INFILE '/std_data/funcs_1/t9.txt' INTO TABLE t9; SELECT * FROM information_schema.columns WHERE table_schema LIKE 'test%' ORDER BY table_schema, table_name, column_name; diff --git a/mysql-test/suite/funcs_1/r/is_columns_myisam.result b/mysql-test/suite/funcs_1/r/is_columns_myisam.result index 1eed0774037..de047728826 100644 --- a/mysql-test/suite/funcs_1/r/is_columns_myisam.result +++ b/mysql-test/suite/funcs_1/r/is_columns_myisam.result @@ -80,7 +80,7 @@ Note 1265 Data truncated for column 'f45' at row 1 Note 1265 Data truncated for column 'f47' at row 1 Note 1265 Data truncated for column 'f49' at row 1 Note 1265 Data truncated for column 'f51' at row 1 -load data infile '/std_data_ln/funcs_1/myisam_tb1.txt' +load data infile '/std_data/funcs_1/myisam_tb1.txt' into table tb1; drop table if exists tb2 ; create table tb2 ( @@ -144,7 +144,7 @@ f115 VARBINARY(27) null , f116 VARBINARY(64) null, f117 VARBINARY(192) null ) engine = myisam; -load data infile '/std_data_ln/funcs_1/myisam_tb2.txt' +load data infile '/std_data/funcs_1/myisam_tb2.txt' into table tb2; drop table if exists tb3 ; create table tb3 ( @@ -211,7 +211,7 @@ Warnings: Note 1265 Data truncated for column 'f150' at row 1 Note 1265 Data truncated for column 'f151' at row 1 Note 1265 Data truncated for column 'f152' at row 1 -load data infile '/std_data_ln/funcs_1/myisam_tb3.txt' +load data infile '/std_data/funcs_1/myisam_tb3.txt' into table tb3; drop table if exists tb4 ; create table tb4 ( @@ -283,7 +283,7 @@ f240 varchar(120), f241 char(100), f242 bit(30) ) engine = myisam; -load data infile '/std_data_ln/funcs_1/myisam_tb4.txt' +load data infile '/std_data/funcs_1/myisam_tb4.txt' into table tb4; USE test1; drop table if exists tb2 ; @@ -348,7 +348,7 @@ f115 VARBINARY(27) null , f116 VARBINARY(64) null, f117 VARBINARY(192) null ) engine = myisam; -load data infile '/std_data_ln/funcs_1/myisam_tb2.txt' +load data infile '/std_data/funcs_1/myisam_tb2.txt' into table tb2; USE test; USE test; @@ -363,25 +363,25 @@ CREATE TABLE t10 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) ENGINE = MyISAM; CREATE TABLE t11 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) ENGINE = MyISAM; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t1; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t2; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t4; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t10; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t11; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t1; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t2; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t4; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t10; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t11; drop TABLE if exists t3; CREATE TABLE t3 (f1 char(20), f2 char(20), f3 integer) ENGINE = MyISAM; -LOAD DATA INFILE '/std_data_ln/funcs_1/t3.txt' INTO TABLE t3; +LOAD DATA INFILE '/std_data/funcs_1/t3.txt' INTO TABLE t3; drop database if exists test4; CREATE database test4; use test4; CREATE TABLE t6 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = MyISAM; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t6; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t6; use test; drop TABLE if exists t7, t8; CREATE TABLE t7 (f1 char(20),f2 char(25),f3 date,f4 int) ENGINE = MyISAM; CREATE TABLE t8 (f1 char(20),f2 char(25),f3 date,f4 int) ENGINE = MyISAM; -LOAD DATA INFILE '/std_data_ln/funcs_1/t7.txt' INTO TABLE t7; +LOAD DATA INFILE '/std_data/funcs_1/t7.txt' INTO TABLE t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -393,7 +393,7 @@ Warning 1265 Data truncated for column 'f3' at row 7 Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 -LOAD DATA INFILE '/std_data_ln/funcs_1/t7.txt' INTO TABLE t8; +LOAD DATA INFILE '/std_data/funcs_1/t7.txt' INTO TABLE t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -407,7 +407,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 drop TABLE if exists t9; CREATE TABLE t9 (f1 int, f2 char(25), f3 int) ENGINE = MyISAM; -LOAD DATA INFILE '/std_data_ln/funcs_1/t9.txt' INTO TABLE t9; +LOAD DATA INFILE '/std_data/funcs_1/t9.txt' INTO TABLE t9; SELECT * FROM information_schema.columns WHERE table_schema LIKE 'test%' ORDER BY table_schema, table_name, column_name; diff --git a/mysql-test/suite/funcs_1/r/is_columns_myisam_embedded.result b/mysql-test/suite/funcs_1/r/is_columns_myisam_embedded.result index e2204dd12ec..d22c5cc06f7 100644 --- a/mysql-test/suite/funcs_1/r/is_columns_myisam_embedded.result +++ b/mysql-test/suite/funcs_1/r/is_columns_myisam_embedded.result @@ -80,7 +80,7 @@ Note 1265 Data truncated for column 'f45' at row 1 Note 1265 Data truncated for column 'f47' at row 1 Note 1265 Data truncated for column 'f49' at row 1 Note 1265 Data truncated for column 'f51' at row 1 -load data infile '/std_data_ln/funcs_1/myisam_tb1.txt' +load data infile '/std_data/funcs_1/myisam_tb1.txt' into table tb1; drop table if exists tb2 ; create table tb2 ( @@ -144,7 +144,7 @@ f115 VARBINARY(27) null , f116 VARBINARY(64) null, f117 VARBINARY(192) null ) engine = myisam; -load data infile '/std_data_ln/funcs_1/myisam_tb2.txt' +load data infile '/std_data/funcs_1/myisam_tb2.txt' into table tb2; drop table if exists tb3 ; create table tb3 ( @@ -211,7 +211,7 @@ Warnings: Note 1265 Data truncated for column 'f150' at row 1 Note 1265 Data truncated for column 'f151' at row 1 Note 1265 Data truncated for column 'f152' at row 1 -load data infile '/std_data_ln/funcs_1/myisam_tb3.txt' +load data infile '/std_data/funcs_1/myisam_tb3.txt' into table tb3; drop table if exists tb4 ; create table tb4 ( @@ -283,7 +283,7 @@ f240 varchar(120), f241 char(100), f242 bit(30) ) engine = myisam; -load data infile '/std_data_ln/funcs_1/myisam_tb4.txt' +load data infile '/std_data/funcs_1/myisam_tb4.txt' into table tb4; USE test1; drop table if exists tb2 ; @@ -348,7 +348,7 @@ f115 VARBINARY(27) null , f116 VARBINARY(64) null, f117 VARBINARY(192) null ) engine = myisam; -load data infile '/std_data_ln/funcs_1/myisam_tb2.txt' +load data infile '/std_data/funcs_1/myisam_tb2.txt' into table tb2; USE test; USE test; @@ -363,25 +363,25 @@ CREATE TABLE t10 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) ENGINE = MyISAM; CREATE TABLE t11 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) ENGINE = MyISAM; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t1; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t2; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t4; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t10; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t11; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t1; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t2; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t4; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t10; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t11; drop TABLE if exists t3; CREATE TABLE t3 (f1 char(20), f2 char(20), f3 integer) ENGINE = MyISAM; -LOAD DATA INFILE '/std_data_ln/funcs_1/t3.txt' INTO TABLE t3; +LOAD DATA INFILE '/std_data/funcs_1/t3.txt' INTO TABLE t3; drop database if exists test4; CREATE database test4; use test4; CREATE TABLE t6 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = MyISAM; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t6; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t6; use test; drop TABLE if exists t7, t8; CREATE TABLE t7 (f1 char(20),f2 char(25),f3 date,f4 int) ENGINE = MyISAM; CREATE TABLE t8 (f1 char(20),f2 char(25),f3 date,f4 int) ENGINE = MyISAM; -LOAD DATA INFILE '/std_data_ln/funcs_1/t7.txt' INTO TABLE t7; +LOAD DATA INFILE '/std_data/funcs_1/t7.txt' INTO TABLE t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -393,7 +393,7 @@ Warning 1265 Data truncated for column 'f3' at row 7 Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 -LOAD DATA INFILE '/std_data_ln/funcs_1/t7.txt' INTO TABLE t8; +LOAD DATA INFILE '/std_data/funcs_1/t7.txt' INTO TABLE t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -407,7 +407,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 drop TABLE if exists t9; CREATE TABLE t9 (f1 int, f2 char(25), f3 int) ENGINE = MyISAM; -LOAD DATA INFILE '/std_data_ln/funcs_1/t9.txt' INTO TABLE t9; +LOAD DATA INFILE '/std_data/funcs_1/t9.txt' INTO TABLE t9; SELECT * FROM information_schema.columns WHERE table_schema LIKE 'test%' ORDER BY table_schema, table_name, column_name; diff --git a/mysql-test/suite/funcs_1/r/is_columns_ndb.result b/mysql-test/suite/funcs_1/r/is_columns_ndb.result index 444c62eb010..dcaceec337e 100644 --- a/mysql-test/suite/funcs_1/r/is_columns_ndb.result +++ b/mysql-test/suite/funcs_1/r/is_columns_ndb.result @@ -14,25 +14,25 @@ CREATE TABLE t10 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) ENGINE = ndb; CREATE TABLE t11 (f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) ENGINE = ndb; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t1; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t2; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t4; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t10; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t11; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t1; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t2; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t4; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t10; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t11; drop TABLE if exists t3; CREATE TABLE t3 (f1 char(20), f2 char(20), f3 integer) ENGINE = ndb; -LOAD DATA INFILE '/std_data_ln/funcs_1/t3.txt' INTO TABLE t3; +LOAD DATA INFILE '/std_data/funcs_1/t3.txt' INTO TABLE t3; drop database if exists test4; CREATE database test4; use test4; CREATE TABLE t6 (f1 char(20), f2 char(25), f3 date, f4 int, f5 char(25), f6 int) ENGINE = ndb; -LOAD DATA INFILE '/std_data_ln/funcs_1/t4.txt' INTO TABLE t6; +LOAD DATA INFILE '/std_data/funcs_1/t4.txt' INTO TABLE t6; use test; drop TABLE if exists t7, t8; CREATE TABLE t7 (f1 char(20),f2 char(25),f3 date,f4 int) ENGINE = ndb; CREATE TABLE t8 (f1 char(20),f2 char(25),f3 date,f4 int) ENGINE = ndb; -LOAD DATA INFILE '/std_data_ln/funcs_1/t7.txt' INTO TABLE t7; +LOAD DATA INFILE '/std_data/funcs_1/t7.txt' INTO TABLE t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -44,7 +44,7 @@ Warning 1265 Data truncated for column 'f3' at row 7 Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 -LOAD DATA INFILE '/std_data_ln/funcs_1/t7.txt' INTO TABLE t8; +LOAD DATA INFILE '/std_data/funcs_1/t7.txt' INTO TABLE t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -58,7 +58,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 drop TABLE if exists t9; CREATE TABLE t9 (f1 int, f2 char(25), f3 int) ENGINE = ndb; -LOAD DATA INFILE '/std_data_ln/funcs_1/t9.txt' INTO TABLE t9; +LOAD DATA INFILE '/std_data/funcs_1/t9.txt' INTO TABLE t9; SELECT * FROM information_schema.columns WHERE table_schema LIKE 'test%' ORDER BY table_schema, table_name, column_name; diff --git a/mysql-test/suite/funcs_1/r/memory_func_view.result b/mysql-test/suite/funcs_1/r/memory_func_view.result index 0c72136aa8d..9a2b0a6a293 100644 --- a/mysql-test/suite/funcs_1/r/memory_func_view.result +++ b/mysql-test/suite/funcs_1/r/memory_func_view.result @@ -204,7 +204,7 @@ my_binary_30, id FROM t1_values'; SET @my_select = 'SELECT LENGTH(my_varbinary_1000), my_varbinary_1000, id FROM t1_values'; SET @my_select = -'SELECT LOAD_FILE(''/std_data_ln/funcs_1/load_file.txt'') +'SELECT LOAD_FILE(''/std_data/funcs_1/load_file.txt'') AS my_col, id FROM t1_values'; SET @my_select = 'SELECT LOCATE(''char'', my_char_30), @@ -812,10 +812,10 @@ WHERE select_id = 157 OR select_id IS NULL) order by id; DROP VIEW v1; -CREATE VIEW v1 AS SELECT LOAD_FILE('/std_data_ln/funcs_1/load_file.txt') +CREATE VIEW v1 AS SELECT LOAD_FILE('/std_data/funcs_1/load_file.txt') AS my_col, id FROM t1_values; -SELECT LOAD_FILE('/std_data_ln/funcs_1/load_file.txt') +SELECT LOAD_FILE('/std_data/funcs_1/load_file.txt') AS my_col, id FROM t1_values WHERE select_id = 156 OR select_id IS NULL order by id; @@ -832,7 +832,7 @@ Here is content from load_file 5 SHOW CREATE VIEW v1; View Create View character_set_client collation_connection -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select load_file('/std_data_ln/funcs_1/load_file.txt') AS `my_col`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select load_file('/std_data/funcs_1/load_file.txt') AS `my_col`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 156 OR select_id IS NULL) order by id; diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc_02.result b/mysql-test/suite/funcs_1/r/memory_storedproc_02.result index 50f3536951e..6b474621685 100644 --- a/mysql-test/suite/funcs_1/r/memory_storedproc_02.result +++ b/mysql-test/suite/funcs_1/r/memory_storedproc_02.result @@ -12,23 +12,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -42,7 +42,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -55,13 +55,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.2 - Syntax checks for the stored procedure-specific programming statements BEGIN/END, DECLARE, SET, SELECT/INTO, OPEN, FETCH, CLOSE: diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc_03.result b/mysql-test/suite/funcs_1/r/memory_storedproc_03.result index 81c82ea1c8d..f5e40d190a6 100644 --- a/mysql-test/suite/funcs_1/r/memory_storedproc_03.result +++ b/mysql-test/suite/funcs_1/r/memory_storedproc_03.result @@ -12,23 +12,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -42,7 +42,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -55,13 +55,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.3 - Syntax checks for the stored procedure-specific flow control statements IF, CASE, LOOP, LEAVE, ITERATE, REPEAT, WHILE: diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc_06.result b/mysql-test/suite/funcs_1/r/memory_storedproc_06.result index 91c0c315287..eb617c68ae9 100644 --- a/mysql-test/suite/funcs_1/r/memory_storedproc_06.result +++ b/mysql-test/suite/funcs_1/r/memory_storedproc_06.result @@ -12,23 +12,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -42,7 +42,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -55,13 +55,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.6 - Privilege Checks: -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc_07.result b/mysql-test/suite/funcs_1/r/memory_storedproc_07.result index fe582c7f0f1..596b63316ce 100644 --- a/mysql-test/suite/funcs_1/r/memory_storedproc_07.result +++ b/mysql-test/suite/funcs_1/r/memory_storedproc_07.result @@ -12,23 +12,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -42,7 +42,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -55,13 +55,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.7 - SQL mode checks: -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc_08.result b/mysql-test/suite/funcs_1/r/memory_storedproc_08.result index 53ba16ed196..b925d579896 100644 --- a/mysql-test/suite/funcs_1/r/memory_storedproc_08.result +++ b/mysql-test/suite/funcs_1/r/memory_storedproc_08.result @@ -12,23 +12,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -42,7 +42,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -55,13 +55,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.8 - SHOW statement checks: -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc_10.result b/mysql-test/suite/funcs_1/r/memory_storedproc_10.result index e7f7643c25a..f5e34b0063c 100644 --- a/mysql-test/suite/funcs_1/r/memory_storedproc_10.result +++ b/mysql-test/suite/funcs_1/r/memory_storedproc_10.result @@ -12,23 +12,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -42,7 +42,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -55,13 +55,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.10 - CALL checks: -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/memory_trig_09.result b/mysql-test/suite/funcs_1/r/memory_trig_09.result index 7ffbba05e81..aa9d93403dd 100644 --- a/mysql-test/suite/funcs_1/r/memory_trig_09.result +++ b/mysql-test/suite/funcs_1/r/memory_trig_09.result @@ -59,7 +59,7 @@ Warnings: Note 1265 Data truncated for column 'f150' at row 1 Note 1265 Data truncated for column 'f151' at row 1 Note 1265 Data truncated for column 'f152' at row 1 -load data infile '/std_data_ln/funcs_1/memory_tb3.txt' +load data infile '/std_data/funcs_1/memory_tb3.txt' into table tb3; Testcase 3.5.9.1/2: diff --git a/mysql-test/suite/funcs_1/r/memory_trig_1011ext.result b/mysql-test/suite/funcs_1/r/memory_trig_1011ext.result index 2f8552ece21..bfd5b36069a 100644 --- a/mysql-test/suite/funcs_1/r/memory_trig_1011ext.result +++ b/mysql-test/suite/funcs_1/r/memory_trig_1011ext.result @@ -59,7 +59,7 @@ Warnings: Note 1265 Data truncated for column 'f150' at row 1 Note 1265 Data truncated for column 'f151' at row 1 Note 1265 Data truncated for column 'f152' at row 1 -load data infile '/std_data_ln/funcs_1/memory_tb3.txt' +load data infile '/std_data/funcs_1/memory_tb3.txt' into table tb3; Testcase 3.5.10.1/2/3: @@ -137,7 +137,7 @@ set @counter= 0; select @counter as 'Rows Loaded Before'; Rows Loaded Before 0 -load data infile '/std_data_ln/funcs_1/t9.txt' into table tb_load; +load data infile '/std_data/funcs_1/t9.txt' into table tb_load; select @counter as 'Rows Loaded After'; Rows Loaded After 10 diff --git a/mysql-test/suite/funcs_1/r/memory_views.result b/mysql-test/suite/funcs_1/r/memory_views.result index 743d3a213ec..2eba325db23 100644 --- a/mysql-test/suite/funcs_1/r/memory_views.result +++ b/mysql-test/suite/funcs_1/r/memory_views.result @@ -54,7 +54,7 @@ f107 year(4) not null default 2000, f108 enum("1enum","2enum") not null default "1enum", f109 set("1set","2set") not null default "1set" ) engine = memory; -load data infile '/std_data_ln/funcs_1/memory_tb2.txt' +load data infile '/std_data/funcs_1/memory_tb2.txt' into table tb2 ; DROP DATABASE IF EXISTS test1; CREATE DATABASE test1; @@ -113,7 +113,7 @@ f107 year(4) not null default 2000, f108 enum("1enum","2enum") not null default "1enum", f109 set("1set","2set") not null default "1set" ) engine = memory; -load data infile '/std_data_ln/funcs_1/memory_tb2.txt' +load data infile '/std_data/funcs_1/memory_tb2.txt' into table tb2 ; USE test; diff --git a/mysql-test/suite/funcs_1/r/myisam_func_view.result b/mysql-test/suite/funcs_1/r/myisam_func_view.result index 0c72136aa8d..9a2b0a6a293 100644 --- a/mysql-test/suite/funcs_1/r/myisam_func_view.result +++ b/mysql-test/suite/funcs_1/r/myisam_func_view.result @@ -204,7 +204,7 @@ my_binary_30, id FROM t1_values'; SET @my_select = 'SELECT LENGTH(my_varbinary_1000), my_varbinary_1000, id FROM t1_values'; SET @my_select = -'SELECT LOAD_FILE(''/std_data_ln/funcs_1/load_file.txt'') +'SELECT LOAD_FILE(''/std_data/funcs_1/load_file.txt'') AS my_col, id FROM t1_values'; SET @my_select = 'SELECT LOCATE(''char'', my_char_30), @@ -812,10 +812,10 @@ WHERE select_id = 157 OR select_id IS NULL) order by id; DROP VIEW v1; -CREATE VIEW v1 AS SELECT LOAD_FILE('/std_data_ln/funcs_1/load_file.txt') +CREATE VIEW v1 AS SELECT LOAD_FILE('/std_data/funcs_1/load_file.txt') AS my_col, id FROM t1_values; -SELECT LOAD_FILE('/std_data_ln/funcs_1/load_file.txt') +SELECT LOAD_FILE('/std_data/funcs_1/load_file.txt') AS my_col, id FROM t1_values WHERE select_id = 156 OR select_id IS NULL order by id; @@ -832,7 +832,7 @@ Here is content from load_file 5 SHOW CREATE VIEW v1; View Create View character_set_client collation_connection -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select load_file('/std_data_ln/funcs_1/load_file.txt') AS `my_col`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select load_file('/std_data/funcs_1/load_file.txt') AS `my_col`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 156 OR select_id IS NULL) order by id; diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc_02.result b/mysql-test/suite/funcs_1/r/myisam_storedproc_02.result index 50f3536951e..6b474621685 100644 --- a/mysql-test/suite/funcs_1/r/myisam_storedproc_02.result +++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_02.result @@ -12,23 +12,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -42,7 +42,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -55,13 +55,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.2 - Syntax checks for the stored procedure-specific programming statements BEGIN/END, DECLARE, SET, SELECT/INTO, OPEN, FETCH, CLOSE: diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc_03.result b/mysql-test/suite/funcs_1/r/myisam_storedproc_03.result index 81c82ea1c8d..f5e40d190a6 100644 --- a/mysql-test/suite/funcs_1/r/myisam_storedproc_03.result +++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_03.result @@ -12,23 +12,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -42,7 +42,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -55,13 +55,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.3 - Syntax checks for the stored procedure-specific flow control statements IF, CASE, LOOP, LEAVE, ITERATE, REPEAT, WHILE: diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc_06.result b/mysql-test/suite/funcs_1/r/myisam_storedproc_06.result index 91c0c315287..eb617c68ae9 100644 --- a/mysql-test/suite/funcs_1/r/myisam_storedproc_06.result +++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_06.result @@ -12,23 +12,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -42,7 +42,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -55,13 +55,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.6 - Privilege Checks: -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc_07.result b/mysql-test/suite/funcs_1/r/myisam_storedproc_07.result index fe582c7f0f1..596b63316ce 100644 --- a/mysql-test/suite/funcs_1/r/myisam_storedproc_07.result +++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_07.result @@ -12,23 +12,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -42,7 +42,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -55,13 +55,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.7 - SQL mode checks: -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc_08.result b/mysql-test/suite/funcs_1/r/myisam_storedproc_08.result index 53ba16ed196..b925d579896 100644 --- a/mysql-test/suite/funcs_1/r/myisam_storedproc_08.result +++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_08.result @@ -12,23 +12,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -42,7 +42,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -55,13 +55,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.8 - SHOW statement checks: -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc_10.result b/mysql-test/suite/funcs_1/r/myisam_storedproc_10.result index e7f7643c25a..f5e34b0063c 100644 --- a/mysql-test/suite/funcs_1/r/myisam_storedproc_10.result +++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_10.result @@ -12,23 +12,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -42,7 +42,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -55,13 +55,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.10 - CALL checks: -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_09.result b/mysql-test/suite/funcs_1/r/myisam_trig_09.result index 7ffbba05e81..aa9d93403dd 100644 --- a/mysql-test/suite/funcs_1/r/myisam_trig_09.result +++ b/mysql-test/suite/funcs_1/r/myisam_trig_09.result @@ -59,7 +59,7 @@ Warnings: Note 1265 Data truncated for column 'f150' at row 1 Note 1265 Data truncated for column 'f151' at row 1 Note 1265 Data truncated for column 'f152' at row 1 -load data infile '/std_data_ln/funcs_1/memory_tb3.txt' +load data infile '/std_data/funcs_1/memory_tb3.txt' into table tb3; Testcase 3.5.9.1/2: diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result b/mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result index 9add82e24be..74e741319fd 100644 --- a/mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result +++ b/mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result @@ -59,7 +59,7 @@ Warnings: Note 1265 Data truncated for column 'f150' at row 1 Note 1265 Data truncated for column 'f151' at row 1 Note 1265 Data truncated for column 'f152' at row 1 -load data infile '/std_data_ln/funcs_1/memory_tb3.txt' +load data infile '/std_data/funcs_1/memory_tb3.txt' into table tb3; Testcase 3.5.10.1/2/3: @@ -137,7 +137,7 @@ set @counter= 0; select @counter as 'Rows Loaded Before'; Rows Loaded Before 0 -load data infile '/std_data_ln/funcs_1/t9.txt' into table tb_load; +load data infile '/std_data/funcs_1/t9.txt' into table tb_load; select @counter as 'Rows Loaded After'; Rows Loaded After 10 diff --git a/mysql-test/suite/funcs_1/r/myisam_views.result b/mysql-test/suite/funcs_1/r/myisam_views.result index 8c58d8eed7b..3fcd8113df5 100644 --- a/mysql-test/suite/funcs_1/r/myisam_views.result +++ b/mysql-test/suite/funcs_1/r/myisam_views.result @@ -62,7 +62,7 @@ f115 VARBINARY(27) null , f116 VARBINARY(64) null, f117 VARBINARY(192) null ) engine = myisam; -load data infile '/std_data_ln/funcs_1/myisam_tb2.txt' +load data infile '/std_data/funcs_1/myisam_tb2.txt' into table tb2; DROP DATABASE IF EXISTS test1; CREATE DATABASE test1; @@ -129,7 +129,7 @@ f115 VARBINARY(27) null , f116 VARBINARY(64) null, f117 VARBINARY(192) null ) engine = myisam; -load data infile '/std_data_ln/funcs_1/myisam_tb2.txt' +load data infile '/std_data/funcs_1/myisam_tb2.txt' into table tb2; USE test; diff --git a/mysql-test/suite/funcs_1/r/ndb_func_view.result b/mysql-test/suite/funcs_1/r/ndb_func_view.result index 96e4f23976b..1547c5461be 100644 --- a/mysql-test/suite/funcs_1/r/ndb_func_view.result +++ b/mysql-test/suite/funcs_1/r/ndb_func_view.result @@ -203,7 +203,7 @@ my_binary_30, id FROM t1_values'; SET @my_select = 'SELECT LENGTH(my_varbinary_1000), my_varbinary_1000, id FROM t1_values'; SET @my_select = -'SELECT LOAD_FILE(''/std_data_ln/funcs_1/load_file.txt'') +'SELECT LOAD_FILE(''/std_data/funcs_1/load_file.txt'') AS my_col, id FROM t1_values'; SET @my_select = 'SELECT LOCATE(''char'', my_char_30), @@ -811,10 +811,10 @@ WHERE select_id = 157 OR select_id IS NULL) order by id; DROP VIEW v1; -CREATE VIEW v1 AS SELECT LOAD_FILE('/std_data_ln/funcs_1/load_file.txt') +CREATE VIEW v1 AS SELECT LOAD_FILE('/std_data/funcs_1/load_file.txt') AS my_col, id FROM t1_values; -SELECT LOAD_FILE('/std_data_ln/funcs_1/load_file.txt') +SELECT LOAD_FILE('/std_data/funcs_1/load_file.txt') AS my_col, id FROM t1_values WHERE select_id = 156 OR select_id IS NULL order by id; @@ -831,7 +831,7 @@ Here is content from load_file 5 SHOW CREATE VIEW v1; View Create View character_set_client collation_connection -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select load_file('/std_data_ln/funcs_1/load_file.txt') AS `my_col`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select load_file('/std_data/funcs_1/load_file.txt') AS `my_col`,`t1_values`.`id` AS `id` from `t1_values` latin1 latin1_swedish_ci SELECT v1.* FROM v1 WHERE v1.id IN (SELECT id FROM t1_values WHERE select_id = 156 OR select_id IS NULL) order by id; diff --git a/mysql-test/suite/funcs_1/r/ndb_storedproc_02.result b/mysql-test/suite/funcs_1/r/ndb_storedproc_02.result index 04fb7d29385..65fc5b5afc9 100644 --- a/mysql-test/suite/funcs_1/r/ndb_storedproc_02.result +++ b/mysql-test/suite/funcs_1/r/ndb_storedproc_02.result @@ -11,23 +11,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -41,7 +41,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -54,13 +54,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.2 - Syntax checks for the stored procedure-specific programming statements BEGIN/END, DECLARE, SET, SELECT/INTO, OPEN, FETCH, CLOSE: diff --git a/mysql-test/suite/funcs_1/r/ndb_storedproc_03.result b/mysql-test/suite/funcs_1/r/ndb_storedproc_03.result index 53e25441e2e..fdbe03e17fc 100644 --- a/mysql-test/suite/funcs_1/r/ndb_storedproc_03.result +++ b/mysql-test/suite/funcs_1/r/ndb_storedproc_03.result @@ -11,23 +11,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -41,7 +41,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -54,13 +54,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.3 - Syntax checks for the stored procedure-specific flow control statements IF, CASE, LOOP, LEAVE, ITERATE, REPEAT, WHILE: diff --git a/mysql-test/suite/funcs_1/r/ndb_storedproc_06.result b/mysql-test/suite/funcs_1/r/ndb_storedproc_06.result index 9695432ad99..67d9c76ccac 100644 --- a/mysql-test/suite/funcs_1/r/ndb_storedproc_06.result +++ b/mysql-test/suite/funcs_1/r/ndb_storedproc_06.result @@ -11,23 +11,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -41,7 +41,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -54,13 +54,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.6 - Privilege Checks: -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/ndb_storedproc_07.result b/mysql-test/suite/funcs_1/r/ndb_storedproc_07.result index c4e8082fd7d..5a2c0bb6bdf 100644 --- a/mysql-test/suite/funcs_1/r/ndb_storedproc_07.result +++ b/mysql-test/suite/funcs_1/r/ndb_storedproc_07.result @@ -11,23 +11,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -41,7 +41,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -54,13 +54,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.7 - SQL mode checks: -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/ndb_storedproc_08.result b/mysql-test/suite/funcs_1/r/ndb_storedproc_08.result index 0bed3989f13..4209edc58a7 100644 --- a/mysql-test/suite/funcs_1/r/ndb_storedproc_08.result +++ b/mysql-test/suite/funcs_1/r/ndb_storedproc_08.result @@ -11,23 +11,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -41,7 +41,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -54,13 +54,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.8 - SHOW statement checks: -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/ndb_storedproc_10.result b/mysql-test/suite/funcs_1/r/ndb_storedproc_10.result index 163bae36bed..24ebd38e403 100644 --- a/mysql-test/suite/funcs_1/r/ndb_storedproc_10.result +++ b/mysql-test/suite/funcs_1/r/ndb_storedproc_10.result @@ -11,23 +11,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -41,7 +41,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -54,13 +54,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.10 - CALL checks: -------------------------------------------------------------------------------- diff --git a/mysql-test/suite/funcs_1/r/ndb_trig_09.result b/mysql-test/suite/funcs_1/r/ndb_trig_09.result index 0af360c5bfb..b2ed4321a8f 100644 --- a/mysql-test/suite/funcs_1/r/ndb_trig_09.result +++ b/mysql-test/suite/funcs_1/r/ndb_trig_09.result @@ -58,7 +58,7 @@ Warnings: Note 1265 Data truncated for column 'f150' at row 1 Note 1265 Data truncated for column 'f151' at row 1 Note 1265 Data truncated for column 'f152' at row 1 -load data infile '/std_data_ln/funcs_1/memory_tb3.txt' +load data infile '/std_data/funcs_1/memory_tb3.txt' into table tb3; Testcase 3.5.9.1/2: diff --git a/mysql-test/suite/funcs_1/r/ndb_trig_1011ext.result b/mysql-test/suite/funcs_1/r/ndb_trig_1011ext.result index 60b70d1c981..198382b409d 100644 --- a/mysql-test/suite/funcs_1/r/ndb_trig_1011ext.result +++ b/mysql-test/suite/funcs_1/r/ndb_trig_1011ext.result @@ -58,7 +58,7 @@ Warnings: Note 1265 Data truncated for column 'f150' at row 1 Note 1265 Data truncated for column 'f151' at row 1 Note 1265 Data truncated for column 'f152' at row 1 -load data infile '/std_data_ln/funcs_1/memory_tb3.txt' +load data infile '/std_data/funcs_1/memory_tb3.txt' into table tb3; Testcase 3.5.10.1/2/3: @@ -136,7 +136,7 @@ set @counter= 0; select @counter as 'Rows Loaded Before'; Rows Loaded Before 0 -load data infile '/std_data_ln/funcs_1/t9.txt' into table tb_load; +load data infile '/std_data/funcs_1/t9.txt' into table tb_load; select @counter as 'Rows Loaded After'; Rows Loaded After 10 diff --git a/mysql-test/suite/funcs_1/r/ndb_views.result b/mysql-test/suite/funcs_1/r/ndb_views.result index d0e3b192c6e..f6b81eabf90 100644 --- a/mysql-test/suite/funcs_1/r/ndb_views.result +++ b/mysql-test/suite/funcs_1/r/ndb_views.result @@ -53,7 +53,7 @@ f107 year(4) not null default 2000, f108 enum("1enum","2enum") not null default "1enum", f109 set("1set","2set") not null default "1set" ) engine = ndb; -load data infile '/std_data_ln/funcs_1/ndb_tb2.txt' +load data infile '/std_data/funcs_1/ndb_tb2.txt' into table tb2 ; DROP DATABASE IF EXISTS test1; CREATE DATABASE test1; @@ -112,7 +112,7 @@ f107 year(4) not null default 2000, f108 enum("1enum","2enum") not null default "1enum", f109 set("1set","2set") not null default "1set" ) engine = ndb; -load data infile '/std_data_ln/funcs_1/ndb_tb2.txt' +load data infile '/std_data/funcs_1/ndb_tb2.txt' into table tb2 ; USE test; diff --git a/mysql-test/suite/funcs_1/r/storedproc.result b/mysql-test/suite/funcs_1/r/storedproc.result index 0c414df0c57..b9bd8830383 100644 --- a/mysql-test/suite/funcs_1/r/storedproc.result +++ b/mysql-test/suite/funcs_1/r/storedproc.result @@ -11,23 +11,23 @@ CREATE DATABASE db_storedproc_1; USE db_storedproc; create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '/std_data/funcs_1/t4.txt' into table t1; create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '/std_data/funcs_1/t4.txt' into table t2; create table t3(f1 char(20),f2 char(20),f3 integer) engine = ; -load data infile '/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '/std_data/funcs_1/t3.txt' into table t3; create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '/std_data/funcs_1/t7.txt' into table t7; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -41,7 +41,7 @@ Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = ; -load data infile '/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '/std_data/funcs_1/t7.txt' into table t8; Warnings: Warning 1265 Data truncated for column 'f3' at row 1 Warning 1265 Data truncated for column 'f3' at row 2 @@ -54,13 +54,13 @@ Warning 1265 Data truncated for column 'f3' at row 8 Warning 1265 Data truncated for column 'f3' at row 9 Warning 1265 Data truncated for column 'f3' at row 10 create table t9(f1 int, f2 char(25), f3 int) engine = ; -load data infile '/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '/std_data/funcs_1/t9.txt' into table t9; create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '/std_data/funcs_1/t4.txt' into table t10; create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = ; -load data infile '/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '/std_data/funcs_1/t4.txt' into table t11; Section 3.1.1 - Syntax checks for the CREATE PROCEDURE, CREATE FUNCTION, ALTER PROCEDURE, ALTER FUNCTION, DROP PROCEDURE, DROP FUNCTION, SHOW diff --git a/mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc b/mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc index 5224860925c..c4ae93aca6b 100644 --- a/mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc +++ b/mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc @@ -27,7 +27,7 @@ create table t1(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = $engine_type; --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' into table t1; +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/t4.txt' into table t1; --replace_result $engine_type eval @@ -35,14 +35,14 @@ create table t2(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = $engine_type; --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' into table t2; +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/t4.txt' into table t2; --replace_result $engine_type eval create table t3(f1 char(20),f2 char(20),f3 integer) engine = $engine_type; --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t3.txt' into table t3; +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/t3.txt' into table t3; --replace_result $engine_type eval @@ -50,7 +50,7 @@ create table t4(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = $engine_type; --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' into table t4; +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/t4.txt' into table t4; USE db_storedproc_1; @@ -60,7 +60,7 @@ create table t6(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = $engine_type; --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' into table t6; +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/t4.txt' into table t6; USE db_storedproc; @@ -70,7 +70,7 @@ create table t7 (f1 char(20), f2 char(25), f3 date, f4 int) engine = $engine_type; --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t7.txt' into table t7; +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/t7.txt' into table t7; --replace_result $engine_type eval @@ -78,14 +78,14 @@ create table t8 (f1 char(20), f2 char(25), f3 date, f4 int) engine = $engine_type; --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t7.txt' into table t8; +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/t7.txt' into table t8; --replace_result $engine_type eval create table t9(f1 int, f2 char(25), f3 int) engine = $engine_type; --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t9.txt' into table t9; +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/t9.txt' into table t9; --replace_result $engine_type eval @@ -93,7 +93,7 @@ create table t10(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = $engine_type; --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' into table t10; +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/t4.txt' into table t10; --replace_result $engine_type eval @@ -101,4 +101,4 @@ create table t11(f1 char(20),f2 char(25),f3 date,f4 int,f5 char(25),f6 int) engine = $engine_type; --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t4.txt' into table t11; +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/t4.txt' into table t11; diff --git a/mysql-test/suite/funcs_1/t/is_engines_federated.test b/mysql-test/suite/funcs_1/t/is_engines_federated.test index a15a1bafdbc..81eac89c0d2 100644 --- a/mysql-test/suite/funcs_1/t/is_engines_federated.test +++ b/mysql-test/suite/funcs_1/t/is_engines_federated.test @@ -9,7 +9,7 @@ # let $engine_type= FEDERATED; ---source include/have_federated_db.inc +--source suite/federated/have_federated_db.inc --vertical_results eval SELECT * FROM information_schema.engines WHERE ENGINE = '$engine_type'; diff --git a/mysql-test/suite/funcs_1/triggers/triggers_09.inc b/mysql-test/suite/funcs_1/triggers/triggers_09.inc index 6f3aca5be16..c20553a9435 100644 --- a/mysql-test/suite/funcs_1/triggers/triggers_09.inc +++ b/mysql-test/suite/funcs_1/triggers/triggers_09.inc @@ -9,7 +9,7 @@ USE test; --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/memory_tb3.txt' +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/memory_tb3.txt' into table tb3; ################################# diff --git a/mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc b/mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc index 7230f240e2d..a5388dc80c3 100644 --- a/mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc +++ b/mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc @@ -10,7 +10,7 @@ USE test; --replace_result $MYSQLTEST_VARDIR eval -load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/memory_tb3.txt' +load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/memory_tb3.txt' into table tb3; @@ -109,7 +109,7 @@ let $message= Testcase 3.5.10.4:; set @counter= 0; select @counter as 'Rows Loaded Before'; --replace_result $MYSQLTEST_VARDIR - eval load data infile '$MYSQLTEST_VARDIR/std_data_ln/funcs_1/t9.txt' into table tb_load; + eval load data infile '$MYSQLTEST_VARDIR/std_data/funcs_1/t9.txt' into table tb_load; select @counter as 'Rows Loaded After'; Select * from tb_load order by f1 limit 10; diff --git a/mysql-test/suite/funcs_1/views/func_view.inc b/mysql-test/suite/funcs_1/views/func_view.inc index 6679a0f898f..4aed5845a84 100644 --- a/mysql-test/suite/funcs_1/views/func_view.inc +++ b/mysql-test/suite/funcs_1/views/func_view.inc @@ -1048,7 +1048,7 @@ $col_type, id FROM t1_values'; # SELECT LOADFILE --replace_result $MYSQLTEST_VARDIR eval SET @my_select = -'SELECT LOAD_FILE(''$MYSQLTEST_VARDIR/std_data_ln/funcs_1/load_file.txt'') +'SELECT LOAD_FILE(''$MYSQLTEST_VARDIR/std_data/funcs_1/load_file.txt'') AS my_col, id FROM t1_values'; --source suite/funcs_1/views/fv1.inc -- cgit v1.2.1 From eb749275f8b3f7f7f549d1a057455926122bf4f0 Mon Sep 17 00:00:00 2001 From: Luis Soares Date: Sat, 31 Jan 2009 22:47:50 +0100 Subject: BUG#35583: mysqlbinlog replay fails with ERROR 1146 when temp tables are used The test case proposed by the bugfix fails in bugteam trees after merging new mtr from main. The failure is due to the fact that the binlog file location has changed and is no more under $MYSQLTEST_VARDIR/log. This patch fixes the test failure by setting the correct path to the binlog file. --- mysql-test/suite/binlog/t/binlog_tmp_table.test | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mysql-test/suite/binlog/t/binlog_tmp_table.test b/mysql-test/suite/binlog/t/binlog_tmp_table.test index 961ac03e873..6947959a5e0 100644 --- a/mysql-test/suite/binlog/t/binlog_tmp_table.test +++ b/mysql-test/suite/binlog/t/binlog_tmp_table.test @@ -75,7 +75,8 @@ drop table foo; create table foo (a int); # replay from binary log -exec $MYSQL_BINLOG $MYSQLTEST_VARDIR/log/master-bin.000002 | $MYSQL; +let $MYSQLD_DATADIR= `select @@datadir`; +exec $MYSQL_BINLOG $MYSQLD_DATADIR/master-bin.000002 | $MYSQL; select * from foo; # clean up -- cgit v1.2.1 From c0ae6f6d86fce430ba6c64f2dd316548e416effa Mon Sep 17 00:00:00 2001 From: Davi Arnaut Date: Sat, 31 Jan 2009 22:04:57 -0200 Subject: Remove duplicated test for Bug#34517 mysql-test/r/change_user.result: Update test case result. mysql-test/r/not_embedded_server.result: Update test case result. mysql-test/t/change_user.test: Move newer (and better) version of the test case. mysql-test/t/not_embedded_server.test: Move this test case over to change_user.test This version is deterministic. --- mysql-test/r/change_user.result | 7 +---- mysql-test/r/not_embedded_server.result | 5 ++-- mysql-test/t/change_user.test | 10 +++++-- mysql-test/t/not_embedded_server.test | 46 ++++----------------------------- 4 files changed, 17 insertions(+), 51 deletions(-) diff --git a/mysql-test/r/change_user.result b/mysql-test/r/change_user.result index 096388ec611..f8d5d900a80 100644 --- a/mysql-test/r/change_user.result +++ b/mysql-test/r/change_user.result @@ -45,9 +45,4 @@ SELECT IS_USED_LOCK('bug31418'); IS_USED_LOCK('bug31418') NULL FLUSH STATUS; -SHOW GLOBAL STATUS LIKE 'com_select'; -Variable_name Value -Com_select 117 -SHOW GLOBAL STATUS LIKE 'com_select'; -Variable_name Value -Com_select 117 +Value of com_select did not change diff --git a/mysql-test/r/not_embedded_server.result b/mysql-test/r/not_embedded_server.result index 4373d6356d9..8f7c125196a 100644 --- a/mysql-test/r/not_embedded_server.result +++ b/mysql-test/r/not_embedded_server.result @@ -1,2 +1,3 @@ -FLUSH STATUS; -Value of com_select did not change +select 1; +1 +1 diff --git a/mysql-test/t/change_user.test b/mysql-test/t/change_user.test index 47e503a9afd..89f35116a2c 100644 --- a/mysql-test/t/change_user.test +++ b/mysql-test/t/change_user.test @@ -63,8 +63,14 @@ while ($i) --enable_query_log --enable_result_log -SHOW GLOBAL STATUS LIKE 'com_select'; +let $before= query_get_value(SHOW GLOBAL STATUS LIKE 'com_select',Value,1); --change_user -SHOW GLOBAL STATUS LIKE 'com_select'; +let $after= query_get_value(SHOW GLOBAL STATUS LIKE 'com_select',Value,1); + +if (`select $after != $before`){ + SHOW GLOBAL STATUS LIKE 'com_select'; + die The value of com_select changed during change_user; +} +echo Value of com_select did not change; diff --git a/mysql-test/t/not_embedded_server.test b/mysql-test/t/not_embedded_server.test index 562194a62a4..233ac3edfbb 100644 --- a/mysql-test/t/not_embedded_server.test +++ b/mysql-test/t/not_embedded_server.test @@ -4,6 +4,11 @@ -- source include/not_embedded.inc +# +# Produce output +# + +select 1; # The following fails sporadically because 'check-testcase' runs # queries before this test and there is no way to guarantee that any @@ -31,45 +36,4 @@ #execute stmt1; #deallocate prepare stmt1; - - -# -# Bug#31222: com_% global status counters behave randomly with -# mysql_change_user. -# -# Moved from change_user.test due to Bug#34517: SHOW GLOBAL STATUS does not -# work properly in embedded server. -# -# TODO: move it back when Bug#34517 is fixed. -# - -FLUSH STATUS; - ---disable_result_log ---disable_query_log - -let $i = 100; - -while ($i) -{ - dec $i; - - SELECT 1; -} - ---enable_query_log ---enable_result_log - -let $before= query_get_value(SHOW GLOBAL STATUS LIKE 'com_select',Value,1); - ---change_user - -let $after= query_get_value(SHOW GLOBAL STATUS LIKE 'com_select',Value,1); - -if (`select $after != $before`){ - SHOW GLOBAL STATUS LIKE 'com_select'; - die The value of com_select changed during change_user; -} -echo Value of com_select did not change; - # End of 5.1 tests -- cgit v1.2.1 From f0da84c3a856d8bd19e26e715e90cc7403638136 Mon Sep 17 00:00:00 2001 From: Michael Widenius Date: Sun, 1 Feb 2009 09:29:56 +0200 Subject: Fixes Bug #40711 "Maria crash in my_no_flags_free" storage/maria/ma_close.c: Reset state_history when closing file. This fixes a race condition when the checkpoint is using the file while the file is beeing closed. The bug was that checkpoint was accessing the freed state_history. --- storage/maria/ma_close.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/storage/maria/ma_close.c b/storage/maria/ma_close.c index 6141986fd72..f627078861d 100644 --- a/storage/maria/ma_close.c +++ b/storage/maria/ma_close.c @@ -155,7 +155,7 @@ int maria_close(register MARIA_HA *info) MARIA_STATE_HISTORY_CLOSED *history; /* Here we ignore the unlikely case that we don't have memory to - store the case. In the worst case what happens is that any transaction + store the state. In the worst case what happens is that any transaction that tries to access this table will get a wrong status information. */ if ((history= (MARIA_STATE_HISTORY_CLOSED *) @@ -166,6 +166,8 @@ int maria_close(register MARIA_HA *info) if (my_hash_insert(&maria_stored_state, (uchar*) history)) my_free(history, MYF(0)); } + /* Marker for concurrent checkpoint */ + share->state_history= 0; } } pthread_mutex_unlock(&THR_LOCK_maria); -- cgit v1.2.1 From 299339d41af7f36f35de98ad4f3b2fc35e791552 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Sun, 1 Feb 2009 11:18:09 +0200 Subject: Fixed internal test check warnings in 5.1-bugteam. --- mysql-test/include/mtr_check.sql | 2 +- mysql-test/r/init_file.result | 2 -- mysql-test/suite/rpl/t/rpl_trigger.test | 2 ++ mysql-test/t/init_file.test | 6 ++++-- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/mysql-test/include/mtr_check.sql b/mysql-test/include/mtr_check.sql index a6913dd8a10..12cb2c870a2 100644 --- a/mysql-test/include/mtr_check.sql +++ b/mysql-test/include/mtr_check.sql @@ -12,7 +12,7 @@ BEGIN -- Dump all global variables except those -- that are supposed to change SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES - WHERE variable_name != 'timestamp'; + WHERE variable_name != 'timestamp' ORDER BY VARIABLE_NAME; -- Dump all databases, there should be none -- except those that was created during bootstrap diff --git a/mysql-test/r/init_file.result b/mysql-test/r/init_file.result index 6394014f3e5..8e014815a9c 100644 --- a/mysql-test/r/init_file.result +++ b/mysql-test/r/init_file.result @@ -4,7 +4,6 @@ SELECT * INTO @Y FROM init_file.startup limit 1,1; SELECT YEAR(@X)-YEAR(@Y); YEAR(@X)-YEAR(@Y) 0 -DROP DATABASE init_file; ok end of 4.1 tests select * from t1; @@ -20,4 +19,3 @@ y 3 11 13 -drop table t1, t2; diff --git a/mysql-test/suite/rpl/t/rpl_trigger.test b/mysql-test/suite/rpl/t/rpl_trigger.test index 1317e6b6289..d92aab3504f 100644 --- a/mysql-test/suite/rpl/t/rpl_trigger.test +++ b/mysql-test/suite/rpl/t/rpl_trigger.test @@ -265,6 +265,8 @@ while ($rnd) connection master; eval drop table t1$rnd; + sync_slave_with_master; + connection master; dec $rnd; } diff --git a/mysql-test/t/init_file.test b/mysql-test/t/init_file.test index 7c580afadda..ceb5cae9743 100644 --- a/mysql-test/t/init_file.test +++ b/mysql-test/t/init_file.test @@ -13,7 +13,8 @@ INSERT INTO init_file.startup VALUES ( NOW() ); SELECT * INTO @X FROM init_file.startup limit 0,1; SELECT * INTO @Y FROM init_file.startup limit 1,1; SELECT YEAR(@X)-YEAR(@Y); -DROP DATABASE init_file; +# Enable this DROP DATABASE only after resolving bug #42507 +# DROP DATABASE init_file; --echo ok --echo end of 4.1 tests @@ -26,4 +27,5 @@ select * from t1; # Expected: # 30, 3, 11, 13 select * from t2; -drop table t1, t2; +# Enable this DROP TABLE only after resolving bug #42507 +#drop table t1, t2; -- cgit v1.2.1 From 6a4f8a8d2a37ee7b4272418ecce3e2f02992c0e3 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Sun, 1 Feb 2009 14:00:48 +0200 Subject: Fixed the parts testsuite to work with mtr2 --- .../suite/parts/inc/partition_layout_check1.inc | 2 +- .../suite/parts/inc/partition_layout_check2.inc | 2 +- mysql-test/suite/parts/r/rpl_partition.result | 28 +++++----- .../suite/parts/t/partition_recover_myisam.test | 2 + .../suite/parts/t/partition_repair_myisam.test | 60 +++++++++++----------- mysql-test/suite/parts/t/rpl_partition.test | 4 ++ 6 files changed, 55 insertions(+), 43 deletions(-) diff --git a/mysql-test/suite/parts/inc/partition_layout_check1.inc b/mysql-test/suite/parts/inc/partition_layout_check1.inc index 68539fea30c..bca41b6f9c7 100644 --- a/mysql-test/suite/parts/inc/partition_layout_check1.inc +++ b/mysql-test/suite/parts/inc/partition_layout_check1.inc @@ -36,7 +36,7 @@ let $MYSQLD_DATADIR= `select LEFT(@@datadir, LENGTH(@@datadir)-1)`; # the corresponding SELECT on the INFORMATION_SCHEMA # - SHOW CREATE TABLE .. cannot write its out put into a file like SELECT let $show_file= $MYSQLD_DATADIR/test/tmp1; ---exec echo "SHOW CREATE TABLE t1;" | $MYSQL_TEST > $show_file 2>&1 || true +--exec echo "SHOW CREATE TABLE t1; exit; " | $MYSQL_TEST > $show_file 2>&1 if ($do_file_tests) { # List the files belonging to the table t1 diff --git a/mysql-test/suite/parts/inc/partition_layout_check2.inc b/mysql-test/suite/parts/inc/partition_layout_check2.inc index d9783337a31..7ff871a4c45 100644 --- a/mysql-test/suite/parts/inc/partition_layout_check2.inc +++ b/mysql-test/suite/parts/inc/partition_layout_check2.inc @@ -30,7 +30,7 @@ let $MYSQLD_DATADIR= `select LEFT(@@datadir, LENGTH(@@datadir)-1)`; # Dump the current definition of the table t1 to tmp1 let $show_file= $MYSQLD_DATADIR/test/tmp1; ---exec echo "SHOW CREATE TABLE t1;" | $MYSQL_TEST > $show_file 2>&1 || true +--exec echo "SHOW CREATE TABLE t1; exit; " | $MYSQL_TEST > $show_file 2>&1 if ($do_file_tests) { diff --git a/mysql-test/suite/parts/r/rpl_partition.result b/mysql-test/suite/parts/r/rpl_partition.result index e330175bc0c..c2537815631 100644 --- a/mysql-test/suite/parts/r/rpl_partition.result +++ b/mysql-test/suite/parts/r/rpl_partition.result @@ -4,6 +4,8 @@ reset master; reset slave; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; start slave; +set @old_global_binlog_format= @@global.binlog_format; +set @old_session_binlog_format= @@session.binlog_format; SET GLOBAL binlog_format = 'ROW'; SET SESSION binlog_format = 'ROW'; select @@global.binlog_format, @@session.binlog_format; @@ -121,21 +123,21 @@ Create Table CREATE TABLE `t3` ( `fkid` mediumint(9) DEFAULT NULL, `filler` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=1001 DEFAULT CHARSET=latin1 +) ENGINE=InnoDB AUTO_INCREMENT=1001 DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (id) SUBPARTITION BY HASH (id) SUBPARTITIONS 2 -(PARTITION pa1 VALUES LESS THAN (10) ENGINE = MyISAM, - PARTITION pa2 VALUES LESS THAN (20) ENGINE = MyISAM, - PARTITION pa3 VALUES LESS THAN (30) ENGINE = MyISAM, - PARTITION pa4 VALUES LESS THAN (40) ENGINE = MyISAM, - PARTITION pa5 VALUES LESS THAN (50) ENGINE = MyISAM, - PARTITION pa6 VALUES LESS THAN (60) ENGINE = MyISAM, - PARTITION pa7 VALUES LESS THAN (70) ENGINE = MyISAM, - PARTITION pa8 VALUES LESS THAN (80) ENGINE = MyISAM, - PARTITION pa9 VALUES LESS THAN (90) ENGINE = MyISAM, - PARTITION pa10 VALUES LESS THAN (100) ENGINE = MyISAM, - PARTITION pa11 VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */ +(PARTITION pa1 VALUES LESS THAN (10) ENGINE = InnoDB, + PARTITION pa2 VALUES LESS THAN (20) ENGINE = InnoDB, + PARTITION pa3 VALUES LESS THAN (30) ENGINE = InnoDB, + PARTITION pa4 VALUES LESS THAN (40) ENGINE = InnoDB, + PARTITION pa5 VALUES LESS THAN (50) ENGINE = InnoDB, + PARTITION pa6 VALUES LESS THAN (60) ENGINE = InnoDB, + PARTITION pa7 VALUES LESS THAN (70) ENGINE = InnoDB, + PARTITION pa8 VALUES LESS THAN (80) ENGINE = InnoDB, + PARTITION pa9 VALUES LESS THAN (90) ENGINE = InnoDB, + PARTITION pa10 VALUES LESS THAN (100) ENGINE = InnoDB, + PARTITION pa11 VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */ show slave status; Slave_IO_State # Master_Host 127.0.0.1 @@ -181,6 +183,8 @@ SELECT count(*) "Slave bykey" FROM t2; Slave bykey 500 SELECT count(*) "Slave byrange" FROM t3; Slave byrange 500 +set @@global.binlog_format= @old_global_binlog_format; +set @@session.binlog_format= @old_session_binlog_format; DROP TABLE t1, t2, t3; DROP PROCEDURE IF EXISTS p1; DROP PROCEDURE IF EXISTS p2; diff --git a/mysql-test/suite/parts/t/partition_recover_myisam.test b/mysql-test/suite/parts/t/partition_recover_myisam.test index f5f8e3560c0..14604bfeb15 100644 --- a/mysql-test/suite/parts/t/partition_recover_myisam.test +++ b/mysql-test/suite/parts/t/partition_recover_myisam.test @@ -10,8 +10,10 @@ drop table if exists t1_will_crash; CREATE TABLE t1_will_crash (a INT, KEY (a)) ENGINE=MyISAM; INSERT INTO t1_will_crash VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11); FLUSH TABLES; + --echo # replacing t1.MYI with a corrupt + unclosed one created by doing: --echo # 'create table t1 (a int key(a))' head -c1024 t1.MYI > corrupt_t1.MYI +let $MYSQLD_DATADIR= `select @@datadir`; --remove_file $MYSQLD_DATADIR/test/t1_will_crash.MYI --copy_file std_data/corrupt_t1.MYI $MYSQLD_DATADIR/test/t1_will_crash.MYI SELECT * FROM t1_will_crash; diff --git a/mysql-test/suite/parts/t/partition_repair_myisam.test b/mysql-test/suite/parts/t/partition_repair_myisam.test index 4c4cb21b848..a7ceb5b7faf 100644 --- a/mysql-test/suite/parts/t/partition_repair_myisam.test +++ b/mysql-test/suite/parts/t/partition_repair_myisam.test @@ -8,14 +8,16 @@ drop table if exists t1_will_crash; --echo # REPAIR USE_FRM is not implemented for partitioned tables. +let $MYSQLD_DATADIR= `select @@datadir`; + --echo # test of non partitioned myisam for reference CREATE TABLE t1_will_crash (a INT, KEY (a)) ENGINE=MyISAM; INSERT INTO t1_will_crash VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11); FLUSH TABLES; --echo # replacing t1.MYI with a corrupt + unclosed one created by doing: --echo # 'create table t1 (a int key(a))' head -c1024 t1.MYI > corrupt_t1.MYI ---remove_file $MYSQLTEST_VARDIR/master-data/test/t1_will_crash.MYI ---copy_file std_data/corrupt_t1.MYI $MYSQLTEST_VARDIR/master-data/test/t1_will_crash.MYI +--remove_file $MYSQLD_DATADIR/test/t1_will_crash.MYI +--copy_file std_data/corrupt_t1.MYI $MYSQLD_DATADIR/test/t1_will_crash.MYI CHECK TABLE t1_will_crash; REPAIR TABLE t1_will_crash; SELECT * FROM t1_will_crash; @@ -32,16 +34,16 @@ FLUSH TABLES; --echo # replacing t1#P#p1.MYI with a corrupt + unclosed one created by doing: --echo # 'create table t1 (a int key(a)) partition by hash (a) partitions 3' --echo # head -c1024 t1#P#p1.MYI > corrupt_t1#P#p1.MYI ---remove_file $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p1.MYI ---copy_file std_data/corrupt_t1#P#p1.MYI $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p1.MYI +--remove_file $MYSQLD_DATADIR/test/t1_will_crash#P#p1.MYI +--copy_file std_data/corrupt_t1#P#p1.MYI $MYSQLD_DATADIR/test/t1_will_crash#P#p1.MYI CHECK TABLE t1_will_crash; REPAIR TABLE t1_will_crash; SELECT * FROM t1_will_crash; FLUSH TABLES; --echo # test with ALTER TABLE ... CHECK/REPAIR PARTITION --echo # replacing t1_will_crash#P#p1.MYI with a corrupt + unclosed one ---remove_file $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p1.MYI ---copy_file std_data/corrupt_t1#P#p1.MYI $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p1.MYI +--remove_file $MYSQLD_DATADIR/test/t1_will_crash#P#p1.MYI +--copy_file std_data/corrupt_t1#P#p1.MYI $MYSQLD_DATADIR/test/t1_will_crash#P#p1.MYI ALTER TABLE t1_will_crash CHECK PARTITION p0, p2; ALTER TABLE t1_will_crash CHECK PARTITION p0, p1; ALTER TABLE t1_will_crash CHECK PARTITION p1, p2; @@ -63,16 +65,16 @@ SELECT * FROM t1_will_crash; FLUSH TABLES; --echo # test with CHECK/REPAIR TABLE --echo # replacing t1_will_crash#P#p1#SP#p1sp0.MYI with a corrupt + unclosed one ---remove_file $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p1#SP#p1sp0.MYI ---copy_file std_data/corrupt_t1#P#p1.MYI $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p1#SP#p1sp0.MYI +--remove_file $MYSQLD_DATADIR/test/t1_will_crash#P#p1#SP#p1sp0.MYI +--copy_file std_data/corrupt_t1#P#p1.MYI $MYSQLD_DATADIR/test/t1_will_crash#P#p1#SP#p1sp0.MYI CHECK TABLE t1_will_crash; REPAIR TABLE t1_will_crash; SELECT * FROM t1_will_crash; FLUSH TABLES; --echo # test with ALTER TABLE ... CHECK/REPAIR PARTITION --echo # replacing t1_will_crash#P#p1#SP#p1sp0.MYI with a corrupt + unclosed one ---remove_file $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p1#SP#p1sp0.MYI ---copy_file std_data/corrupt_t1#P#p1.MYI $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p1#SP#p1sp0.MYI +--remove_file $MYSQLD_DATADIR/test/t1_will_crash#P#p1#SP#p1sp0.MYI +--copy_file std_data/corrupt_t1#P#p1.MYI $MYSQLD_DATADIR/test/t1_will_crash#P#p1#SP#p1sp0.MYI ALTER TABLE t1_will_crash CHECK PARTITION p0; ALTER TABLE t1_will_crash CHECK PARTITION all; ALTER TABLE t1_will_crash CHECK PARTITION p1; @@ -94,7 +96,7 @@ PARTITIONS 7; # creating a longer string for for filling the records let $i= 3; let $lt= longtext; -while ($i>0) +while ($i) { let $lt= $lt$lt; dec $i; @@ -152,22 +154,22 @@ SELECT (b % 7) AS partition, b, a, length(c) FROM t1_will_crash ORDER BY partiti FLUSH TABLES; # testing p0, p1, p3, p6(1) --echo # truncating p0 to simulate an empty datafile (not recovered!) ---remove_file $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p0.MYD ---write_file $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p0.MYD +--remove_file $MYSQLD_DATADIR/test/t1_will_crash#P#p0.MYD +--write_file $MYSQLD_DATADIR/test/t1_will_crash#P#p0.MYD EOF --echo # replacing p1 with only the first 1024 bytes (not recovered!) ---remove_file $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p1.MYD ---copy_file std_data/parts/t1_will_crash#P#p1_first_1024.MYD $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p1.MYD +--remove_file $MYSQLD_DATADIR/test/t1_will_crash#P#p1.MYD +--copy_file std_data/parts/t1_will_crash#P#p1_first_1024.MYD $MYSQLD_DATADIR/test/t1_will_crash#P#p1.MYD --echo # replacing p3 with a crashed one at the last row in first insert --echo # (crashed right after *share->write_record()) ---remove_file $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p3.MYI ---copy_file std_data/parts/t1_will_crash#P#p3.MYI $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p3.MYI +--remove_file $MYSQLD_DATADIR/test/t1_will_crash#P#p3.MYI +--copy_file std_data/parts/t1_will_crash#P#p3.MYI $MYSQLD_DATADIR/test/t1_will_crash#P#p3.MYI --echo # replacing p6 with a crashed MYD file (1) (splitted dynamic record) ---remove_file $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p6.MYD ---copy_file std_data/parts/t1_will_crash#P#p6.MYD $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p6.MYD +--remove_file $MYSQLD_DATADIR/test/t1_will_crash#P#p6.MYD +--copy_file std_data/parts/t1_will_crash#P#p6.MYD $MYSQLD_DATADIR/test/t1_will_crash#P#p6.MYD ANALYZE TABLE t1_will_crash; OPTIMIZE TABLE t1_will_crash; CHECK TABLE t1_will_crash; @@ -180,10 +182,10 @@ FLUSH TABLES; # testing p2, p4, p6(2, 3) --echo # --echo # replacing p2 with crashed files (after _mi_mark_changed) ---remove_file $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p2.MYI ---remove_file $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p2.MYD ---copy_file std_data/parts/t1_will_crash#P#p2.MYI $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p2.MYI ---copy_file std_data/parts/t1_will_crash#P#p2.MYD $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p2.MYD +--remove_file $MYSQLD_DATADIR/test/t1_will_crash#P#p2.MYI +--remove_file $MYSQLD_DATADIR/test/t1_will_crash#P#p2.MYD +--copy_file std_data/parts/t1_will_crash#P#p2.MYI $MYSQLD_DATADIR/test/t1_will_crash#P#p2.MYI +--copy_file std_data/parts/t1_will_crash#P#p2.MYD $MYSQLD_DATADIR/test/t1_will_crash#P#p2.MYD ALTER TABLE t1_will_crash CHECK PARTITION p2; --echo # crash was when index only marked as opened, no real corruption ALTER TABLE t1_will_crash CHECK PARTITION p2; @@ -191,8 +193,8 @@ FLUSH TABLES; --echo # --echo # replacing p4 with updated but not closed index file ---remove_file $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p4.MYI ---copy_file std_data/parts/t1_will_crash#P#p4.MYI $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p4.MYI +--remove_file $MYSQLD_DATADIR/test/t1_will_crash#P#p4.MYI +--copy_file std_data/parts/t1_will_crash#P#p4.MYI $MYSQLD_DATADIR/test/t1_will_crash#P#p4.MYI #SHOW TABLE STATUS like 't1_will_crash'; #ALTER TABLE t1_will_crash ANALYZE PARTITION p4; #SHOW TABLE STATUS like 't1_will_crash'; @@ -206,8 +208,8 @@ FLUSH TABLES; --echo # --echo # replacing p6 with a crashed MYD file (2) (splitted dynamic record) ---remove_file $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p6.MYD ---copy_file std_data/parts/t1_will_crash#P#p6_2.MYD $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p6.MYD +--remove_file $MYSQLD_DATADIR/test/t1_will_crash#P#p6.MYD +--copy_file std_data/parts/t1_will_crash#P#p6_2.MYD $MYSQLD_DATADIR/test/t1_will_crash#P#p6.MYD #ALTER TABLE t1_will_crash OPTIMIZE PARTITION p6; ALTER TABLE t1_will_crash CHECK PARTITION p6; ALTER TABLE t1_will_crash REPAIR PARTITION p6; @@ -218,8 +220,8 @@ FLUSH TABLES; --echo # --echo # replacing p6 with a crashed MYD file (3) (splitted dynamic record) ---remove_file $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p6.MYD ---copy_file std_data/parts/t1_will_crash#P#p6_3.MYD $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p6.MYD +--remove_file $MYSQLD_DATADIR/test/t1_will_crash#P#p6.MYD +--copy_file std_data/parts/t1_will_crash#P#p6_3.MYD $MYSQLD_DATADIR/test/t1_will_crash#P#p6.MYD --echo # Different results from the corrupt table, which can lead to dropping --echo # of the not completely written rows when using REBUILD on a corrupt --echo # table, depending if one reads via index or direct on datafile. diff --git a/mysql-test/suite/parts/t/rpl_partition.test b/mysql-test/suite/parts/t/rpl_partition.test index f1002ded81f..c5ee20971b3 100644 --- a/mysql-test/suite/parts/t/rpl_partition.test +++ b/mysql-test/suite/parts/t/rpl_partition.test @@ -6,6 +6,8 @@ let $engine_type= 'innodb'; +set @old_global_binlog_format= @@global.binlog_format; +set @old_session_binlog_format= @@session.binlog_format; SET GLOBAL binlog_format = 'ROW'; SET SESSION binlog_format = 'ROW'; select @@global.binlog_format, @@session.binlog_format; @@ -150,6 +152,8 @@ SELECT count(*) "Slave bykey" FROM t2; SELECT count(*) "Slave byrange" FROM t3; connection master; +set @@global.binlog_format= @old_global_binlog_format; +set @@session.binlog_format= @old_session_binlog_format; DROP TABLE t1, t2, t3; DROP PROCEDURE IF EXISTS p1; DROP PROCEDURE IF EXISTS p2; -- cgit v1.2.1 From 0030ff14573c1b6d23d74b622ff353bd635e2a38 Mon Sep 17 00:00:00 2001 From: Luis Soares Date: Sun, 1 Feb 2009 14:14:39 +0100 Subject: BUG#42485: Pushbuild2 and some build tools do not work together with MTR2 It seems that the length of the thick line printed by mtr when printing the suite name differs from mtr1 and mtr2, affecting the mtr filtering by PB2. This patch addresses it by restoring the thick line length to 78 (original length) instead of 60 (the one in mtr2). --- mysql-test/lib/mtr_report.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/lib/mtr_report.pm b/mysql-test/lib/mtr_report.pm index 00a9aba11cb..0cfbcb4c52e 100644 --- a/mysql-test/lib/mtr_report.pm +++ b/mysql-test/lib/mtr_report.pm @@ -354,7 +354,7 @@ sub mtr_print_line () { sub mtr_print_thick_line { my $char= shift || '='; - print $char x 60, "\n"; + print $char x 78, "\n"; } -- cgit v1.2.1 From e6b19aa0fabe50a69d7e1f6debbda83e4dad1730 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Sun, 1 Feb 2009 17:01:41 +0200 Subject: added a missing test directory in Makefile.am --- mysql-test/Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/mysql-test/Makefile.am b/mysql-test/Makefile.am index 0db8ba825ca..dc9fbbd9aa5 100644 --- a/mysql-test/Makefile.am +++ b/mysql-test/Makefile.am @@ -78,6 +78,7 @@ EXTRA_DIST = README \ TEST_DIRS = t r include std_data std_data/parts \ std_data/ndb_backup50 std_data/ndb_backup51 \ std_data/ndb_backup51_data_be std_data/ndb_backup51_data_le \ + std_data/funcs_1 \ extra/binlog_tests/ extra/rpl_tests \ suite/binlog suite/binlog/t suite/binlog/r suite/binlog/std_data \ suite/bugs/data suite/bugs/t suite/bugs/r \ -- cgit v1.2.1 From 5afd9895552edeaa7f66cf388592dbe519fb3faa Mon Sep 17 00:00:00 2001 From: Alfranio Correia Date: Sun, 1 Feb 2009 17:15:58 +0000 Subject: Several fixes in funcs_1 suite: 1 - MASTER_MYSOCK fixed inexistent environment variable. 2 - Fixed mismatch in result files due to changes in MTR. --- .../suite/funcs_1/datadict/charset_collation.inc | 1 + .../suite/funcs_1/datadict/is_key_column_usage.inc | 1 + mysql-test/suite/funcs_1/datadict/is_routines.inc | 1 + mysql-test/suite/funcs_1/datadict/is_schemata.inc | 1 + mysql-test/suite/funcs_1/datadict/is_tables.inc | 1 + mysql-test/suite/funcs_1/datadict/is_triggers.inc | 1 + mysql-test/suite/funcs_1/datadict/is_views.inc | 1 + mysql-test/suite/funcs_1/datadict/statistics.inc | 1 + .../suite/funcs_1/datadict/table_constraints.inc | 1 + mysql-test/suite/funcs_1/datadict/tables.inc | 1 + mysql-test/suite/funcs_1/datadict/tables1.inc | 1 + .../suite/funcs_1/r/innodb_storedproc_08.result | 207 +++++++++++++++++++++ mysql-test/suite/funcs_1/r/innodb_trig_0102.result | 4 + mysql-test/suite/funcs_1/r/innodb_trig_0407.result | 3 + .../suite/funcs_1/r/is_columns_is_embedded.result | 82 ++++---- .../suite/funcs_1/r/memory_storedproc_08.result | 207 +++++++++++++++++++++ mysql-test/suite/funcs_1/r/memory_trig_0102.result | 4 + mysql-test/suite/funcs_1/r/memory_trig_0407.result | 3 + .../suite/funcs_1/r/myisam_storedproc_08.result | 207 +++++++++++++++++++++ mysql-test/suite/funcs_1/r/myisam_trig_0102.result | 4 + mysql-test/suite/funcs_1/r/myisam_trig_0407.result | 3 + .../suite/funcs_1/r/ndb_storedproc_08.result | 207 +++++++++++++++++++++ mysql-test/suite/funcs_1/r/ndb_trig_0102.result | 4 + mysql-test/suite/funcs_1/r/ndb_trig_0407.result | 3 + mysql-test/suite/funcs_1/r/ndb_views.result | 3 +- mysql-test/suite/funcs_1/r/storedproc.result | 24 +++ .../suite/funcs_1/storedproc/storedproc_06.inc | 1 + .../suite/funcs_1/storedproc/storedproc_10.inc | 1 + mysql-test/suite/funcs_1/t/is_basics_mixed.test | 1 + .../suite/funcs_1/t/is_column_privileges.test | 1 + .../t/is_column_privileges_is_mysql_test.test | 1 + mysql-test/suite/funcs_1/t/is_columns.test | 1 + .../suite/funcs_1/t/is_schema_privileges.test | 1 + .../t/is_schema_privileges_is_mysql_test.test | 1 + .../suite/funcs_1/t/is_schemata_is_mysql_test.test | 1 + mysql-test/suite/funcs_1/t/is_statistics.test | 1 + .../suite/funcs_1/t/is_table_constraints.test | 1 + .../suite/funcs_1/t/is_table_privileges.test | 1 + mysql-test/suite/funcs_1/t/is_user_privileges.test | 1 + mysql-test/suite/funcs_1/t/storedproc.test | 1 + mysql-test/suite/funcs_1/triggers/triggers_03.inc | 1 + .../funcs_1/triggers/triggers_03e_columns.inc | 1 + .../funcs_1/triggers/triggers_03e_db_level.inc | 1 + .../funcs_1/triggers/triggers_03e_db_table_mix.inc | 1 + .../funcs_1/triggers/triggers_03e_definer.inc | 1 + .../triggers/triggers_03e_global_db_mix.inc | 1 + .../funcs_1/triggers/triggers_03e_prepare.inc | 1 + .../funcs_1/triggers/triggers_03e_table_level.inc | 2 +- .../funcs_1/triggers/triggers_03e_transaction.inc | 1 + .../suite/funcs_1/triggers/triggers_0407.inc | 1 + mysql-test/suite/funcs_1/triggers/triggers_08.inc | 1 + 51 files changed, 959 insertions(+), 43 deletions(-) diff --git a/mysql-test/suite/funcs_1/datadict/charset_collation.inc b/mysql-test/suite/funcs_1/datadict/charset_collation.inc index ae03996b073..a1991346cfc 100644 --- a/mysql-test/suite/funcs_1/datadict/charset_collation.inc +++ b/mysql-test/suite/funcs_1/datadict/charset_collation.inc @@ -61,6 +61,7 @@ DROP USER dbdict_test@localhost; CREATE USER dbdict_test@localhost; --echo # Establish connection con (user=dbdict_test) +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (con,localhost,dbdict_test,,); ################################################################################ diff --git a/mysql-test/suite/funcs_1/datadict/is_key_column_usage.inc b/mysql-test/suite/funcs_1/datadict/is_key_column_usage.inc index 098b8c6eca2..c8e8a186673 100644 --- a/mysql-test/suite/funcs_1/datadict/is_key_column_usage.inc +++ b/mysql-test/suite/funcs_1/datadict/is_key_column_usage.inc @@ -126,6 +126,7 @@ ORDER BY constraint_catalog, constraint_schema, constraint_name, eval $select; --echo # Establish connection testuser1 (user=testuser1) +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (testuser1, localhost, testuser1, , db_datadict); eval $select; diff --git a/mysql-test/suite/funcs_1/datadict/is_routines.inc b/mysql-test/suite/funcs_1/datadict/is_routines.inc index 28a849e9df5..573967cbc1b 100644 --- a/mysql-test/suite/funcs_1/datadict/is_routines.inc +++ b/mysql-test/suite/funcs_1/datadict/is_routines.inc @@ -178,6 +178,7 @@ GRANT EXECUTE ON db_datadict_2.* TO 'testuser2'@'localhost'; FLUSH PRIVILEGES; --echo # Establish connection testuser1 (user=testuser1) +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (testuser1, localhost, testuser1, , db_datadict); --replace_column 16 "YYYY-MM-DD hh:mm:ss" 17 "YYYY-MM-DD hh:mm:ss" diff --git a/mysql-test/suite/funcs_1/datadict/is_schemata.inc b/mysql-test/suite/funcs_1/datadict/is_schemata.inc index 29e1f6af4ef..96061d541b7 100644 --- a/mysql-test/suite/funcs_1/datadict/is_schemata.inc +++ b/mysql-test/suite/funcs_1/datadict/is_schemata.inc @@ -104,6 +104,7 @@ eval $my_select; eval $my_show; --echo # Establish connection testuser1 (user=testuser1) +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (testuser1, localhost, testuser1, , db_datadict_1); # Shows db_datadict_1 diff --git a/mysql-test/suite/funcs_1/datadict/is_tables.inc b/mysql-test/suite/funcs_1/datadict/is_tables.inc index d1e4608a572..4f608eb02ea 100644 --- a/mysql-test/suite/funcs_1/datadict/is_tables.inc +++ b/mysql-test/suite/funcs_1/datadict/is_tables.inc @@ -130,6 +130,7 @@ WHERE table_schema = 'db_datadict' ORDER BY table_name; let $my_show = SHOW TABLES FROM db_datadict; --echo # Establish connection testuser1 (user=testuser1) +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (testuser1, localhost, testuser1, , db_datadict); # tb2 is not granted to anyone diff --git a/mysql-test/suite/funcs_1/datadict/is_triggers.inc b/mysql-test/suite/funcs_1/datadict/is_triggers.inc index 3b83a75295b..70d5540e163 100644 --- a/mysql-test/suite/funcs_1/datadict/is_triggers.inc +++ b/mysql-test/suite/funcs_1/datadict/is_triggers.inc @@ -122,6 +122,7 @@ let $my_select = SELECT * FROM information_schema.triggers WHERE trigger_name = 'trg1'; let $my_show = SHOW TRIGGERS FROM db_datadict; --echo # Establish connection testuser1 (user=testuser1) +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (testuser1, localhost, testuser1, , db_datadict); --replace_result $engine_type diff --git a/mysql-test/suite/funcs_1/datadict/is_views.inc b/mysql-test/suite/funcs_1/datadict/is_views.inc index 32e66e4f684..542dab05a8e 100644 --- a/mysql-test/suite/funcs_1/datadict/is_views.inc +++ b/mysql-test/suite/funcs_1/datadict/is_views.inc @@ -108,6 +108,7 @@ WHERE table_schema = 'db_datadict' ORDER BY table_name; eval $select; --echo # Establish connection testuser1 (user=testuser1) +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (testuser1, localhost, testuser1, , test); eval $select; diff --git a/mysql-test/suite/funcs_1/datadict/statistics.inc b/mysql-test/suite/funcs_1/datadict/statistics.inc index 00fd7a1b06b..6f24f422b5e 100644 --- a/mysql-test/suite/funcs_1/datadict/statistics.inc +++ b/mysql-test/suite/funcs_1/datadict/statistics.inc @@ -42,6 +42,7 @@ ORDER BY table_schema, table_name, index_name, seq_in_index, column_name; eval $my_select; --echo # Establish connection testuser1 (user=testuser1) +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (testuser1,localhost,testuser1,,db_datadict); --replace_column 10 #CARD# diff --git a/mysql-test/suite/funcs_1/datadict/table_constraints.inc b/mysql-test/suite/funcs_1/datadict/table_constraints.inc index 9e57976862b..513057c84a0 100644 --- a/mysql-test/suite/funcs_1/datadict/table_constraints.inc +++ b/mysql-test/suite/funcs_1/datadict/table_constraints.inc @@ -33,6 +33,7 @@ ORDER BY table_schema,table_name,constraint_name; eval $my_select; --echo # Establish connection testuser1 (user=testuser1) +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (testuser1,localhost,testuser1,,db_datadict); eval $my_select; diff --git a/mysql-test/suite/funcs_1/datadict/tables.inc b/mysql-test/suite/funcs_1/datadict/tables.inc index 5aa072d184c..8dae7ba0ebc 100644 --- a/mysql-test/suite/funcs_1/datadict/tables.inc +++ b/mysql-test/suite/funcs_1/datadict/tables.inc @@ -37,6 +37,7 @@ CREATE USER testuser1@localhost; GRANT SELECT ON test1.* TO testuser1@localhost; --echo # Establish connection testuser1 (user=testuser1) +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (testuser1,localhost,testuser1,,test1); --source suite/funcs_1/datadict/tables2.inc diff --git a/mysql-test/suite/funcs_1/datadict/tables1.inc b/mysql-test/suite/funcs_1/datadict/tables1.inc index 2e054a9dcfb..2dff32d81a9 100644 --- a/mysql-test/suite/funcs_1/datadict/tables1.inc +++ b/mysql-test/suite/funcs_1/datadict/tables1.inc @@ -27,6 +27,7 @@ CREATE USER testuser1@localhost; GRANT SELECT ON test1.* TO testuser1@localhost; --echo # Establish connection testuser1 (user=testuser1) +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (testuser1,localhost,testuser1,,test1); --source suite/funcs_1/datadict/tables2.inc diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result index 4209edc58a7..79380e4c38c 100644 --- a/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result +++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result @@ -208,6 +208,75 @@ DEFINER root@localhost CHARACTER_SET_CLIENT latin1 COLLATION_CONNECTION latin1_swedish_ci DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME add_suppression +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME add_suppression +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_testcase +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_testcase +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_warnings +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_warnings +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT file_name, line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci SHOW CREATE FUNCTION fn_1; Function fn_1 sql_mode @@ -426,6 +495,75 @@ DEFINER root@localhost CHARACTER_SET_CLIENT latin1 COLLATION_CONNECTION latin1_swedish_ci DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME add_suppression +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME add_suppression +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_testcase +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_testcase +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_warnings +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_warnings +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT file_name, line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci SHOW CREATE FUNCTION fn_1; Function fn_1 sql_mode @@ -637,6 +775,75 @@ DEFINER root@localhost CHARACTER_SET_CLIENT latin1 COLLATION_CONNECTION latin1_swedish_ci DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME add_suppression +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME add_suppression +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_testcase +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_testcase +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_warnings +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_warnings +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT file_name, line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci SHOW CREATE FUNCTION fn_1; Function fn_1 sql_mode diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_0102.result b/mysql-test/suite/funcs_1/r/innodb_trig_0102.result index 2cd4b447367..86c2d2521ac 100644 --- a/mysql-test/suite/funcs_1/r/innodb_trig_0102.result +++ b/mysql-test/suite/funcs_1/r/innodb_trig_0102.result @@ -204,8 +204,10 @@ f1 f2 f3 NULL update 3.5.1.7 42 select trigger_name from information_schema.triggers order by trigger_name; trigger_name +gs_insert trg5_1 trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX +ts_insert drop trigger trg5_1; drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ; ERROR 42000: Identifier name 'trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ' is too long @@ -348,9 +350,11 @@ for each row set @test_var3='trig2'; select trigger_schema, trigger_name, event_object_table from information_schema.triggers order by trigger_name; trigger_schema trigger_name event_object_table +mtr gs_insert global_suppressions trig_db1 trig1_a t1 trig_db1 trig1_b t1 trig_db2 trig2 t1 +mtr ts_insert test_suppressions set @test_var1= '', @test_var2= '', @test_var3= ''; insert into t1 (f1,f2) values ('insert to db1 t1 from db1',352); insert into trig_db2.t1 (f1,f2) values ('insert to db2 t1 from db1',352); diff --git a/mysql-test/suite/funcs_1/r/innodb_trig_0407.result b/mysql-test/suite/funcs_1/r/innodb_trig_0407.result index a4871065c04..62c8e0d06db 100644 --- a/mysql-test/suite/funcs_1/r/innodb_trig_0407.result +++ b/mysql-test/suite/funcs_1/r/innodb_trig_0407.result @@ -92,6 +92,8 @@ drop trigger trg1; select trigger_schema, trigger_name, event_object_table from information_schema.triggers order by trigger_name; trigger_schema trigger_name event_object_table +mtr gs_insert global_suppressions +mtr ts_insert test_suppressions Insert into t1 values ('Insert no trigger 3.5.4.1'); Select * from t1 order by f1; f1 @@ -152,6 +154,7 @@ Drop database db_drop4; Show databases; Database information_schema +mtr mysql test select trigger_schema, trigger_name, event_object_table diff --git a/mysql-test/suite/funcs_1/r/is_columns_is_embedded.result b/mysql-test/suite/funcs_1/r/is_columns_is_embedded.result index 1e0646de08f..d5e1309e39f 100644 --- a/mysql-test/suite/funcs_1/r/is_columns_is_embedded.result +++ b/mysql-test/suite/funcs_1/r/is_columns_is_embedded.result @@ -3,22 +3,22 @@ WHERE table_schema = 'information_schema' AND table_name <> 'profiling' ORDER BY table_schema, table_name, column_name; TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME ORDINAL_POSITION COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT -NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) -NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) +NULL information_schema CHARACTER_SETS CHARACTER_SET_NAME 1 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) +NULL information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME 2 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) NULL information_schema CHARACTER_SETS DESCRIPTION 3 NO varchar 60 180 NULL NULL utf8 utf8_general_ci varchar(60) NULL information_schema CHARACTER_SETS MAXLEN 4 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) -NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) -NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) +NULL information_schema COLLATIONS CHARACTER_SET_NAME 2 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) +NULL information_schema COLLATIONS COLLATION_NAME 1 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) NULL information_schema COLLATIONS ID 3 0 NO bigint NULL NULL 19 0 NULL NULL bigint(11) NULL information_schema COLLATIONS IS_COMPILED 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) NULL information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) NULL information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) -NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) +NULL information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned -NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) -NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) +NULL information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) +NULL information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) NULL information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) NULL information_schema COLUMNS COLUMN_DEFAULT 6 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext NULL information_schema COLUMNS COLUMN_KEY 16 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) @@ -43,10 +43,10 @@ NULL information_schema COLUMN_PRIVILEGES TABLE_NAME 4 NO varchar 64 192 NULL N NULL information_schema COLUMN_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) NULL information_schema ENGINES COMMENT 3 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) NULL information_schema ENGINES ENGINE 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) -NULL information_schema ENGINES SAVEPOINTS 6 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) +NULL information_schema ENGINES SAVEPOINTS 6 NULL YES varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) NULL information_schema ENGINES SUPPORT 2 NO varchar 8 24 NULL NULL utf8 utf8_general_ci varchar(8) -NULL information_schema ENGINES TRANSACTIONS 4 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) -NULL information_schema ENGINES XA 5 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) +NULL information_schema ENGINES TRANSACTIONS 4 NULL YES varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) +NULL information_schema ENGINES XA 5 NULL YES varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) NULL information_schema EVENTS CHARACTER_SET_CLIENT 22 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) NULL information_schema EVENTS COLLATION_CONNECTION 23 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) NULL information_schema EVENTS CREATED 17 0000-00-00 00:00:00 NO datetime NULL NULL NULL NULL NULL NULL datetime @@ -67,7 +67,7 @@ NULL information_schema EVENTS LAST_ALTERED 18 0000-00-00 00:00:00 NO datetime N NULL information_schema EVENTS LAST_EXECUTED 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime NULL information_schema EVENTS ON_COMPLETION 16 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) NULL information_schema EVENTS ORIGINATOR 21 0 NO bigint NULL NULL 19 0 NULL NULL bigint(10) -NULL information_schema EVENTS SQL_MODE 12 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext +NULL information_schema EVENTS SQL_MODE 12 NO varchar 8192 24576 NULL NULL utf8 utf8_general_ci varchar(8192) NULL information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime NULL information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) NULL information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) @@ -110,9 +110,9 @@ NULL information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NUL NULL information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime NULL information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned NULL information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) -NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 NULL YES varchar 20480 61440 NULL NULL utf8 utf8_general_ci varchar(20480) +NULL information_schema GLOBAL_STATUS VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL utf8 utf8_general_ci varchar(1024) NULL information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) -NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 20480 61440 NULL NULL utf8 utf8_general_ci varchar(20480) +NULL information_schema GLOBAL_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL utf8 utf8_general_ci varchar(1024) NULL information_schema KEY_COLUMN_USAGE COLUMN_NAME 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) NULL information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) @@ -200,11 +200,11 @@ NULL information_schema ROUTINES ROUTINE_TYPE 5 NO varchar 9 27 NULL NULL utf8 NULL information_schema ROUTINES SECURITY_TYPE 15 NO varchar 7 21 NULL NULL utf8 utf8_general_ci varchar(7) NULL information_schema ROUTINES SPECIFIC_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) NULL information_schema ROUTINES SQL_DATA_ACCESS 13 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) -NULL information_schema ROUTINES SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext +NULL information_schema ROUTINES SQL_MODE 18 NO varchar 8192 24576 NULL NULL utf8 utf8_general_ci varchar(8192) NULL information_schema ROUTINES SQL_PATH 14 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) NULL information_schema SCHEMATA CATALOG_NAME 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) -NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) -NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) +NULL information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME 3 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) +NULL information_schema SCHEMATA DEFAULT_COLLATION_NAME 4 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) NULL information_schema SCHEMATA SCHEMA_NAME 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) NULL information_schema SCHEMATA SQL_PATH 5 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) NULL information_schema SCHEMA_PRIVILEGES GRANTEE 1 NO varchar 81 243 NULL NULL utf8 utf8_general_ci varchar(81) @@ -213,9 +213,9 @@ NULL information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE 4 NO varchar 64 192 NU NULL information_schema SCHEMA_PRIVILEGES TABLE_CATALOG 2 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) NULL information_schema SCHEMA_PRIVILEGES TABLE_SCHEMA 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) NULL information_schema SESSION_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) -NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 NULL YES varchar 20480 61440 NULL NULL utf8 utf8_general_ci varchar(20480) +NULL information_schema SESSION_STATUS VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL utf8 utf8_general_ci varchar(1024) NULL information_schema SESSION_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) -NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 20480 61440 NULL NULL utf8 utf8_general_ci varchar(20480) +NULL information_schema SESSION_VARIABLES VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL utf8 utf8_general_ci varchar(1024) NULL information_schema STATISTICS CARDINALITY 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) NULL information_schema STATISTICS COLLATION 9 NULL YES varchar 1 3 NULL NULL utf8 utf8_general_ci varchar(1) NULL information_schema STATISTICS COLUMN_NAME 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) @@ -244,7 +244,7 @@ NULL information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NU NULL information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned NULL information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) NULL information_schema TABLES TABLE_CATALOG 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) -NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) +NULL information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) NULL information_schema TABLES TABLE_COMMENT 21 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) NULL information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) NULL information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned @@ -277,12 +277,12 @@ NULL information_schema TRIGGERS CHARACTER_SET_CLIENT 20 NO varchar 32 96 NULL NULL information_schema TRIGGERS COLLATION_CONNECTION 21 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) NULL information_schema TRIGGERS CREATED 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime NULL information_schema TRIGGERS DATABASE_COLLATION 22 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) -NULL information_schema TRIGGERS DEFINER 19 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext +NULL information_schema TRIGGERS DEFINER 19 NO varchar 77 231 NULL NULL utf8 utf8_general_ci varchar(77) NULL information_schema TRIGGERS EVENT_MANIPULATION 4 NO varchar 6 18 NULL NULL utf8 utf8_general_ci varchar(6) NULL information_schema TRIGGERS EVENT_OBJECT_CATALOG 5 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) NULL information_schema TRIGGERS EVENT_OBJECT_SCHEMA 6 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) NULL information_schema TRIGGERS EVENT_OBJECT_TABLE 7 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) -NULL information_schema TRIGGERS SQL_MODE 18 NULL NO longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext +NULL information_schema TRIGGERS SQL_MODE 18 NO varchar 8192 24576 NULL NULL utf8 utf8_general_ci varchar(8192) NULL information_schema TRIGGERS TRIGGER_CATALOG 1 NULL YES varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) NULL information_schema TRIGGERS TRIGGER_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) NULL information_schema TRIGGERS TRIGGER_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) @@ -357,18 +357,18 @@ WHERE table_schema = 'information_schema' AND table_name <> 'profiling' ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION; COL_CML TABLE_SCHEMA TABLE_NAME COLUMN_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE -3.0000 information_schema CHARACTER_SETS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema CHARACTER_SETS CHARACTER_SET_NAME varchar 32 96 utf8 utf8_general_ci varchar(32) +3.0000 information_schema CHARACTER_SETS DEFAULT_COLLATE_NAME varchar 32 96 utf8 utf8_general_ci varchar(32) 3.0000 information_schema CHARACTER_SETS DESCRIPTION varchar 60 180 utf8 utf8_general_ci varchar(60) NULL information_schema CHARACTER_SETS MAXLEN bigint NULL NULL NULL NULL bigint(3) -3.0000 information_schema COLLATIONS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLLATIONS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema COLLATIONS COLLATION_NAME varchar 32 96 utf8 utf8_general_ci varchar(32) +3.0000 information_schema COLLATIONS CHARACTER_SET_NAME varchar 32 96 utf8 utf8_general_ci varchar(32) NULL information_schema COLLATIONS ID bigint NULL NULL NULL NULL bigint(11) 3.0000 information_schema COLLATIONS IS_DEFAULT varchar 3 9 utf8 utf8_general_ci varchar(3) 3.0000 information_schema COLLATIONS IS_COMPILED varchar 3 9 utf8 utf8_general_ci varchar(3) NULL information_schema COLLATIONS SORTLEN bigint NULL NULL NULL NULL bigint(3) -3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME varchar 32 96 utf8 utf8_general_ci varchar(32) +3.0000 information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME varchar 32 96 utf8 utf8_general_ci varchar(32) 3.0000 information_schema COLUMNS TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512) 3.0000 information_schema COLUMNS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema COLUMNS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) @@ -381,8 +381,8 @@ NULL information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH bigint NULL NULL NULL N NULL information_schema COLUMNS CHARACTER_OCTET_LENGTH bigint NULL NULL NULL NULL bigint(21) unsigned NULL information_schema COLUMNS NUMERIC_PRECISION bigint NULL NULL NULL NULL bigint(21) unsigned NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint(21) unsigned -3.0000 information_schema COLUMNS CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema COLUMNS COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema COLUMNS CHARACTER_SET_NAME varchar 32 96 utf8 utf8_general_ci varchar(32) +3.0000 information_schema COLUMNS COLLATION_NAME varchar 32 96 utf8 utf8_general_ci varchar(32) 1.0000 information_schema COLUMNS COLUMN_TYPE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext 3.0000 information_schema COLUMNS COLUMN_KEY varchar 3 9 utf8 utf8_general_ci varchar(3) 3.0000 information_schema COLUMNS EXTRA varchar 27 81 utf8 utf8_general_ci varchar(27) @@ -412,7 +412,7 @@ NULL information_schema COLUMNS NUMERIC_SCALE bigint NULL NULL NULL NULL bigint( NULL information_schema EVENTS EXECUTE_AT datetime NULL NULL NULL NULL datetime 3.0000 information_schema EVENTS INTERVAL_VALUE varchar 256 768 utf8 utf8_general_ci varchar(256) 3.0000 information_schema EVENTS INTERVAL_FIELD varchar 18 54 utf8 utf8_general_ci varchar(18) -1.0000 information_schema EVENTS SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext +3.0000 information_schema EVENTS SQL_MODE varchar 8192 24576 utf8 utf8_general_ci varchar(8192) NULL information_schema EVENTS STARTS datetime NULL NULL NULL NULL datetime NULL information_schema EVENTS ENDS datetime NULL NULL NULL NULL datetime 3.0000 information_schema EVENTS STATUS varchar 18 54 utf8 utf8_general_ci varchar(18) @@ -464,9 +464,9 @@ NULL information_schema FILES CHECKSUM bigint NULL NULL NULL NULL bigint(21) uns 3.0000 information_schema FILES STATUS varchar 20 60 utf8 utf8_general_ci varchar(20) 3.0000 information_schema FILES EXTRA varchar 255 765 utf8 utf8_general_ci varchar(255) 3.0000 information_schema GLOBAL_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema GLOBAL_STATUS VARIABLE_VALUE varchar 20480 61440 utf8 utf8_general_ci varchar(20480) +3.0000 information_schema GLOBAL_STATUS VARIABLE_VALUE varchar 1024 3072 utf8 utf8_general_ci varchar(1024) 3.0000 information_schema GLOBAL_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema GLOBAL_VARIABLES VARIABLE_VALUE varchar 20480 61440 utf8 utf8_general_ci varchar(20480) +3.0000 information_schema GLOBAL_VARIABLES VARIABLE_VALUE varchar 1024 3072 utf8 utf8_general_ci varchar(1024) 3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512) 3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema KEY_COLUMN_USAGE CONSTRAINT_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) @@ -550,7 +550,7 @@ NULL information_schema PROCESSLIST TIME bigint NULL NULL NULL NULL bigint(7) 3.0000 information_schema ROUTINES SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7) NULL information_schema ROUTINES CREATED datetime NULL NULL NULL NULL datetime NULL information_schema ROUTINES LAST_ALTERED datetime NULL NULL NULL NULL datetime -1.0000 information_schema ROUTINES SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext +3.0000 information_schema ROUTINES SQL_MODE varchar 8192 24576 utf8 utf8_general_ci varchar(8192) 3.0000 information_schema ROUTINES ROUTINE_COMMENT varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema ROUTINES DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77) 3.0000 information_schema ROUTINES CHARACTER_SET_CLIENT varchar 32 96 utf8 utf8_general_ci varchar(32) @@ -558,8 +558,8 @@ NULL information_schema ROUTINES LAST_ALTERED datetime NULL NULL NULL NULL datet 3.0000 information_schema ROUTINES DATABASE_COLLATION varchar 32 96 utf8 utf8_general_ci varchar(32) 3.0000 information_schema SCHEMATA CATALOG_NAME varchar 512 1536 utf8 utf8_general_ci varchar(512) 3.0000 information_schema SCHEMATA SCHEMA_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SCHEMATA DEFAULT_COLLATION_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema SCHEMATA DEFAULT_CHARACTER_SET_NAME varchar 32 96 utf8 utf8_general_ci varchar(32) +3.0000 information_schema SCHEMATA DEFAULT_COLLATION_NAME varchar 32 96 utf8 utf8_general_ci varchar(32) 3.0000 information_schema SCHEMATA SQL_PATH varchar 512 1536 utf8 utf8_general_ci varchar(512) 3.0000 information_schema SCHEMA_PRIVILEGES GRANTEE varchar 81 243 utf8 utf8_general_ci varchar(81) 3.0000 information_schema SCHEMA_PRIVILEGES TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512) @@ -567,9 +567,9 @@ NULL information_schema ROUTINES LAST_ALTERED datetime NULL NULL NULL NULL datet 3.0000 information_schema SCHEMA_PRIVILEGES PRIVILEGE_TYPE varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema SCHEMA_PRIVILEGES IS_GRANTABLE varchar 3 9 utf8 utf8_general_ci varchar(3) 3.0000 information_schema SESSION_STATUS VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SESSION_STATUS VARIABLE_VALUE varchar 20480 61440 utf8 utf8_general_ci varchar(20480) +3.0000 information_schema SESSION_STATUS VARIABLE_VALUE varchar 1024 3072 utf8 utf8_general_ci varchar(1024) 3.0000 information_schema SESSION_VARIABLES VARIABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) -3.0000 information_schema SESSION_VARIABLES VARIABLE_VALUE varchar 20480 61440 utf8 utf8_general_ci varchar(20480) +3.0000 information_schema SESSION_VARIABLES VARIABLE_VALUE varchar 1024 3072 utf8 utf8_general_ci varchar(1024) 3.0000 information_schema STATISTICS TABLE_CATALOG varchar 512 1536 utf8 utf8_general_ci varchar(512) 3.0000 information_schema STATISTICS TABLE_SCHEMA varchar 64 192 utf8 utf8_general_ci varchar(64) 3.0000 information_schema STATISTICS TABLE_NAME varchar 64 192 utf8 utf8_general_ci varchar(64) @@ -602,7 +602,7 @@ NULL information_schema TABLES AUTO_INCREMENT bigint NULL NULL NULL NULL bigint( NULL information_schema TABLES CREATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema TABLES UPDATE_TIME datetime NULL NULL NULL NULL datetime NULL information_schema TABLES CHECK_TIME datetime NULL NULL NULL NULL datetime -3.0000 information_schema TABLES TABLE_COLLATION varchar 64 192 utf8 utf8_general_ci varchar(64) +3.0000 information_schema TABLES TABLE_COLLATION varchar 32 96 utf8 utf8_general_ci varchar(32) NULL information_schema TABLES CHECKSUM bigint NULL NULL NULL NULL bigint(21) unsigned 3.0000 information_schema TABLES CREATE_OPTIONS varchar 255 765 utf8 utf8_general_ci varchar(255) 3.0000 information_schema TABLES TABLE_COMMENT varchar 80 240 utf8 utf8_general_ci varchar(80) @@ -635,8 +635,8 @@ NULL information_schema TRIGGERS ACTION_ORDER bigint NULL NULL NULL NULL bigint( 3.0000 information_schema TRIGGERS ACTION_REFERENCE_OLD_ROW varchar 3 9 utf8 utf8_general_ci varchar(3) 3.0000 information_schema TRIGGERS ACTION_REFERENCE_NEW_ROW varchar 3 9 utf8 utf8_general_ci varchar(3) NULL information_schema TRIGGERS CREATED datetime NULL NULL NULL NULL datetime -1.0000 information_schema TRIGGERS SQL_MODE longtext 4294967295 4294967295 utf8 utf8_general_ci longtext -1.0000 information_schema TRIGGERS DEFINER longtext 4294967295 4294967295 utf8 utf8_general_ci longtext +3.0000 information_schema TRIGGERS SQL_MODE varchar 8192 24576 utf8 utf8_general_ci varchar(8192) +3.0000 information_schema TRIGGERS DEFINER varchar 77 231 utf8 utf8_general_ci varchar(77) 3.0000 information_schema TRIGGERS CHARACTER_SET_CLIENT varchar 32 96 utf8 utf8_general_ci varchar(32) 3.0000 information_schema TRIGGERS COLLATION_CONNECTION varchar 32 96 utf8 utf8_general_ci varchar(32) 3.0000 information_schema TRIGGERS DATABASE_COLLATION varchar 32 96 utf8 utf8_general_ci varchar(32) diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc_08.result b/mysql-test/suite/funcs_1/r/memory_storedproc_08.result index b925d579896..59baf2260fc 100644 --- a/mysql-test/suite/funcs_1/r/memory_storedproc_08.result +++ b/mysql-test/suite/funcs_1/r/memory_storedproc_08.result @@ -209,6 +209,75 @@ DEFINER root@localhost CHARACTER_SET_CLIENT latin1 COLLATION_CONNECTION latin1_swedish_ci DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME add_suppression +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME add_suppression +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_testcase +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_testcase +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_warnings +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_warnings +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT file_name, line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci SHOW CREATE FUNCTION fn_1; Function fn_1 sql_mode NO_ENGINE_SUBSTITUTION @@ -427,6 +496,75 @@ DEFINER root@localhost CHARACTER_SET_CLIENT latin1 COLLATION_CONNECTION latin1_swedish_ci DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME add_suppression +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME add_suppression +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_testcase +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_testcase +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_warnings +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_warnings +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT file_name, line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci SHOW CREATE FUNCTION fn_1; Function fn_1 sql_mode NO_ENGINE_SUBSTITUTION @@ -638,6 +776,75 @@ DEFINER root@localhost CHARACTER_SET_CLIENT latin1 COLLATION_CONNECTION latin1_swedish_ci DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME add_suppression +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME add_suppression +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_testcase +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_testcase +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_warnings +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_warnings +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT file_name, line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci SHOW CREATE FUNCTION fn_1; Function fn_1 sql_mode NO_ENGINE_SUBSTITUTION diff --git a/mysql-test/suite/funcs_1/r/memory_trig_0102.result b/mysql-test/suite/funcs_1/r/memory_trig_0102.result index 1e71085b2e1..a95702debcd 100644 --- a/mysql-test/suite/funcs_1/r/memory_trig_0102.result +++ b/mysql-test/suite/funcs_1/r/memory_trig_0102.result @@ -205,8 +205,10 @@ f1 f2 f3 NULL update 3.5.1.7 42 select trigger_name from information_schema.triggers order by trigger_name; trigger_name +gs_insert trg5_1 trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX +ts_insert drop trigger trg5_1; drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ; ERROR 42000: Identifier name 'trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ' is too long @@ -349,9 +351,11 @@ for each row set @test_var3='trig2'; select trigger_schema, trigger_name, event_object_table from information_schema.triggers order by trigger_name; trigger_schema trigger_name event_object_table +mtr gs_insert global_suppressions trig_db1 trig1_a t1 trig_db1 trig1_b t1 trig_db2 trig2 t1 +mtr ts_insert test_suppressions set @test_var1= '', @test_var2= '', @test_var3= ''; insert into t1 (f1,f2) values ('insert to db1 t1 from db1',352); insert into trig_db2.t1 (f1,f2) values ('insert to db2 t1 from db1',352); diff --git a/mysql-test/suite/funcs_1/r/memory_trig_0407.result b/mysql-test/suite/funcs_1/r/memory_trig_0407.result index 3a790e70583..feb0017b86b 100644 --- a/mysql-test/suite/funcs_1/r/memory_trig_0407.result +++ b/mysql-test/suite/funcs_1/r/memory_trig_0407.result @@ -93,6 +93,8 @@ drop trigger trg1; select trigger_schema, trigger_name, event_object_table from information_schema.triggers order by trigger_name; trigger_schema trigger_name event_object_table +mtr gs_insert global_suppressions +mtr ts_insert test_suppressions Insert into t1 values ('Insert no trigger 3.5.4.1'); Select * from t1 order by f1; f1 @@ -153,6 +155,7 @@ Drop database db_drop4; Show databases; Database information_schema +mtr mysql test select trigger_schema, trigger_name, event_object_table diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc_08.result b/mysql-test/suite/funcs_1/r/myisam_storedproc_08.result index b925d579896..59baf2260fc 100644 --- a/mysql-test/suite/funcs_1/r/myisam_storedproc_08.result +++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_08.result @@ -209,6 +209,75 @@ DEFINER root@localhost CHARACTER_SET_CLIENT latin1 COLLATION_CONNECTION latin1_swedish_ci DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME add_suppression +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME add_suppression +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_testcase +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_testcase +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_warnings +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_warnings +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT file_name, line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci SHOW CREATE FUNCTION fn_1; Function fn_1 sql_mode NO_ENGINE_SUBSTITUTION @@ -427,6 +496,75 @@ DEFINER root@localhost CHARACTER_SET_CLIENT latin1 COLLATION_CONNECTION latin1_swedish_ci DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME add_suppression +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME add_suppression +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_testcase +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_testcase +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_warnings +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_warnings +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT file_name, line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci SHOW CREATE FUNCTION fn_1; Function fn_1 sql_mode NO_ENGINE_SUBSTITUTION @@ -638,6 +776,75 @@ DEFINER root@localhost CHARACTER_SET_CLIENT latin1 COLLATION_CONNECTION latin1_swedish_ci DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME add_suppression +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME add_suppression +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_testcase +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_testcase +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_warnings +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_warnings +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT file_name, line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci SHOW CREATE FUNCTION fn_1; Function fn_1 sql_mode NO_ENGINE_SUBSTITUTION diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_0102.result b/mysql-test/suite/funcs_1/r/myisam_trig_0102.result index 1e71085b2e1..a95702debcd 100644 --- a/mysql-test/suite/funcs_1/r/myisam_trig_0102.result +++ b/mysql-test/suite/funcs_1/r/myisam_trig_0102.result @@ -205,8 +205,10 @@ f1 f2 f3 NULL update 3.5.1.7 42 select trigger_name from information_schema.triggers order by trigger_name; trigger_name +gs_insert trg5_1 trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX +ts_insert drop trigger trg5_1; drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ; ERROR 42000: Identifier name 'trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ' is too long @@ -349,9 +351,11 @@ for each row set @test_var3='trig2'; select trigger_schema, trigger_name, event_object_table from information_schema.triggers order by trigger_name; trigger_schema trigger_name event_object_table +mtr gs_insert global_suppressions trig_db1 trig1_a t1 trig_db1 trig1_b t1 trig_db2 trig2 t1 +mtr ts_insert test_suppressions set @test_var1= '', @test_var2= '', @test_var3= ''; insert into t1 (f1,f2) values ('insert to db1 t1 from db1',352); insert into trig_db2.t1 (f1,f2) values ('insert to db2 t1 from db1',352); diff --git a/mysql-test/suite/funcs_1/r/myisam_trig_0407.result b/mysql-test/suite/funcs_1/r/myisam_trig_0407.result index 3a790e70583..feb0017b86b 100644 --- a/mysql-test/suite/funcs_1/r/myisam_trig_0407.result +++ b/mysql-test/suite/funcs_1/r/myisam_trig_0407.result @@ -93,6 +93,8 @@ drop trigger trg1; select trigger_schema, trigger_name, event_object_table from information_schema.triggers order by trigger_name; trigger_schema trigger_name event_object_table +mtr gs_insert global_suppressions +mtr ts_insert test_suppressions Insert into t1 values ('Insert no trigger 3.5.4.1'); Select * from t1 order by f1; f1 @@ -153,6 +155,7 @@ Drop database db_drop4; Show databases; Database information_schema +mtr mysql test select trigger_schema, trigger_name, event_object_table diff --git a/mysql-test/suite/funcs_1/r/ndb_storedproc_08.result b/mysql-test/suite/funcs_1/r/ndb_storedproc_08.result index 4209edc58a7..79380e4c38c 100644 --- a/mysql-test/suite/funcs_1/r/ndb_storedproc_08.result +++ b/mysql-test/suite/funcs_1/r/ndb_storedproc_08.result @@ -208,6 +208,75 @@ DEFINER root@localhost CHARACTER_SET_CLIENT latin1 COLLATION_CONNECTION latin1_swedish_ci DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME add_suppression +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME add_suppression +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_testcase +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_testcase +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_warnings +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_warnings +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT file_name, line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci SHOW CREATE FUNCTION fn_1; Function fn_1 sql_mode @@ -426,6 +495,75 @@ DEFINER root@localhost CHARACTER_SET_CLIENT latin1 COLLATION_CONNECTION latin1_swedish_ci DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME add_suppression +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME add_suppression +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_testcase +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_testcase +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_warnings +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_warnings +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT file_name, line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci SHOW CREATE FUNCTION fn_1; Function fn_1 sql_mode @@ -637,6 +775,75 @@ DEFINER root@localhost CHARACTER_SET_CLIENT latin1 COLLATION_CONNECTION latin1_swedish_ci DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME add_suppression +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME add_suppression +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN INSERT INTO test_suppressions (pattern) VALUES (pattern); END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_testcase +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_testcase +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci +SPECIFIC_NAME check_warnings +ROUTINE_CATALOG NULL +ROUTINE_SCHEMA mtr +ROUTINE_NAME check_warnings +ROUTINE_TYPE PROCEDURE +DTD_IDENTIFIER NULL +ROUTINE_BODY SQL +ROUTINE_DEFINITION BEGIN DECLARE `pos` bigint unsigned; SET SQL_LOG_BIN=0; UPDATE error_log el, global_suppressions gs SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP gs.pattern; UPDATE error_log el, test_suppressions ts SET suspicious=0 WHERE el.suspicious=1 AND el.line REGEXP ts.pattern; SELECT COUNT(*) INTO @num_warnings FROM error_log WHERE suspicious=1; IF @num_warnings > 0 THEN SELECT file_name, line FROM error_log WHERE suspicious=1; SELECT 2 INTO result; ELSE SELECT 0 INTO RESULT; END IF; TRUNCATE test_suppressions; DROP TABLE error_log; END +EXTERNAL_NAME NULL +EXTERNAL_LANGUAGE NULL +PARAMETER_STYLE SQL +IS_DETERMINISTIC NO +SQL_DATA_ACCESS CONTAINS SQL +SQL_PATH NULL +SECURITY_TYPE DEFINER +CREATED +LAST_ALTERED +SQL_MODE +ROUTINE_COMMENT +DEFINER root@localhost +CHARACTER_SET_CLIENT latin1 +COLLATION_CONNECTION latin1_swedish_ci +DATABASE_COLLATION latin1_swedish_ci SHOW CREATE FUNCTION fn_1; Function fn_1 sql_mode diff --git a/mysql-test/suite/funcs_1/r/ndb_trig_0102.result b/mysql-test/suite/funcs_1/r/ndb_trig_0102.result index 2cd4b447367..86c2d2521ac 100644 --- a/mysql-test/suite/funcs_1/r/ndb_trig_0102.result +++ b/mysql-test/suite/funcs_1/r/ndb_trig_0102.result @@ -204,8 +204,10 @@ f1 f2 f3 NULL update 3.5.1.7 42 select trigger_name from information_schema.triggers order by trigger_name; trigger_name +gs_insert trg5_1 trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWX +ts_insert drop trigger trg5_1; drop trigger trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ; ERROR 42000: Identifier name 'trg_abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ' is too long @@ -348,9 +350,11 @@ for each row set @test_var3='trig2'; select trigger_schema, trigger_name, event_object_table from information_schema.triggers order by trigger_name; trigger_schema trigger_name event_object_table +mtr gs_insert global_suppressions trig_db1 trig1_a t1 trig_db1 trig1_b t1 trig_db2 trig2 t1 +mtr ts_insert test_suppressions set @test_var1= '', @test_var2= '', @test_var3= ''; insert into t1 (f1,f2) values ('insert to db1 t1 from db1',352); insert into trig_db2.t1 (f1,f2) values ('insert to db2 t1 from db1',352); diff --git a/mysql-test/suite/funcs_1/r/ndb_trig_0407.result b/mysql-test/suite/funcs_1/r/ndb_trig_0407.result index a4871065c04..62c8e0d06db 100644 --- a/mysql-test/suite/funcs_1/r/ndb_trig_0407.result +++ b/mysql-test/suite/funcs_1/r/ndb_trig_0407.result @@ -92,6 +92,8 @@ drop trigger trg1; select trigger_schema, trigger_name, event_object_table from information_schema.triggers order by trigger_name; trigger_schema trigger_name event_object_table +mtr gs_insert global_suppressions +mtr ts_insert test_suppressions Insert into t1 values ('Insert no trigger 3.5.4.1'); Select * from t1 order by f1; f1 @@ -152,6 +154,7 @@ Drop database db_drop4; Show databases; Database information_schema +mtr mysql test select trigger_schema, trigger_name, event_object_table diff --git a/mysql-test/suite/funcs_1/r/ndb_views.result b/mysql-test/suite/funcs_1/r/ndb_views.result index f6b81eabf90..671ef590f4d 100644 --- a/mysql-test/suite/funcs_1/r/ndb_views.result +++ b/mysql-test/suite/funcs_1/r/ndb_views.result @@ -21567,7 +21567,8 @@ View Create View character_set_client collation_connection v28 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `test1`.`v28` AS select `tab1`.`f1` AS `f1`,`tab1`.`f2` AS `f2` from (`test3`.`t1` `tab1` join `test1`.`v27` `tab2` on(((`tab1`.`f1` = `tab2`.`f1`) and (`tab1`.`f2` = `tab2`.`f2`)))) latin1 latin1_swedish_ci SELECT CAST(f1 AS SIGNED INTEGER) AS f1, CAST(f2 AS CHAR) AS f2 FROM test1.v28; -ERROR HY000: Got temporary error 4006 'Connect failure - out of connection objects (increase MaxNoOfConcurrentTransactions)' from NDBCLUSTER +f1 f2 +5 five The output of following EXPLAIN is deactivated, because the result differs on some platforms diff --git a/mysql-test/suite/funcs_1/r/storedproc.result b/mysql-test/suite/funcs_1/r/storedproc.result index b9bd8830383..fd5b090e6fb 100644 --- a/mysql-test/suite/funcs_1/r/storedproc.result +++ b/mysql-test/suite/funcs_1/r/storedproc.result @@ -94,6 +94,9 @@ CALL sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde( 'abc' ); ERROR 42000: Identifier name 'sp1_thisisaveryverylongname234872934_thisisaveryverylongnameabcde' is too long SHOW PROCEDURE STATUS; Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation +mtr add_suppression PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci +mtr check_testcase PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci +mtr check_warnings PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci DROP PROCEDURE IF EXISTS sp1; CREATE PROCEDURE sp1( f1 BINARY ) LANGUAGE SQL DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple' @@ -109,6 +112,9 @@ Warning 1265 Data truncated for column 'f1' at row 1 SHOW PROCEDURE STATUS; Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation db_storedproc sp1 PROCEDURE root@localhost INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci +mtr add_suppression PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci +mtr check_testcase PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci +mtr check_warnings PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci DROP PROCEDURE IF EXISTS sp1; CREATE PROCEDURE sp1( f1 BLOB ) LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple' @@ -122,6 +128,9 @@ CALL sp1( 34 ); SHOW PROCEDURE STATUS; Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation db_storedproc sp1 PROCEDURE root@localhost INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci +mtr add_suppression PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci +mtr check_testcase PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci +mtr check_warnings PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci DROP PROCEDURE IF EXISTS sp1; CREATE PROCEDURE sp1( f1 INT ) LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple' @@ -135,6 +144,9 @@ CALL sp1( 34 ); SHOW PROCEDURE STATUS; Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation db_storedproc sp1 PROCEDURE root@localhost INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci +mtr add_suppression PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci +mtr check_testcase PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci +mtr check_warnings PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci DROP PROCEDURE IF EXISTS sp1; CREATE PROCEDURE sp1( f1 DECIMAL(256, 30) ) LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple' @@ -176,6 +188,9 @@ END// SHOW PROCEDURE STATUS; Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation db_storedproc sproc_1 PROCEDURE root@localhost INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci +mtr add_suppression PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci +mtr check_testcase PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci +mtr check_warnings PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci SHOW FUNCTION STATUS; Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation db_storedproc func_1 FUNCTION root@localhost INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci @@ -1419,6 +1434,9 @@ Note 1291 Column '' has duplicated value 'value1' in ENUM SHOW PROCEDURE STATUS; Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation db_storedproc sp1 PROCEDURE root@localhost INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci +mtr add_suppression PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci +mtr check_testcase PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci +mtr check_warnings PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci DROP PROCEDURE IF EXISTS sp1; CREATE PROCEDURE sp1( f1 SET("value1", "value1") ) LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple' @@ -1436,6 +1454,9 @@ Warning 1265 Data truncated for column 'f1' at row 1 SHOW PROCEDURE STATUS; Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation db_storedproc sp1 PROCEDURE root@localhost INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci +mtr add_suppression PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci +mtr check_testcase PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci +mtr check_warnings PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci DROP PROCEDURE IF EXISTS sp1; CREATE PROCEDURE sp1( f1 ENUM("value1", "value1") ) LANGUAGE SQL NOT DETERMINISTIC SQL SECURITY INVOKER COMMENT 'this is simple' @@ -1452,6 +1473,9 @@ Note 1291 Column '' has duplicated value 'value1' in ENUM SHOW PROCEDURE STATUS; Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation db_storedproc sp1 PROCEDURE root@localhost INVOKER this is simple latin1 latin1_swedish_ci latin1_swedish_ci +mtr add_suppression PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci +mtr check_testcase PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci +mtr check_warnings PROCEDURE root@localhost DEFINER latin1 latin1_swedish_ci latin1_swedish_ci DROP PROCEDURE IF EXISTS sp1; CREATE PROCEDURE sp1( f1 TEXT ) LANGUAGE SQL SELECT f1; CALL sp1( 'abc' ); diff --git a/mysql-test/suite/funcs_1/storedproc/storedproc_06.inc b/mysql-test/suite/funcs_1/storedproc/storedproc_06.inc index f2df99fb5a3..d0fc6092959 100644 --- a/mysql-test/suite/funcs_1/storedproc/storedproc_06.inc +++ b/mysql-test/suite/funcs_1/storedproc/storedproc_06.inc @@ -53,6 +53,7 @@ flush privileges; DROP PROCEDURE IF EXISTS sp1; --enable_warnings +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (user1a, localhost, user_1, , db_storedproc_1); --source suite/funcs_1/include/show_connection.inc diff --git a/mysql-test/suite/funcs_1/storedproc/storedproc_10.inc b/mysql-test/suite/funcs_1/storedproc/storedproc_10.inc index 83f5f2105c5..69378541b51 100644 --- a/mysql-test/suite/funcs_1/storedproc/storedproc_10.inc +++ b/mysql-test/suite/funcs_1/storedproc/storedproc_10.inc @@ -58,6 +58,7 @@ GRANT CREATE ROUTINE ON db_storedproc.* TO 'user_1'@'localhost'; GRANT SELECT ON db_storedproc.* TO 'user_2'@'localhost'; FLUSH PRIVILEGES; +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (user2_1, localhost, user_1, , db_storedproc); --source suite/funcs_1/include/show_connection.inc diff --git a/mysql-test/suite/funcs_1/t/is_basics_mixed.test b/mysql-test/suite/funcs_1/t/is_basics_mixed.test index 235b91c67d0..7d03dc5f8b0 100644 --- a/mysql-test/suite/funcs_1/t/is_basics_mixed.test +++ b/mysql-test/suite/funcs_1/t/is_basics_mixed.test @@ -55,6 +55,7 @@ DROP USER 'testuser1'@'localhost'; CREATE USER 'testuser1'@'localhost'; # Low privileged user --echo # Establish connection testuser1 (user=testuser1) +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (testuser1, localhost, testuser1, , test); SELECT DATABASE(); diff --git a/mysql-test/suite/funcs_1/t/is_column_privileges.test b/mysql-test/suite/funcs_1/t/is_column_privileges.test index cb8c50c01b7..925d07b9657 100644 --- a/mysql-test/suite/funcs_1/t/is_column_privileges.test +++ b/mysql-test/suite/funcs_1/t/is_column_privileges.test @@ -132,6 +132,7 @@ WITH GRANT OPTION; eval $select; --echo # Establish connection testuser1 (user=testuser1) +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (testuser1, localhost, testuser1, , db_datadict); eval $select; diff --git a/mysql-test/suite/funcs_1/t/is_column_privileges_is_mysql_test.test b/mysql-test/suite/funcs_1/t/is_column_privileges_is_mysql_test.test index 33269fe929c..98d01c60838 100644 --- a/mysql-test/suite/funcs_1/t/is_column_privileges_is_mysql_test.test +++ b/mysql-test/suite/funcs_1/t/is_column_privileges_is_mysql_test.test @@ -46,6 +46,7 @@ eval $my_show2; eval $my_show3; --echo # Establish connection testuser1 (user=testuser1) +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (testuser1, localhost, testuser1, , db_datadict); eval $my_select; diff --git a/mysql-test/suite/funcs_1/t/is_columns.test b/mysql-test/suite/funcs_1/t/is_columns.test index efb52acd48c..20b832ca5c3 100644 --- a/mysql-test/suite/funcs_1/t/is_columns.test +++ b/mysql-test/suite/funcs_1/t/is_columns.test @@ -148,6 +148,7 @@ eval $my_show2; eval $my_show3; --echo # Establish connection testuser1 (user=testuser1) +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (testuser1, localhost, testuser1, , db_datadict); --source suite/funcs_1/datadict/datadict_bug_12777.inc diff --git a/mysql-test/suite/funcs_1/t/is_schema_privileges.test b/mysql-test/suite/funcs_1/t/is_schema_privileges.test index 1f408d71b39..c1fc70b03f7 100644 --- a/mysql-test/suite/funcs_1/t/is_schema_privileges.test +++ b/mysql-test/suite/funcs_1/t/is_schema_privileges.test @@ -116,6 +116,7 @@ let $show_testuser1 = SHOW GRANTS FOR 'testuser1'@'localhost'; let $show_testuser2 = SHOW GRANTS FOR 'testuser2'@'localhost'; --echo # Establish connection testuser1 (user=testuser1) +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (testuser1, localhost, testuser1, , test); GRANT SELECT ON db_datadict_4.* TO 'testuser2'@'localhost'; diff --git a/mysql-test/suite/funcs_1/t/is_schema_privileges_is_mysql_test.test b/mysql-test/suite/funcs_1/t/is_schema_privileges_is_mysql_test.test index 3f60f71fe9a..d7b703ed04a 100644 --- a/mysql-test/suite/funcs_1/t/is_schema_privileges_is_mysql_test.test +++ b/mysql-test/suite/funcs_1/t/is_schema_privileges_is_mysql_test.test @@ -46,6 +46,7 @@ eval $my_show2; eval $my_show3; --echo # Establish connection testuser1 (user=testuser1) +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (testuser1, localhost, testuser1, , db_datadict); eval $my_select; diff --git a/mysql-test/suite/funcs_1/t/is_schemata_is_mysql_test.test b/mysql-test/suite/funcs_1/t/is_schemata_is_mysql_test.test index 9bfbf0cf335..b5f13ab323c 100644 --- a/mysql-test/suite/funcs_1/t/is_schemata_is_mysql_test.test +++ b/mysql-test/suite/funcs_1/t/is_schemata_is_mysql_test.test @@ -46,6 +46,7 @@ eval $my_show2; eval $my_show3; --echo # Establish connection testuser1 (user=testuser1) +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (testuser1, localhost, testuser1, , db_datadict); eval $my_select; diff --git a/mysql-test/suite/funcs_1/t/is_statistics.test b/mysql-test/suite/funcs_1/t/is_statistics.test index 458892a6d91..e202e7392ea 100644 --- a/mysql-test/suite/funcs_1/t/is_statistics.test +++ b/mysql-test/suite/funcs_1/t/is_statistics.test @@ -140,6 +140,7 @@ eval $my_show1; eval $my_show2; --echo # Establish connection testuser1 (user=testuser1) +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (testuser1, localhost, testuser1, , test); # nothing visible for testuser1 diff --git a/mysql-test/suite/funcs_1/t/is_table_constraints.test b/mysql-test/suite/funcs_1/t/is_table_constraints.test index a64b3bfaa6e..730e805c91e 100644 --- a/mysql-test/suite/funcs_1/t/is_table_constraints.test +++ b/mysql-test/suite/funcs_1/t/is_table_constraints.test @@ -132,6 +132,7 @@ eval $my_show1; eval $my_show2; --echo # Establish connection testuser1 (user=testuser1) +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (testuser1, localhost, testuser1, , db_datadict); SHOW GRANTS FOR 'testuser1'@'localhost'; diff --git a/mysql-test/suite/funcs_1/t/is_table_privileges.test b/mysql-test/suite/funcs_1/t/is_table_privileges.test index 5ea0dd7c6a7..27ce22816a2 100644 --- a/mysql-test/suite/funcs_1/t/is_table_privileges.test +++ b/mysql-test/suite/funcs_1/t/is_table_privileges.test @@ -116,6 +116,7 @@ WHERE table_name LIKE 'tb%' ORDER BY grantee,table_schema,table_name,privilege_type; --echo # Establish connection testuser1 (user=testuser1) +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (testuser1, localhost, testuser1, , db_datadict); --replace_result $other_engine_type diff --git a/mysql-test/suite/funcs_1/t/is_user_privileges.test b/mysql-test/suite/funcs_1/t/is_user_privileges.test index 1d0d3e51aae..5f8c29ca39d 100644 --- a/mysql-test/suite/funcs_1/t/is_user_privileges.test +++ b/mysql-test/suite/funcs_1/t/is_user_privileges.test @@ -114,6 +114,7 @@ eval $my_select1; eval $my_select2; --echo # Establish connection testuser1 (user=testuser1) +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (testuser1, localhost, testuser1, , db_datadict); eval $my_select1; diff --git a/mysql-test/suite/funcs_1/t/storedproc.test b/mysql-test/suite/funcs_1/t/storedproc.test index d7ef1f2712b..cc45101fbed 100644 --- a/mysql-test/suite/funcs_1/t/storedproc.test +++ b/mysql-test/suite/funcs_1/t/storedproc.test @@ -817,6 +817,7 @@ CREATE PROCEDURE sp11() insert into mysql.t1 values('a'); --replace_column 13 created 14 modified SELECT security_type from mysql.proc where specific_name='sp11'; +let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK connect (u_1, localhost, user_1, , db_storedproc); --source suite/funcs_1/include/show_connection.inc diff --git a/mysql-test/suite/funcs_1/triggers/triggers_03.inc b/mysql-test/suite/funcs_1/triggers/triggers_03.inc index 9ef6a9ac9af..e5bea5b2005 100644 --- a/mysql-test/suite/funcs_1/triggers/triggers_03.inc +++ b/mysql-test/suite/funcs_1/triggers/triggers_03.inc @@ -62,6 +62,7 @@ let $message= Testcase 3.5.3.2/6:; grant SELECT on priv_db.t1 to test_yesprivs@localhost; show grants for test_yesprivs@localhost; + let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK connect (no_privs,localhost,test_noprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK diff --git a/mysql-test/suite/funcs_1/triggers/triggers_03e_columns.inc b/mysql-test/suite/funcs_1/triggers/triggers_03e_columns.inc index 475063587d4..60928ba8f35 100644 --- a/mysql-test/suite/funcs_1/triggers/triggers_03e_columns.inc +++ b/mysql-test/suite/funcs_1/triggers/triggers_03e_columns.inc @@ -36,6 +36,7 @@ let $message= ####### Testcase for column privileges of triggers: #######; grant SELECT,UPDATE on priv_db.* to test_noprivs@localhost; show grants for test_noprivs@localhost; + let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK connect (yes_privs,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); diff --git a/mysql-test/suite/funcs_1/triggers/triggers_03e_db_level.inc b/mysql-test/suite/funcs_1/triggers/triggers_03e_db_level.inc index e5933eb84a8..cb9d8ddc78b 100644 --- a/mysql-test/suite/funcs_1/triggers/triggers_03e_db_level.inc +++ b/mysql-test/suite/funcs_1/triggers/triggers_03e_db_level.inc @@ -37,6 +37,7 @@ let $message= Testcase for db level:; show grants for test_noprivs@localhost; # no trigger privilege->create trigger must fail: + let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK connect (yes_privs,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); let $message= no trigger privilege on db level for create:; diff --git a/mysql-test/suite/funcs_1/triggers/triggers_03e_db_table_mix.inc b/mysql-test/suite/funcs_1/triggers/triggers_03e_db_table_mix.inc index 82f4a28f664..de9cf61f641 100644 --- a/mysql-test/suite/funcs_1/triggers/triggers_03e_db_table_mix.inc +++ b/mysql-test/suite/funcs_1/triggers/triggers_03e_db_table_mix.inc @@ -41,6 +41,7 @@ let $message= ####### Testcase for mix of db and table level: #######; grant SELECT,INSERT on priv2_db.* to test_noprivs@localhost; show grants for test_noprivs@localhost; + let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK connect (yes_privs,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); use priv1_db; diff --git a/mysql-test/suite/funcs_1/triggers/triggers_03e_definer.inc b/mysql-test/suite/funcs_1/triggers/triggers_03e_definer.inc index f1efff990f1..18c8a3ebcd5 100644 --- a/mysql-test/suite/funcs_1/triggers/triggers_03e_definer.inc +++ b/mysql-test/suite/funcs_1/triggers/triggers_03e_definer.inc @@ -27,6 +27,7 @@ let $message= ######### Testcase for definer: ########; revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; + let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK connect (yes_privs,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); diff --git a/mysql-test/suite/funcs_1/triggers/triggers_03e_global_db_mix.inc b/mysql-test/suite/funcs_1/triggers/triggers_03e_global_db_mix.inc index b6f4af7e0a7..cd90d25aefd 100644 --- a/mysql-test/suite/funcs_1/triggers/triggers_03e_global_db_mix.inc +++ b/mysql-test/suite/funcs_1/triggers/triggers_03e_global_db_mix.inc @@ -38,6 +38,7 @@ let $message= #### Testcase for mix of user(global) and db level: ####; grant SELECT,INSERT on *.* to test_noprivs@localhost; show grants for test_noprivs@localhost; + let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK connect (yes_privs,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); diff --git a/mysql-test/suite/funcs_1/triggers/triggers_03e_prepare.inc b/mysql-test/suite/funcs_1/triggers/triggers_03e_prepare.inc index ea7c385768c..f1b3bbe2cb4 100644 --- a/mysql-test/suite/funcs_1/triggers/triggers_03e_prepare.inc +++ b/mysql-test/suite/funcs_1/triggers/triggers_03e_prepare.inc @@ -32,6 +32,7 @@ let $message= #### Testcase for trigger privilege on execution time ########; revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; revoke ALL PRIVILEGES, GRANT OPTION FROM test_useprivs@localhost; + let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK connect (yes_privs,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); diff --git a/mysql-test/suite/funcs_1/triggers/triggers_03e_table_level.inc b/mysql-test/suite/funcs_1/triggers/triggers_03e_table_level.inc index 1019579a3fb..9cc272c09bc 100644 --- a/mysql-test/suite/funcs_1/triggers/triggers_03e_table_level.inc +++ b/mysql-test/suite/funcs_1/triggers/triggers_03e_table_level.inc @@ -30,7 +30,7 @@ let $message= ######### Testcase for table level: ########; set password for test_noprivs@localhost = password('PWD'); revoke ALL PRIVILEGES, GRANT OPTION FROM test_noprivs@localhost; - + let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK connect (yes_privs,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); diff --git a/mysql-test/suite/funcs_1/triggers/triggers_03e_transaction.inc b/mysql-test/suite/funcs_1/triggers/triggers_03e_transaction.inc index e43f4ce97a3..53ce49c728c 100644 --- a/mysql-test/suite/funcs_1/triggers/triggers_03e_transaction.inc +++ b/mysql-test/suite/funcs_1/triggers/triggers_03e_transaction.inc @@ -27,6 +27,7 @@ let $message= ######### Testcase for transactions: ########; revoke ALL PRIVILEGES, GRANT OPTION FROM test_yesprivs@localhost; + let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK connect (yes_privs,localhost,test_yesprivs,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); diff --git a/mysql-test/suite/funcs_1/triggers/triggers_0407.inc b/mysql-test/suite/funcs_1/triggers/triggers_0407.inc index 8bacc3944de..a5e3c180a71 100644 --- a/mysql-test/suite/funcs_1/triggers/triggers_0407.inc +++ b/mysql-test/suite/funcs_1/triggers/triggers_0407.inc @@ -22,6 +22,7 @@ let $message= Testcase: 3.5:; create User test_super@localhost; set password for test_super@localhost = password('PWD'); grant ALL on *.* to test_super@localhost with grant OPTION; + let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK connect (con1_general,localhost,test_general,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK diff --git a/mysql-test/suite/funcs_1/triggers/triggers_08.inc b/mysql-test/suite/funcs_1/triggers/triggers_08.inc index 087f18e8e6b..4b4050b996d 100644 --- a/mysql-test/suite/funcs_1/triggers/triggers_08.inc +++ b/mysql-test/suite/funcs_1/triggers/triggers_08.inc @@ -23,6 +23,7 @@ let $message= Testcase: 3.5:; create User test_super@localhost; set password for test_super@localhost = password('PWD'); grant ALL on *.* to test_super@localhost with grant OPTION; + let $MASTER_MYSOCK= query_get_value(SHOW VARIABLES LIKE 'socket', Value, 1); --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK connect (con2_general,localhost,test_general,PWD,test,$MASTER_MYPORT,$MASTER_MYSOCK); --replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK -- cgit v1.2.1 -- cgit v1.2.1 From 1021520512e3542ab841d1897131d187cc8b3b5d Mon Sep 17 00:00:00 2001 From: Alfranio Correia Date: Sun, 1 Feb 2009 19:10:36 +0000 Subject: Fixed test cases in suite funcs_1 due to changes in the MTR "check test cases". --- mysql-test/suite/funcs_1/r/innodb_storedproc_08.result | 6 +++--- mysql-test/suite/funcs_1/r/memory_storedproc_08.result | 6 +++--- mysql-test/suite/funcs_1/r/myisam_storedproc_08.result | 6 +++--- mysql-test/suite/funcs_1/r/ndb_storedproc_08.result | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result b/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result index 79380e4c38c..7bffd77d9c6 100644 --- a/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result +++ b/mysql-test/suite/funcs_1/r/innodb_storedproc_08.result @@ -238,7 +238,7 @@ ROUTINE_NAME check_testcase ROUTINE_TYPE PROCEDURE DTD_IDENTIFIER NULL ROUTINE_BODY SQL -ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp' ORDER BY VARIABLE_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END EXTERNAL_NAME NULL EXTERNAL_LANGUAGE NULL PARAMETER_STYLE SQL @@ -525,7 +525,7 @@ ROUTINE_NAME check_testcase ROUTINE_TYPE PROCEDURE DTD_IDENTIFIER NULL ROUTINE_BODY SQL -ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp' ORDER BY VARIABLE_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END EXTERNAL_NAME NULL EXTERNAL_LANGUAGE NULL PARAMETER_STYLE SQL @@ -805,7 +805,7 @@ ROUTINE_NAME check_testcase ROUTINE_TYPE PROCEDURE DTD_IDENTIFIER NULL ROUTINE_BODY SQL -ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp' ORDER BY VARIABLE_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END EXTERNAL_NAME NULL EXTERNAL_LANGUAGE NULL PARAMETER_STYLE SQL diff --git a/mysql-test/suite/funcs_1/r/memory_storedproc_08.result b/mysql-test/suite/funcs_1/r/memory_storedproc_08.result index 59baf2260fc..2740a2cafa8 100644 --- a/mysql-test/suite/funcs_1/r/memory_storedproc_08.result +++ b/mysql-test/suite/funcs_1/r/memory_storedproc_08.result @@ -239,7 +239,7 @@ ROUTINE_NAME check_testcase ROUTINE_TYPE PROCEDURE DTD_IDENTIFIER NULL ROUTINE_BODY SQL -ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp' ORDER BY VARIABLE_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END EXTERNAL_NAME NULL EXTERNAL_LANGUAGE NULL PARAMETER_STYLE SQL @@ -526,7 +526,7 @@ ROUTINE_NAME check_testcase ROUTINE_TYPE PROCEDURE DTD_IDENTIFIER NULL ROUTINE_BODY SQL -ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp' ORDER BY VARIABLE_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END EXTERNAL_NAME NULL EXTERNAL_LANGUAGE NULL PARAMETER_STYLE SQL @@ -806,7 +806,7 @@ ROUTINE_NAME check_testcase ROUTINE_TYPE PROCEDURE DTD_IDENTIFIER NULL ROUTINE_BODY SQL -ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp' ORDER BY VARIABLE_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END EXTERNAL_NAME NULL EXTERNAL_LANGUAGE NULL PARAMETER_STYLE SQL diff --git a/mysql-test/suite/funcs_1/r/myisam_storedproc_08.result b/mysql-test/suite/funcs_1/r/myisam_storedproc_08.result index 59baf2260fc..2740a2cafa8 100644 --- a/mysql-test/suite/funcs_1/r/myisam_storedproc_08.result +++ b/mysql-test/suite/funcs_1/r/myisam_storedproc_08.result @@ -239,7 +239,7 @@ ROUTINE_NAME check_testcase ROUTINE_TYPE PROCEDURE DTD_IDENTIFIER NULL ROUTINE_BODY SQL -ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp' ORDER BY VARIABLE_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END EXTERNAL_NAME NULL EXTERNAL_LANGUAGE NULL PARAMETER_STYLE SQL @@ -526,7 +526,7 @@ ROUTINE_NAME check_testcase ROUTINE_TYPE PROCEDURE DTD_IDENTIFIER NULL ROUTINE_BODY SQL -ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp' ORDER BY VARIABLE_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END EXTERNAL_NAME NULL EXTERNAL_LANGUAGE NULL PARAMETER_STYLE SQL @@ -806,7 +806,7 @@ ROUTINE_NAME check_testcase ROUTINE_TYPE PROCEDURE DTD_IDENTIFIER NULL ROUTINE_BODY SQL -ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp' ORDER BY VARIABLE_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END EXTERNAL_NAME NULL EXTERNAL_LANGUAGE NULL PARAMETER_STYLE SQL diff --git a/mysql-test/suite/funcs_1/r/ndb_storedproc_08.result b/mysql-test/suite/funcs_1/r/ndb_storedproc_08.result index 79380e4c38c..7bffd77d9c6 100644 --- a/mysql-test/suite/funcs_1/r/ndb_storedproc_08.result +++ b/mysql-test/suite/funcs_1/r/ndb_storedproc_08.result @@ -238,7 +238,7 @@ ROUTINE_NAME check_testcase ROUTINE_TYPE PROCEDURE DTD_IDENTIFIER NULL ROUTINE_BODY SQL -ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp' ORDER BY VARIABLE_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END EXTERNAL_NAME NULL EXTERNAL_LANGUAGE NULL PARAMETER_STYLE SQL @@ -525,7 +525,7 @@ ROUTINE_NAME check_testcase ROUTINE_TYPE PROCEDURE DTD_IDENTIFIER NULL ROUTINE_BODY SQL -ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp' ORDER BY VARIABLE_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END EXTERNAL_NAME NULL EXTERNAL_LANGUAGE NULL PARAMETER_STYLE SQL @@ -805,7 +805,7 @@ ROUTINE_NAME check_testcase ROUTINE_TYPE PROCEDURE DTD_IDENTIFIER NULL ROUTINE_BODY SQL -ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp'; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END +ROUTINE_DEFINITION BEGIN SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE variable_name != 'timestamp' ORDER BY VARIABLE_NAME; SELECT * FROM INFORMATION_SCHEMA.SCHEMATA; SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='test'; SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY tables_in_mysql; SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql, column_name, ordinal_position, column_default, is_nullable, data_type, character_maximum_length, character_octet_length, numeric_precision, numeric_scale, character_set_name, collation_name, column_type, column_key, extra, column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='mysql' AND table_name != 'ndb_apply_status' ORDER BY columns_in_mysql; checksum table mysql.columns_priv, mysql.db, mysql.func, mysql.help_category, mysql.help_keyword, mysql.help_relation, mysql.host, mysql.proc, mysql.procs_priv, mysql.tables_priv, mysql.time_zone, mysql.time_zone_leap_second, mysql.time_zone_name, mysql.time_zone_transition, mysql.time_zone_transition_type, mysql.user; END EXTERNAL_NAME NULL EXTERNAL_LANGUAGE NULL PARAMETER_STYLE SQL -- cgit v1.2.1 From c205bef39d3762edad4345cf393fcf07007071d2 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Mon, 2 Feb 2009 12:18:38 +0200 Subject: Fix from magnus for the "The socket file path is too long (> 107)" failure. --- mysql-test/mysql-test-run.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 5d8b1371151..30eab135b24 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -1060,7 +1060,7 @@ sub command_line_setup { { $opt_tmpdir= "$opt_vardir/tmp" unless $opt_tmpdir; - if (check_socket_path_length("$opt_tmpdir/testsocket.sock")) + if (check_socket_path_length("$opt_tmpdir/mysql_testsocket.sock")) { mtr_report("Too long tmpdir path '$opt_tmpdir'", " creating a shorter one..."); -- cgit v1.2.1 From d3f4c75e556580106ed9476655bc36f95aa3a825 Mon Sep 17 00:00:00 2001 From: Bjorn Munch Date: Mon, 2 Feb 2009 11:26:19 +0100 Subject: Bug #42535 MTR2 output format for skipped tests should be identical to MTR 1 Changed [ skip ] to [ skipped ] and removed optional . --- mysql-test/lib/mtr_report.pm | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/mysql-test/lib/mtr_report.pm b/mysql-test/lib/mtr_report.pm index 0cfbcb4c52e..ce3fba87385 100644 --- a/mysql-test/lib/mtr_report.pm +++ b/mysql-test/lib/mtr_report.pm @@ -165,18 +165,11 @@ sub mtr_report_test ($) { } elsif ( $comment ) { - if ( $tinfo->{skip_detected_by_test} ) - { - mtr_report("[ skip ]. $comment"); - } - else - { - mtr_report("[ skip ] $comment"); - } + mtr_report("[ skipped ] $comment"); } else { - mtr_report("[ skip ]"); + mtr_report("[ skipped ]"); } } elsif ($result eq 'MTR_RES_PASSED') -- cgit v1.2.1 From 921a4e5eb533b30d6500dbc2d391684631277950 Mon Sep 17 00:00:00 2001 From: Sergey Glukhov Date: Mon, 2 Feb 2009 14:42:33 +0400 Subject: fixed jp test failures mysql-test/suite/jp/r/jp_create_db_sjis.result: hide mtr database mysql-test/suite/jp/r/jp_create_db_ucs2.result: hide mtr database mysql-test/suite/jp/r/jp_create_db_ujis.result: hide mtr database mysql-test/suite/jp/r/jp_create_db_utf8.result: hide mtr database mysql-test/suite/jp/t/jp_create_db_sjis.test: hide mtr database mysql-test/suite/jp/t/jp_create_db_ucs2.test: hide mtr database mysql-test/suite/jp/t/jp_create_db_ujis.test: hide mtr database mysql-test/suite/jp/t/jp_create_db_utf8.test: hide mtr database --- mysql-test/suite/jp/r/jp_create_db_sjis.result | 4 ++-- mysql-test/suite/jp/r/jp_create_db_ucs2.result | 4 ++-- mysql-test/suite/jp/r/jp_create_db_ujis.result | 4 ++-- mysql-test/suite/jp/r/jp_create_db_utf8.result | 4 ++-- mysql-test/suite/jp/t/jp_create_db_sjis.test | 2 +- mysql-test/suite/jp/t/jp_create_db_ucs2.test | 2 +- mysql-test/suite/jp/t/jp_create_db_ujis.test | 2 +- mysql-test/suite/jp/t/jp_create_db_utf8.test | 2 +- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/mysql-test/suite/jp/r/jp_create_db_sjis.result b/mysql-test/suite/jp/r/jp_create_db_sjis.result index 2534e958931..fd66609b7bc 100644 --- a/mysql-test/suite/jp/r/jp_create_db_sjis.result +++ b/mysql-test/suite/jp/r/jp_create_db_sjis.result @@ -6,8 +6,8 @@ drop database if exists ` CREATE DATABASE `ÆÎݺÞ`; CREATE DATABASE `“ú–{Œê`; CREATE DATABASE `ƒ\\•\`; -SHOW DATABASES; -Database +SELECT schema_name from information_schema.schemata where schema_name <> 'mtr'; +schema_name information_schema ƒ\\•\ “ú–{Œê diff --git a/mysql-test/suite/jp/r/jp_create_db_ucs2.result b/mysql-test/suite/jp/r/jp_create_db_ucs2.result index 4ba1b7b47b9..3a3316ecbaf 100644 --- a/mysql-test/suite/jp/r/jp_create_db_ucs2.result +++ b/mysql-test/suite/jp/r/jp_create_db_ucs2.result @@ -7,8 +7,8 @@ SET character_set_server = ucs2; CREATE DATABASE `ŽÆŽÎŽÝŽºŽÞ`; CREATE DATABASE `ÆüËܸì`; CREATE DATABASE `íÜíÝíÞ`; -SHOW DATABASES; -Database +SELECT schema_name from information_schema.schemata where schema_name <> 'mtr'; +schema_name information_schema ÆüËܸì íÜíÝíÞ diff --git a/mysql-test/suite/jp/r/jp_create_db_ujis.result b/mysql-test/suite/jp/r/jp_create_db_ujis.result index b3beebbd917..4d6561b88ce 100644 --- a/mysql-test/suite/jp/r/jp_create_db_ujis.result +++ b/mysql-test/suite/jp/r/jp_create_db_ujis.result @@ -6,8 +6,8 @@ SET character_set_database = ujis; CREATE DATABASE `ŽÆŽÎŽÝŽºŽÞ`; CREATE DATABASE `ÆüËܸì`; CREATE DATABASE `íÜíÝíÞ`; -SHOW DATABASES; -Database +SELECT schema_name from information_schema.schemata where schema_name <> 'mtr'; +schema_name information_schema ÆüËܸì íÜíÝíÞ diff --git a/mysql-test/suite/jp/r/jp_create_db_utf8.result b/mysql-test/suite/jp/r/jp_create_db_utf8.result index 0e1725a9c86..2f70903ac71 100644 --- a/mysql-test/suite/jp/r/jp_create_db_utf8.result +++ b/mysql-test/suite/jp/r/jp_create_db_utf8.result @@ -6,8 +6,8 @@ SET character_set_database = utf8; CREATE DATABASE `ニホï¾ï½ºï¾ž`; CREATE DATABASE `日本語`; CREATE DATABASE `龔龖龗`; -SHOW DATABASES; -Database +SELECT schema_name from information_schema.schemata where schema_name <> 'mtr'; +schema_name information_schema 日本語 龔龖龗 diff --git a/mysql-test/suite/jp/t/jp_create_db_sjis.test b/mysql-test/suite/jp/t/jp_create_db_sjis.test index 7d231eaf22c..49647bf1753 100644 --- a/mysql-test/suite/jp/t/jp_create_db_sjis.test +++ b/mysql-test/suite/jp/t/jp_create_db_sjis.test @@ -16,7 +16,7 @@ CREATE DATABASE ` CREATE DATABASE `“ú–{Œê`; CREATE DATABASE `ƒ\\•\`; -SHOW DATABASES; +SELECT schema_name from information_schema.schemata where schema_name <> 'mtr'; USE `ÆÎݺÞ`; USE `“ú–{Œê`; diff --git a/mysql-test/suite/jp/t/jp_create_db_ucs2.test b/mysql-test/suite/jp/t/jp_create_db_ucs2.test index 9e8ca7d2a0f..8be8cf62f15 100644 --- a/mysql-test/suite/jp/t/jp_create_db_ucs2.test +++ b/mysql-test/suite/jp/t/jp_create_db_ucs2.test @@ -18,7 +18,7 @@ CREATE DATABASE ` CREATE DATABASE `ÆüËܸì`; CREATE DATABASE `íÜíÝíÞ`; -SHOW DATABASES; +SELECT schema_name from information_schema.schemata where schema_name <> 'mtr'; USE `ŽÆŽÎŽÝŽºŽÞ`; USE `ÆüËܸì`; diff --git a/mysql-test/suite/jp/t/jp_create_db_ujis.test b/mysql-test/suite/jp/t/jp_create_db_ujis.test index 0095f864836..382c7937552 100644 --- a/mysql-test/suite/jp/t/jp_create_db_ujis.test +++ b/mysql-test/suite/jp/t/jp_create_db_ujis.test @@ -17,7 +17,7 @@ CREATE DATABASE ` CREATE DATABASE `ÆüËܸì`; CREATE DATABASE `íÜíÝíÞ`; -SHOW DATABASES; +SELECT schema_name from information_schema.schemata where schema_name <> 'mtr'; USE `ŽÆŽÎŽÝŽºŽÞ`; USE `ÆüËܸì`; diff --git a/mysql-test/suite/jp/t/jp_create_db_utf8.test b/mysql-test/suite/jp/t/jp_create_db_utf8.test index f8faf411ed0..2df5b9e1f6f 100644 --- a/mysql-test/suite/jp/t/jp_create_db_utf8.test +++ b/mysql-test/suite/jp/t/jp_create_db_utf8.test @@ -16,7 +16,7 @@ CREATE DATABASE `ニホï¾ï½ºï¾ž`; CREATE DATABASE `日本語`; CREATE DATABASE `龔龖龗`; -SHOW DATABASES; +SELECT schema_name from information_schema.schemata where schema_name <> 'mtr'; USE `ニホï¾ï½ºï¾ž`; USE `日本語`; -- cgit v1.2.1 From 8fe7b7effd994547ce507c10d7ad7245c1354473 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Mon, 2 Feb 2009 13:36:03 +0200 Subject: fixed system_mysql_db_fix30020 test faiilure fixed federated warnings --- mysql-test/suite/federated/federated.inc | 6 ------ mysql-test/suite/federated/federated.result | 6 ++---- mysql-test/suite/federated/federated_archive.result | 6 ++---- mysql-test/suite/federated/federated_bug_13118.result | 6 ++---- mysql-test/suite/federated/federated_bug_25714.result | 6 ++---- mysql-test/suite/federated/federated_bug_25714.test | 4 ++-- mysql-test/suite/federated/federated_cleanup.inc | 4 ++-- mysql-test/suite/federated/federated_innodb.result | 6 ++---- mysql-test/suite/federated/federated_server.result | 6 ++---- mysql-test/t/system_mysql_db_fix30020.test | 1 + 10 files changed, 17 insertions(+), 34 deletions(-) diff --git a/mysql-test/suite/federated/federated.inc b/mysql-test/suite/federated/federated.inc index 6f85f7f32c4..ad640dcbb61 100644 --- a/mysql-test/suite/federated/federated.inc +++ b/mysql-test/suite/federated/federated.inc @@ -5,13 +5,7 @@ connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,); connect (slave,127.0.0.1,root,,test,$SLAVE_MYPORT,); connection master; ---disable_warnings -DROP DATABASE IF EXISTS federated; ---enable_warnings CREATE DATABASE federated; connection slave; ---disable_warnings -DROP DATABASE IF EXISTS federated; ---enable_warnings CREATE DATABASE federated; diff --git a/mysql-test/suite/federated/federated.result b/mysql-test/suite/federated/federated.result index d13eb9526ca..e54aa63b2ac 100644 --- a/mysql-test/suite/federated/federated.result +++ b/mysql-test/suite/federated/federated.result @@ -1,6 +1,4 @@ -DROP DATABASE IF EXISTS federated; CREATE DATABASE federated; -DROP DATABASE IF EXISTS federated; CREATE DATABASE federated; SET @OLD_MASTER_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT; SET @@GLOBAL.CONCURRENT_INSERT= 0; @@ -2139,6 +2137,6 @@ End of 5.1 tests SET @@GLOBAL.CONCURRENT_INSERT= @OLD_MASTER_CONCURRENT_INSERT; SET @@GLOBAL.CONCURRENT_INSERT= @OLD_SLAVE_CONCURRENT_INSERT; DROP TABLE IF EXISTS federated.t1; -DROP DATABASE IF EXISTS federated; +DROP DATABASE federated; DROP TABLE IF EXISTS federated.t1; -DROP DATABASE IF EXISTS federated; +DROP DATABASE federated; diff --git a/mysql-test/suite/federated/federated_archive.result b/mysql-test/suite/federated/federated_archive.result index c7e3ee205f3..b7960e2a561 100644 --- a/mysql-test/suite/federated/federated_archive.result +++ b/mysql-test/suite/federated/federated_archive.result @@ -1,6 +1,4 @@ -DROP DATABASE IF EXISTS federated; CREATE DATABASE federated; -DROP DATABASE IF EXISTS federated; CREATE DATABASE federated; DROP TABLE IF EXISTS federated.archive_table; CREATE TABLE federated.archive_table ( @@ -36,6 +34,6 @@ id name DROP TABLE federated.t1; DROP TABLE federated.archive_table; DROP TABLE IF EXISTS federated.t1; -DROP DATABASE IF EXISTS federated; +DROP DATABASE federated; DROP TABLE IF EXISTS federated.t1; -DROP DATABASE IF EXISTS federated; +DROP DATABASE federated; diff --git a/mysql-test/suite/federated/federated_bug_13118.result b/mysql-test/suite/federated/federated_bug_13118.result index a9023d8e9bc..57175dc8def 100644 --- a/mysql-test/suite/federated/federated_bug_13118.result +++ b/mysql-test/suite/federated/federated_bug_13118.result @@ -1,6 +1,4 @@ -DROP DATABASE IF EXISTS federated; CREATE DATABASE federated; -DROP DATABASE IF EXISTS federated; CREATE DATABASE federated; DROP TABLE IF EXISTS federated.bug_13118_table; CREATE TABLE federated.bug_13118_table ( @@ -27,6 +25,6 @@ foo bar DROP TABLE federated.t1; DROP TABLE federated.bug_13118_table; DROP TABLE IF EXISTS federated.t1; -DROP DATABASE IF EXISTS federated; +DROP DATABASE federated; DROP TABLE IF EXISTS federated.t1; -DROP DATABASE IF EXISTS federated; +DROP DATABASE federated; diff --git a/mysql-test/suite/federated/federated_bug_25714.result b/mysql-test/suite/federated/federated_bug_25714.result index 49fae0b3574..55d9a0ceb52 100644 --- a/mysql-test/suite/federated/federated_bug_25714.result +++ b/mysql-test/suite/federated/federated_bug_25714.result @@ -1,6 +1,4 @@ -DROP DATABASE IF EXISTS federated; CREATE DATABASE federated; -DROP DATABASE IF EXISTS federated; CREATE DATABASE federated; SET @OLD_MASTER_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT; SET @@GLOBAL.CONCURRENT_INSERT= 0; @@ -50,6 +48,6 @@ SET @@GLOBAL.CONCURRENT_INSERT= @OLD_MASTER_CONCURRENT_INSERT; DROP TABLE federated.t1; SET @@GLOBAL.CONCURRENT_INSERT= @OLD_SLAVE_CONCURRENT_INSERT; DROP TABLE IF EXISTS federated.t1; -DROP DATABASE IF EXISTS federated; +DROP DATABASE federated; DROP TABLE IF EXISTS federated.t1; -DROP DATABASE IF EXISTS federated; +DROP DATABASE federated; diff --git a/mysql-test/suite/federated/federated_bug_25714.test b/mysql-test/suite/federated/federated_bug_25714.test index 4de04944f6a..82745b2a094 100644 --- a/mysql-test/suite/federated/federated_bug_25714.test +++ b/mysql-test/suite/federated/federated_bug_25714.test @@ -1,11 +1,11 @@ -source federated.inc; - # Check that path to the specific test program has been setup if (`select LENGTH("$MYSQL_BUG25714") = 0`) { skip Need bug25714 test program; } +source federated.inc; + connection master; # Disable concurrent inserts to avoid test failures when reading # data from concurrent connections (insert might return before diff --git a/mysql-test/suite/federated/federated_cleanup.inc b/mysql-test/suite/federated/federated_cleanup.inc index 06fd7f6737a..e96a7cd2cee 100644 --- a/mysql-test/suite/federated/federated_cleanup.inc +++ b/mysql-test/suite/federated/federated_cleanup.inc @@ -1,9 +1,9 @@ connection master; --disable_warnings DROP TABLE IF EXISTS federated.t1; -DROP DATABASE IF EXISTS federated; +DROP DATABASE federated; connection slave; DROP TABLE IF EXISTS federated.t1; -DROP DATABASE IF EXISTS federated; +DROP DATABASE federated; --enable_warnings diff --git a/mysql-test/suite/federated/federated_innodb.result b/mysql-test/suite/federated/federated_innodb.result index 786997afa8d..e6cf81bb1a6 100644 --- a/mysql-test/suite/federated/federated_innodb.result +++ b/mysql-test/suite/federated/federated_innodb.result @@ -1,6 +1,4 @@ -DROP DATABASE IF EXISTS federated; CREATE DATABASE federated; -DROP DATABASE IF EXISTS federated; CREATE DATABASE federated; create table federated.t1 (a int primary key, b varchar(64)) engine=myisam; @@ -22,6 +20,6 @@ a b drop table federated.t1; drop table federated.t1; DROP TABLE IF EXISTS federated.t1; -DROP DATABASE IF EXISTS federated; +DROP DATABASE federated; DROP TABLE IF EXISTS federated.t1; -DROP DATABASE IF EXISTS federated; +DROP DATABASE federated; diff --git a/mysql-test/suite/federated/federated_server.result b/mysql-test/suite/federated/federated_server.result index 7260d6837db..2c20d1c1d57 100644 --- a/mysql-test/suite/federated/federated_server.result +++ b/mysql-test/suite/federated/federated_server.result @@ -1,6 +1,4 @@ -DROP DATABASE IF EXISTS federated; CREATE DATABASE federated; -DROP DATABASE IF EXISTS federated; CREATE DATABASE federated; create database first_db; create database second_db; @@ -277,6 +275,6 @@ call p1(); drop procedure p1; drop server if exists s; DROP TABLE IF EXISTS federated.t1; -DROP DATABASE IF EXISTS federated; +DROP DATABASE federated; DROP TABLE IF EXISTS federated.t1; -DROP DATABASE IF EXISTS federated; +DROP DATABASE federated; diff --git a/mysql-test/t/system_mysql_db_fix30020.test b/mysql-test/t/system_mysql_db_fix30020.test index a3dc9adb254..0a7d9dad7c9 100644 --- a/mysql-test/t/system_mysql_db_fix30020.test +++ b/mysql-test/t/system_mysql_db_fix30020.test @@ -104,4 +104,5 @@ time_zone_transition_type, general_log, slow_log, event, ndb_binlog_index; # check that we dropped all system tables show tables; +exit; # End of 4.1 tests -- cgit v1.2.1 From 56fa0959071bf46ad659fdda9cefad116ea6a99c Mon Sep 17 00:00:00 2001 From: Serge Kozlov Date: Mon, 2 Feb 2009 14:44:18 +0300 Subject: Post-merge patch for extra/rpl_test/rpl_log.test: Remove size of binlog file from SHOW BINARY LOGS. Changing size of binlog file is an affect of adding or removing events to/from binlog and it can be checked in next command of test: SHOW BINLOG EVENTS. For SHOW BINARY LOGS statement enough to show the list of file names. --- mysql-test/extra/rpl_tests/rpl_log.test | 3 +++ mysql-test/suite/rpl/r/rpl_row_log.result | 8 ++++---- mysql-test/suite/rpl/r/rpl_row_log_innodb.result | 8 ++++---- mysql-test/suite/rpl/r/rpl_stm_log.result | 8 ++++---- mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result | 8 ++++---- 5 files changed, 19 insertions(+), 16 deletions(-) diff --git a/mysql-test/extra/rpl_tests/rpl_log.test b/mysql-test/extra/rpl_tests/rpl_log.test index 83b780394b9..e4ebfd68761 100644 --- a/mysql-test/extra/rpl_tests/rpl_log.test +++ b/mysql-test/extra/rpl_tests/rpl_log.test @@ -71,6 +71,7 @@ connection master; select * from t1 order by 1 asc; sync_slave_with_master; + #check t1 on slave to ensure whether it's identical with on master select * from t1 order by 1 asc; flush logs; @@ -88,9 +89,11 @@ source include/show_binlog_events.inc; --replace_column 2 # 5 # --replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ show binlog events in 'master-bin.000002'; +--replace_column 2 # show binary logs; sync_slave_with_master; --source include/wait_for_slave_to_start.inc +--replace_column 2 # show binary logs; --replace_result $MASTER_MYPORT MASTER_PORT $VERSION VERSION --replace_column 2 # 5 # diff --git a/mysql-test/suite/rpl/r/rpl_row_log.result b/mysql-test/suite/rpl/r/rpl_row_log.result index e3b2ad67738..b76cc6aa15e 100644 --- a/mysql-test/suite/rpl/r/rpl_row_log.result +++ b/mysql-test/suite/rpl/r/rpl_row_log.result @@ -214,12 +214,12 @@ master-bin.000002 # Write_rows 1 # table_id: # flags: STMT_END_F master-bin.000002 # Query 1 # use `test`; COMMIT show binary logs; Log_name File_size -master-bin.000001 1540 -master-bin.000002 516 +master-bin.000001 # +master-bin.000002 # show binary logs; Log_name File_size -slave-bin.000001 1638 -slave-bin.000002 417 +slave-bin.000001 # +slave-bin.000002 # show binlog events in 'slave-bin.000001' from 4; Log_name Pos Event_type Server_id End_log_pos Info slave-bin.000001 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4 diff --git a/mysql-test/suite/rpl/r/rpl_row_log_innodb.result b/mysql-test/suite/rpl/r/rpl_row_log_innodb.result index 0b27ed72ff8..809c50e1465 100644 --- a/mysql-test/suite/rpl/r/rpl_row_log_innodb.result +++ b/mysql-test/suite/rpl/r/rpl_row_log_innodb.result @@ -214,12 +214,12 @@ master-bin.000002 # Write_rows 1 # table_id: # flags: STMT_END_F master-bin.000002 # Xid 1 # COMMIT /* XID */ show binary logs; Log_name File_size -master-bin.000001 1456 -master-bin.000002 474 +master-bin.000001 # +master-bin.000002 # show binary logs; Log_name File_size -slave-bin.000001 1536 -slave-bin.000002 366 +slave-bin.000001 # +slave-bin.000002 # show binlog events in 'slave-bin.000001' from 4; Log_name Pos Event_type Server_id End_log_pos Info slave-bin.000001 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4 diff --git a/mysql-test/suite/rpl/r/rpl_stm_log.result b/mysql-test/suite/rpl/r/rpl_stm_log.result index 154050e8557..715d4976a95 100644 --- a/mysql-test/suite/rpl/r/rpl_stm_log.result +++ b/mysql-test/suite/rpl/r/rpl_stm_log.result @@ -203,12 +203,12 @@ master-bin.000002 # Query 1 # use `test`; create table t2 (n int)ENGINE=MyISAM master-bin.000002 # Query 1 # use `test`; insert into t2 values (1) show binary logs; Log_name File_size -master-bin.000001 1347 -master-bin.000002 392 +master-bin.000001 # +master-bin.000002 # show binary logs; Log_name File_size -slave-bin.000001 1450 -slave-bin.000002 293 +slave-bin.000001 # +slave-bin.000002 # show binlog events in 'slave-bin.000001' from 4; Log_name Pos Event_type Server_id End_log_pos Info slave-bin.000001 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4 diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result index 6a2e3e80a20..5b6ca5f5097 100644 --- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result +++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result @@ -224,12 +224,12 @@ master-bin.000002 # Write_rows 1 # table_id: # flags: STMT_END_F master-bin.000002 # Query 1 # COMMIT show binary logs; Log_name File_size -master-bin.000001 1760 -master-bin.000002 623 +master-bin.000001 # +master-bin.000002 # show binary logs; Log_name File_size -slave-bin.000001 1855 -slave-bin.000002 202 +slave-bin.000001 # +slave-bin.000002 # show binlog events in 'slave-bin.000001' from 4; Log_name Pos Event_type Server_id End_log_pos Info slave-bin.000001 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4 -- cgit v1.2.1 From 9a64fc52af6ef51624f5ad594a540a713e83fa14 Mon Sep 17 00:00:00 2001 From: Alexander Barkov Date: Mon, 2 Feb 2009 17:25:42 +0400 Subject: Bug#41084 full-text index added to custom UCA collation not working Problem: Custom UCA collations didn't set the MY_CS_STRNXFRM flag, which resulted in "prefix_search" method instead of the required "seq_search". Problem2: (not metioned in the bug report) Custom UCA collations didn't also set the MY_CS_UNICODE flag, so an attempt to compare a column with a custom UCA collation to another column with a non-Unicode character set led to the "illegal mix of collation" error. Fix: the two missing flags was added into collation initialization. Upgrade: - All fulltext indexes with custom UCA collations should be rebuilt. - Non-fulltext custom UCA indexes should likely be rebuild as well. --- mysql-test/r/ctype_ldml.result | 19 +++++++++++++++++++ mysql-test/t/ctype_ldml.test | 16 ++++++++++++++++ mysys/charset.c | 4 ++-- 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/ctype_ldml.result b/mysql-test/r/ctype_ldml.result index f3d3ff700f0..5dc9ea35cc3 100644 --- a/mysql-test/r/ctype_ldml.result +++ b/mysql-test/r/ctype_ldml.result @@ -21,6 +21,25 @@ select * from t1 where c1='b'; c1 a drop table t1; +CREATE TABLE t1 ( +col1 varchar(100) character set utf8 collate utf8_test_ci +); +INSERT INTO t1 (col1) VALUES ('abcd'),('efgh'),('ijkl'); +ALTER TABLE t1 ADD FULLTEXT INDEX (col1); +SELECT * FROM t1 where match (col1) against ('abcd'); +col1 +abcd +SELECT * FROM t1 where match (col1) against ('abcd' IN BOOLEAN MODE); +col1 +abcd +ALTER TABLE t1 ADD (col2 varchar(100) character set latin1); +UPDATE t1 SET col2=col1; +SELECT * FROM t1 WHERE col1=col2 ORDER BY col1; +col1 col2 +abcd abcd +efgh efgh +ijkl ijkl +DROP TABLE t1; show collation like 'ucs2_vn_ci'; Collation Charset Id Default Compiled Sortlen ucs2_vn_ci ucs2 242 8 diff --git a/mysql-test/t/ctype_ldml.test b/mysql-test/t/ctype_ldml.test index fc6ed0f2579..73a23a751e8 100644 --- a/mysql-test/t/ctype_ldml.test +++ b/mysql-test/t/ctype_ldml.test @@ -21,6 +21,22 @@ insert into t1 values ('a'); select * from t1 where c1='b'; drop table t1; + +# +# Bug#41084 full-text index added to custom UCA collation not working +# +CREATE TABLE t1 ( + col1 varchar(100) character set utf8 collate utf8_test_ci +); +INSERT INTO t1 (col1) VALUES ('abcd'),('efgh'),('ijkl'); +ALTER TABLE t1 ADD FULLTEXT INDEX (col1); +SELECT * FROM t1 where match (col1) against ('abcd'); +SELECT * FROM t1 where match (col1) against ('abcd' IN BOOLEAN MODE); +ALTER TABLE t1 ADD (col2 varchar(100) character set latin1); +UPDATE t1 SET col2=col1; +SELECT * FROM t1 WHERE col1=col2 ORDER BY col1; +DROP TABLE t1; + # # Vietnamese experimental collation # diff --git a/mysys/charset.c b/mysys/charset.c index 9bd8de4316a..8f47b4027ef 100644 --- a/mysys/charset.c +++ b/mysys/charset.c @@ -212,6 +212,8 @@ copy_uca_collation(CHARSET_INFO *to, CHARSET_INFO *from) to->max_sort_char= from->max_sort_char; to->mbminlen= from->mbminlen; to->mbmaxlen= from->mbmaxlen; + to->state|= MY_CS_AVAILABLE | MY_CS_LOADED | + MY_CS_STRNXFRM | MY_CS_UNICODE; } @@ -246,14 +248,12 @@ static int add_collation(CHARSET_INFO *cs) { #if defined(HAVE_CHARSET_ucs2) && defined(HAVE_UCA_COLLATIONS) copy_uca_collation(newcs, &my_charset_ucs2_unicode_ci); - newcs->state|= MY_CS_AVAILABLE | MY_CS_LOADED; #endif } else if (!strcmp(cs->csname, "utf8")) { #if defined (HAVE_CHARSET_utf8) && defined(HAVE_UCA_COLLATIONS) copy_uca_collation(newcs, &my_charset_utf8_unicode_ci); - newcs->state|= MY_CS_AVAILABLE | MY_CS_LOADED; #endif } else -- cgit v1.2.1 From d34ae8c724d3832e6dd200419b0027c08fa4f443 Mon Sep 17 00:00:00 2001 From: Andrei Elkin Date: Mon, 2 Feb 2009 22:31:01 +0200 Subject: Bug #41732 rpl_ndb_circular_2ch needs an updated configuration file There are two issues: 1. 6.0 uses the obsolate master-*** server options; 2. the test is not deterministic in that although master vs slave consistency is fine, two runs of the test can have different results. The reason of the non-determinism is the combination of a chosen way to demo results and the ndb_autoincrement_prefetch_sz feature. The current patch fixes the 2nd issue by putting out results via diff_table macro instead of the former run-sensitive method. The 1st issue is going to be fixed by a separate patch to 6.0. mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result: results changed mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test: Test is refined to put out results via diff_table macro instead of the former run-sensitive method. --- .../suite/rpl_ndb/r/rpl_ndb_circular_2ch.result | 44 ++-------------------- .../suite/rpl_ndb/t/rpl_ndb_circular_2ch.test | 33 ++++++---------- 2 files changed, 15 insertions(+), 62 deletions(-) diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result index bb662542a56..b7d4a3d76db 100644 --- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result +++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result @@ -45,58 +45,20 @@ CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT, b VARCHAR(100), c INT NOT NULL, *** Basic testing *** Insert rows via all hosts Check data on both clusters -* Cluster A * -SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 1 GROUP BY b ORDER BY b; -COUNT(*) SUM(a) b -10 190 master -10 210 master1 -10 200 slave -10 220 slave1 -* Cluster B * -SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 1 GROUP BY b ORDER BY b; -COUNT(*) SUM(a) b -10 190 master -10 210 master1 -10 200 slave -10 220 slave1 - +Comparing tables master:test.t1 and slave:test.t1 *** Transaction testing *** BEGIN; BEGIN; COMMIT; COMMIT; Check data on both clusters -* Cluster A * -SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 2 GROUP BY b ORDER BY b; -COUNT(*) SUM(a) b -100 23900 master -100 24100 master1 -100 24000 slave -100 24200 slave1 -* Cluster B * -SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 2 GROUP BY b ORDER BY b; -COUNT(*) SUM(a) b -100 23900 master -100 24100 master1 -100 24000 slave -100 24200 slave1 - +Comparing tables master:test.t1 and slave:test.t1 BEGIN; BEGIN; ROLLBACK; ROLLBACK; Check data on both clusters -* Cluster A * -SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 3 GROUP BY b ORDER BY b; -COUNT(*) SUM(a) b -100 64100 master1 -100 64000 slave -* Cluster B * -SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 3 GROUP BY b ORDER BY b; -COUNT(*) SUM(a) b -100 64100 master1 -100 64000 slave - +Comparing tables master:test.t1 and slave:test.t1 DROP TABLE t1; DROP TABLE IF EXISTS t1; diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test index a6b1c8c40ed..8721e85780d 100644 --- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test +++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test @@ -75,13 +75,10 @@ let $wait_condition= SELECT COUNT(*)=40 FROM t1 WHERE c = 1; # Check data --echo Check data on both clusters ---connection master ---echo * Cluster A * -SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 1 GROUP BY b ORDER BY b; ---connection slave ---echo * Cluster B * -SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 1 GROUP BY b ORDER BY b; ---echo +let $diff_table_1=master:test.t1; +let $diff_table_2=slave:test.t1; + +source include/diff_tables.inc; --echo *** Transaction testing *** # Start transaction for one mysqld and do mass of inserts for other. @@ -119,13 +116,10 @@ let $wait_condition= SELECT COUNT(*)=400 FROM t1 WHERE c = 2; --source include/wait_condition.inc --echo Check data on both clusters ---connection master ---echo * Cluster A * -SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 2 GROUP BY b ORDER BY b; ---connection slave ---echo * Cluster B * -SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 2 GROUP BY b ORDER BY b; ---echo +let $diff_table_1=master:test.t1; +let $diff_table_2=slave:test.t1; + +source include/diff_tables.inc; # Start transaction and then roll back @@ -161,13 +155,10 @@ let $wait_condition= SELECT COUNT(*)=200 FROM t1 WHERE c = 3; --source include/wait_condition.inc --echo Check data on both clusters ---connection master ---echo * Cluster A * -SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 3 GROUP BY b ORDER BY b; ---connection slave ---echo * Cluster B * -SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 3 GROUP BY b ORDER BY b; ---echo +let $diff_table_1=master:test.t1; +let $diff_table_2=slave:test.t1; + +source include/diff_tables.inc; # Clean up --connection master -- cgit v1.2.1 From 84a237b914513444d1eedb3a789fe64a474306f4 Mon Sep 17 00:00:00 2001 From: Serge Kozlov Date: Tue, 3 Feb 2009 00:26:49 +0300 Subject: Bug#38603: The patch adds restart of mysql server and replacing of binlog file when mysql server is stopped. --- mysql-test/suite/rpl/r/rpl_trigger.result | 3 +++ mysql-test/suite/rpl/t/rpl_trigger.test | 44 ++++++++++++++++++------------- 2 files changed, 29 insertions(+), 18 deletions(-) diff --git a/mysql-test/suite/rpl/r/rpl_trigger.result b/mysql-test/suite/rpl/r/rpl_trigger.result index b68af8f4afe..3d7757613a7 100644 --- a/mysql-test/suite/rpl/r/rpl_trigger.result +++ b/mysql-test/suite/rpl/r/rpl_trigger.result @@ -862,6 +862,9 @@ drop table t21,t31; drop table t11; STOP SLAVE; FLUSH LOGS; +--> Stop master server +--> Start master server +--> Master binlog: Server ver: 5.0.16-debug-log, Binlog ver: 4 RESET SLAVE; START SLAVE; SELECT MASTER_POS_WAIT('master-bin.000001', 513) >= 0; diff --git a/mysql-test/suite/rpl/t/rpl_trigger.test b/mysql-test/suite/rpl/t/rpl_trigger.test index d92aab3504f..a3929458026 100644 --- a/mysql-test/suite/rpl/t/rpl_trigger.test +++ b/mysql-test/suite/rpl/t/rpl_trigger.test @@ -46,9 +46,7 @@ insert into t2 values(NULL,0),(500,0); select a,b, truncate(rand_value,4) from t1; select * from t2; select a,name, old_a, old_b, truncate(rand_value,4) from t3; -save_master_pos; -connection slave; -sync_with_master; +sync_slave_with_master; --disable_query_log select "--- On slave --" as ""; --enable_query_log @@ -108,9 +106,7 @@ SELECT trigger_name, definer FROM information_schema.triggers WHERE trigger_name = 't1_first'; -save_master_pos; -connection slave; -sync_with_master; +sync_slave_with_master; --disable_query_log select "--- On slave --" as ""; --enable_query_log @@ -165,9 +161,7 @@ create database other; use other; insert into test.t1 values (1); -save_master_pos; -connection slave; -sync_with_master; +sync_slave_with_master; connection master; use test; @@ -304,8 +298,28 @@ STOP SLAVE; connection master; let $MYSQLD_DATADIR= `select @@datadir`; FLUSH LOGS; + +# Stop master server +--echo --> Stop master server +--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect +wait +EOF +--shutdown_server 10 +--source include/wait_until_disconnected.inc +# Replace binlog remove_file $MYSQLD_DATADIR/master-bin.000001; copy_file $MYSQL_TEST_DIR/std_data/bug16266.000001 $MYSQLD_DATADIR/master-bin.000001; + +--echo --> Start master server +--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect +restart +EOF +--enable_reconnect +--source include/wait_until_connected_again.inc +let $binlog_version= query_get_value(SHOW BINLOG EVENTS, Info, 1); + +# Make the slave to replay the new binlog. +--echo --> Master binlog: $binlog_version # Make the slave to replay the new binlog. @@ -381,9 +395,7 @@ DROP TABLE IF EXISTS t2; --echo --echo ---> Synchronizing slave with master... ---save_master_pos ---connection slave ---sync_with_master +--sync_slave_with_master --echo --echo ---> connection: master @@ -415,9 +427,7 @@ SELECT * FROM t2; --echo --echo ---> Synchronizing slave with master... ---save_master_pos ---connection slave ---sync_with_master +--sync_slave_with_master --echo ---> connection: master @@ -439,9 +449,7 @@ SELECT * FROM t2; DROP TABLE t1; DROP TABLE t2; ---save_master_pos ---connection slave ---sync_with_master +--sync_slave_with_master --connection master # -- cgit v1.2.1 From 9a3afd1a121fe3ffdc7a58c45341ce4b2e9fb144 Mon Sep 17 00:00:00 2001 From: Patrick Crews Date: Mon, 2 Feb 2009 17:30:02 -0500 Subject: Bug#39369: execution of "variables.test" with "check-testcases" show differences. The original symptoms of this bug have been fixed as a consequence of other bug fixes. Taking this time to correct some formatting, such as replacing error numbers with names. Beginning this with 5.0 --- mysql-test/t/variables.test | 92 ++++++++++++++++++++++----------------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/mysql-test/t/variables.test b/mysql-test/t/variables.test index 1748b63ceb9..60254ad9a1d 100644 --- a/mysql-test/t/variables.test +++ b/mysql-test/t/variables.test @@ -6,7 +6,7 @@ drop table if exists t1,t2; --enable_warnings # -# Bug #19263: variables.test doesn't clean up after itself (I/II -- save) +# Bug#19263: variables.test doesn't clean up after itself (I/II -- save) # set @my_binlog_cache_size =@@global.binlog_cache_size; set @my_connect_timeout =@@global.connect_timeout; @@ -172,46 +172,46 @@ SELECT @@version_compile_os LIKE 'non-existent'; # The following should give errors ---error 1231 +--error ER_WRONG_VALUE_FOR_VAR set big_tables=OFFF; ---error 1231 +--error ER_WRONG_VALUE_FOR_VAR set big_tables="OFFF"; ---error 1193 +--error ER_UNKNOWN_SYSTEM_VARIABLE set unknown_variable=1; ---error 1232 +--error ER_WRONG_TYPE_FOR_VAR set max_join_size="hello"; ---error 1286 +--error ER_UNKNOWN_STORAGE_ENGINE set storage_engine=UNKNOWN_TABLE_TYPE; ---error 1231 +--error ER_WRONG_VALUE_FOR_VAR set storage_engine=MERGE, big_tables=2; show local variables like 'storage_engine'; ---error 1229 +--error ER_GLOBAL_VARIABLE set SESSION query_cache_size=10000; ---error 1230 +--error ER_NO_DEFAULT set GLOBAL storage_engine=DEFAULT; ---error 1115 +--error ER_UNKNOWN_CHARACTER_SET set character_set_client=UNKNOWN_CHARACTER_SET; ---error 1273 +--error ER_UNKNOWN_COLLATION set collation_connection=UNKNOWN_COLLATION; ---error 1231 +--error ER_WRONG_VALUE_FOR_VAR set character_set_client=NULL; ---error 1231 +--error ER_WRONG_VALUE_FOR_VAR set collation_connection=NULL; ---error 1228 +--error ER_LOCAL_VARIABLE set global autocommit=1; ---error 1238 +--error ER_INCORRECT_GLOBAL_LOCAL_VAR select @@global.timestamp; ---error 1238 +--error ER_INCORRECT_GLOBAL_LOCAL_VAR set @@version=''; ---error 1229 +--error ER_GLOBAL_VARIABLE set @@concurrent_insert=1; ---error 1228 +--error ER_LOCAL_VARIABLE set @@global.sql_auto_is_null=1; ---error 1238 +--error ER_INCORRECT_GLOBAL_LOCAL_VAR select @@global.sql_auto_is_null; ---error 1229 +--error ER_GLOBAL_VARIABLE set myisam_max_sort_file_size=100; ---error 1231 +--error ER_WRONG_VALUE_FOR_VAR set @@SQL_WARNINGS=NULL; # Test setting all variables @@ -338,23 +338,23 @@ drop table t1,t2; # error conditions # ---error 1193 +--error ER_UNKNOWN_SYSTEM_VARIABLE select @@xxxxxxxxxx; select 1; ---error 1238 +--error ER_INCORRECT_GLOBAL_LOCAL_VAR select @@session.key_buffer_size; ---error 1229 +--error ER_GLOBAL_VARIABLE set ft_boolean_syntax = @@init_connect; ---error 1231 +--error ER_WRONG_VALUE_FOR_VAR set global ft_boolean_syntax = @@init_connect; ---error 1229 +--error ER_GLOBAL_VARIABLE set init_connect = NULL; set global init_connect = NULL; ---error 1229 +--error ER_GLOBAL_VARIABLE set ft_boolean_syntax = @@init_connect; ---error 1231 +--error ER_WRONG_VALUE_FOR_VAR set global ft_boolean_syntax = @@init_connect; # Bug#3754 SET GLOBAL myisam_max_sort_file_size doesn't work as @@ -385,15 +385,15 @@ select @a, @b; # # Bug#2586:Disallow global/session/local as structured var. instance names # ---error 1064 +--error ER_PARSE_ERROR set @@global.global.key_buffer_size= 1; ---error 1064 +--error ER_PARSE_ERROR set GLOBAL global.key_buffer_size= 1; ---error 1064 +--error ER_PARSE_ERROR SELECT @@global.global.key_buffer_size; ---error 1064 +--error ER_PARSE_ERROR SELECT @@global.session.key_buffer_size; ---error 1064 +--error ER_PARSE_ERROR SELECT @@global.local.key_buffer_size; # BUG#5135: cannot turn on log_warnings with SET in 4.1 (and 4.0) @@ -478,27 +478,27 @@ select @@lc_time_names; --echo *** LC_TIME_NAMES: testing with string expressions set lc_time_names=concat('de','_','DE'); select @@lc_time_names; ---error 1105 +--error ER_UNKNOWN_ERROR set lc_time_names=concat('de','+','DE'); select @@lc_time_names; --echo LC_TIME_NAMES: testing with numeric expressions set @@lc_time_names=1+2; select @@lc_time_names; ---error 1232 +--error ER_WRONG_TYPE_FOR_VAR set @@lc_time_names=1/0; select @@lc_time_names; set lc_time_names=en_US; --echo LC_TIME_NAMES: testing NULL and a negative number: ---error 1231 +--error ER_WRONG_VALUE_FOR_VAR set lc_time_names=NULL; ---error 1105 +--error ER_UNKNOWN_ERROR set lc_time_names=-1; select @@lc_time_names; --echo LC_TIME_NAMES: testing locale with the last ID: set lc_time_names=108; select @@lc_time_names; --echo LC_TIME_NAMES: testing a number beyond the valid ID range: ---error 1105 +--error ER_UNKNOWN_ERROR set lc_time_names=109; select @@lc_time_names; --echo LC_TIME_NAMES: testing that 0 is en_US: @@ -540,7 +540,7 @@ select @@query_prealloc_size = @test; # Bug#31588 buffer overrun when setting variables # # Buffer-size Off By One. Should throw valgrind-warning without fix #31588. ---error 1231 +--error ER_WRONG_VALUE_FOR_VAR set global sql_mode=repeat('a',80); --echo End of 4.1 tests @@ -558,9 +558,9 @@ drop table t1; # Bug #10339: read only variables. # ---error 1238 +--error ER_INCORRECT_GLOBAL_LOCAL_VAR set @@warning_count=1; ---error 1238 +--error ER_INCORRECT_GLOBAL_LOCAL_VAR set @@global.error_count=1; # @@ -578,9 +578,9 @@ select @@max_heap_table_size > 0; # Bug #11775 Variable character_set_system does not exist (sometimes) # select @@character_set_system; ---error 1238 +--error ER_INCORRECT_GLOBAL_LOCAL_VAR set global character_set_system = latin1; ---error 1238 +--error ER_INCORRECT_GLOBAL_LOCAL_VAR set @@global.version_compile_os='234'; # @@ -677,7 +677,7 @@ select @@@; # Don't actually output, since it depends on the system --replace_column 1 # select @@hostname; ---error 1238 +--error ER_INCORRECT_GLOBAL_LOCAL_VAR set @@hostname= "anothername"; --replace_column 2 # show variables like 'hostname'; @@ -688,12 +688,12 @@ show variables like 'hostname'; SHOW VARIABLES LIKE 'log'; SELECT @@log; ---error 1238 +--error ER_INCORRECT_GLOBAL_LOCAL_VAR SET GLOBAL log=0; SHOW VARIABLES LIKE 'log_slow_queries'; SELECT @@log_slow_queries; ---error 1238 +--error ER_INCORRECT_GLOBAL_LOCAL_VAR SET GLOBAL log_slow_queries=0; --echo End of 5.0 tests -- cgit v1.2.1 From 83ff1b96fd088adb6f3f21811be6a1c381ecb223 Mon Sep 17 00:00:00 2001 From: Georgi Kodinov Date: Tue, 3 Feb 2009 11:04:22 +0200 Subject: changed the version in .bzr-mysql/default.conf --- .bzr-mysql/default.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.bzr-mysql/default.conf b/.bzr-mysql/default.conf index 557df1b1ffe..f79c1cd6319 100644 --- a/.bzr-mysql/default.conf +++ b/.bzr-mysql/default.conf @@ -1,4 +1,4 @@ [MYSQL] post_commit_to = "commits@lists.mysql.com" post_push_to = "commits@lists.mysql.com" -tree_name = "mysql-5.0-bugteam" +tree_name = "mysql-5.0" -- cgit v1.2.1 From e844a5fd6ddcb8eeee7b13eef0eccd257c0604b7 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 4 Feb 2009 10:13:10 +0200 Subject: Storing information in newly started buffer added. --- storage/maria/ma_loghandler.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/storage/maria/ma_loghandler.c b/storage/maria/ma_loghandler.c index a0440aa46f3..93b7d5e84c9 100644 --- a/storage/maria/ma_loghandler.c +++ b/storage/maria/ma_loghandler.c @@ -7425,6 +7425,10 @@ static void translog_force_current_buffer_to_finish() log_descriptor.bc.buffer->offset= new_buff_beginning; log_descriptor.bc.write_counter= write_counter; log_descriptor.bc.previous_offset= previous_offset; + new_buffer->prev_last_lsn= BUFFER_MAX_LSN(old_buffer); + DBUG_PRINT("info", ("prev_last_lsn set to (%lu,0x%lx) buffer: 0x%lx", + LSN_IN_PARTS(new_buffer->prev_last_lsn), + (ulong) new_buffer)); /* Advances this log pointer, increases writers and let other threads to -- cgit v1.2.1 From f0261aca0b6a30b1de382515cb968d45924439a8 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Fri, 6 Feb 2009 22:14:13 +0100 Subject: Bug#42201 Maria: after a deadlock, table is marked as corrupted don't treat deadlock or timeout as a sign of corruption --- mysql-test/suite/maria/r/maria_notembedded.result | 3 +++ mysql-test/suite/maria/t/maria_notembedded.test | 1 + storage/maria/ma_write.c | 2 ++ 3 files changed, 6 insertions(+) diff --git a/mysql-test/suite/maria/r/maria_notembedded.result b/mysql-test/suite/maria/r/maria_notembedded.result index cc9c26409ec..77325d24421 100644 --- a/mysql-test/suite/maria/r/maria_notembedded.result +++ b/mysql-test/suite/maria/r/maria_notembedded.result @@ -50,4 +50,7 @@ ERROR 23000: Duplicate entry '4' for key 'a' unlock tables; ERROR 23000: Duplicate entry '5' for key 'a' unlock tables; +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK drop table t1; diff --git a/mysql-test/suite/maria/t/maria_notembedded.test b/mysql-test/suite/maria/t/maria_notembedded.test index afa749a653d..0f27802de27 100644 --- a/mysql-test/suite/maria/t/maria_notembedded.test +++ b/mysql-test/suite/maria/t/maria_notembedded.test @@ -89,6 +89,7 @@ unlock tables; disconnect con_d; connection default; +check table t1; drop table t1; --disable_result_log diff --git a/storage/maria/ma_write.c b/storage/maria/ma_write.c index 630b1a69689..bfbeb813627 100644 --- a/storage/maria/ma_write.c +++ b/storage/maria/ma_write.c @@ -325,6 +325,8 @@ err: fatal_error= 0; if (my_errno == HA_ERR_FOUND_DUPP_KEY || my_errno == HA_ERR_RECORD_FILE_FULL || + my_errno == HA_ERR_LOCK_DEADLOCK || + my_errno == HA_ERR_LOCK_WAIT_TIMEOUT || my_errno == HA_ERR_NULL_IN_SPATIAL || my_errno == HA_ERR_OUT_OF_MEM) { -- cgit v1.2.1 From 554eb6c2cf00d80d283374a749ca82f1a1f13bae Mon Sep 17 00:00:00 2001 From: Guilhem Bichot Date: Mon, 9 Feb 2009 22:02:04 +0100 Subject: Comments. Take bitmap mutex lock when changing bitmap.changed. storage/maria/ha_maria.cc: comment storage/maria/ma_checkpoint.c: comment storage/maria/ma_extra.c: use bitmap mutex when changing bitmap.changed, sounds safer storage/maria/ma_pagecache.c: comment storage/maria/ma_recovery.c: comments --- storage/maria/ha_maria.cc | 3 ++- storage/maria/ma_checkpoint.c | 8 ++++++++ storage/maria/ma_extra.c | 6 +++++- storage/maria/ma_pagecache.c | 8 ++++---- storage/maria/ma_recovery.c | 5 ++++- 5 files changed, 23 insertions(+), 7 deletions(-) diff --git a/storage/maria/ha_maria.cc b/storage/maria/ha_maria.cc index 34c7bd1455e..efcfca5bd62 100644 --- a/storage/maria/ha_maria.cc +++ b/storage/maria/ha_maria.cc @@ -2381,7 +2381,8 @@ int ha_maria::external_lock(THD *thd, int lock_type) Note that we can come here without having an exclusive lock on the table, for example in this case: external_lock(F_(WR|RD)LCK); thr_lock() which fails due to lock - abortion; external_lock(F_UNLCK). + abortion; external_lock(F_UNLCK). Fortunately, the re-enabling happens + only if we were the thread which disabled logging. */ if (_ma_reenable_logging_for_table(file, TRUE)) DBUG_RETURN(1); diff --git a/storage/maria/ma_checkpoint.c b/storage/maria/ma_checkpoint.c index a78b31edce7..6d1a6332c54 100644 --- a/storage/maria/ma_checkpoint.c +++ b/storage/maria/ma_checkpoint.c @@ -653,6 +653,14 @@ pthread_handler_t ma_checkpoint_background(void *arg) We use FLUSH_KEEP_LAZY: if a file is already in flush, it's smarter to move to the next file than wait for this one to be completely flushed, which may take long. + StaleFilePointersInFlush: notice how below we use "dfile" which + is an OS file descriptor plus some function and MARIA_SHARE + pointers; this data dates from a previous checkpoint; since then, + the table may have been closed (so MARIA_SHARE* became stale), and + the file descriptor reassigned to another table which does not + have the same CRC-read-set callbacks: it is thus important that + flush_pagecache_blocks_with_filter() does not use the pointers, + only the OS file descriptor. */ int res= flush_pagecache_blocks_with_filter(maria_pagecache, diff --git a/storage/maria/ma_extra.c b/storage/maria/ma_extra.c index c311a035e9b..92e0b0d4e15 100644 --- a/storage/maria/ma_extra.c +++ b/storage/maria/ma_extra.c @@ -592,7 +592,11 @@ int _ma_flush_table_files(MARIA_HA *info, uint flush_data_or_index, error= 1; } else - info->s->bitmap.changed= 0; + { + pthread_mutex_lock(&share->bitmap.bitmap_lock); + share->bitmap.changed= 0; + pthread_mutex_unlock(&share->bitmap.bitmap_lock); + } if (flush_pagecache_blocks(share->pagecache, &info->dfile, flush_type_for_data)) error= 1; diff --git a/storage/maria/ma_pagecache.c b/storage/maria/ma_pagecache.c index 0a5cea8a541..3887d6af7bc 100644 --- a/storage/maria/ma_pagecache.c +++ b/storage/maria/ma_pagecache.c @@ -4227,11 +4227,11 @@ static int flush_cached_blocks(PAGECACHE *pagecache, @todo IO If page is contiguous with next page to flush, group flushes in one single my_pwrite(). */ - /* + /** It is important to use block->hash_link->file below and not 'file', as - the first one is right and the second may have different content (and - this matters for callbacks, bitmap pages and data pages have different - ones). + the first one is right and the second may have different out-of-date + content (see StaleFilePointersInFlush in ma_checkpoint.c). + @todo change argument of functions to be File. */ error= pagecache_fwrite(pagecache, &block->hash_link->file, block->buffer, diff --git a/storage/maria/ma_recovery.c b/storage/maria/ma_recovery.c index 8470f509140..08aba4fdcd6 100644 --- a/storage/maria/ma_recovery.c +++ b/storage/maria/ma_recovery.c @@ -3326,7 +3326,10 @@ void _ma_tmp_disable_logging_for_table(MARIA_HA *info, /** Re-enables logging for a table which had it temporarily disabled. - Only the thread which disabled logging is allowed to reenable it. + Only the thread which disabled logging is allowed to reenable it. Indeed, + re-enabling logging affects all open instances, one must have exclusive + access to the table to do that. In practice, the one which disables has + such access. @param info table @param flush_pages if function needs to flush pages first -- cgit v1.2.1 From 9653feb1600c84fc5e51fe102761c93b7f83de0f Mon Sep 17 00:00:00 2001 From: Guilhem Bichot Date: Mon, 9 Feb 2009 22:52:42 +0100 Subject: Callers of translog_deassign_id_from_share() need intern_lock. Assert that keys don't point to bitmap pages. storage/maria/ma_blockrec.h: assertion storage/maria/ma_locking.c: With concurrent INSERTs, it is possible that two threads enter _ma_mark_file_changed() at the same time, so they should serialize their access to the "changed" state/share members; another reason is that this function may call _ma_update_state_lsns_sub() which may call translog_deassign_id_from_share() (I saw it during testing of online backup) which requires the intern_lock mutex. As INSERTs only change from "not changed" to "changed", we can first check without mutex: if it says "changed", some other thread has set or is setting the variables now, we don't need to do it; if it says "not changed", we serialize and re-check. --- storage/maria/ma_blockrec.h | 1 + storage/maria/ma_locking.c | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/storage/maria/ma_blockrec.h b/storage/maria/ma_blockrec.h index 7262205d10e..cb682eef701 100644 --- a/storage/maria/ma_blockrec.h +++ b/storage/maria/ma_blockrec.h @@ -122,6 +122,7 @@ static inline MARIA_RECORD_POS ma_recordpos(pgcache_page_no_t page, uint dir_entry) { DBUG_ASSERT(dir_entry <= 255); + DBUG_ASSERT(page > 0); /* page 0 is bitmap, not data page */ return (MARIA_RECORD_POS) (((ulonglong) page << 8) | dir_entry); } diff --git a/storage/maria/ma_locking.c b/storage/maria/ma_locking.c index 2a34d1fe9f3..9d57cd1cba3 100644 --- a/storage/maria/ma_locking.c +++ b/storage/maria/ma_locking.c @@ -391,9 +391,15 @@ int _ma_mark_file_changed(MARIA_HA *info) { uchar buff[3]; register MARIA_SHARE *share= info->s; + int error= 1; DBUG_ENTER("_ma_mark_file_changed"); - if (!(share->state.changed & STATE_CHANGED) || ! share->global_changed) +#define _MA_ALREADY_MARKED_FILE_CHANGED \ + ((share->state.changed & STATE_CHANGED) && share->global_changed) + if (_MA_ALREADY_MARKED_FILE_CHANGED) + DBUG_RETURN(0); + pthread_mutex_lock(&share->intern_lock); /* recheck under mutex */ + if (! _MA_ALREADY_MARKED_FILE_CHANGED) { share->state.changed|=(STATE_CHANGED | STATE_NOT_ANALYZED | STATE_NOT_OPTIMIZED_KEYS); @@ -420,7 +426,7 @@ int _ma_mark_file_changed(MARIA_HA *info) sizeof(share->state.header) + MARIA_FILE_OPEN_COUNT_OFFSET, MYF(MY_NABP))) - DBUG_RETURN(1); + goto err; } /* Set uuid of file if not yet set (zerofilled file) */ if (share->base.born_transactional && @@ -432,11 +438,15 @@ int _ma_mark_file_changed(MARIA_HA *info) _ma_update_state_lsns_sub(share, LSN_IMPOSSIBLE, trnman_get_min_trid(), TRUE, TRUE))) - DBUG_RETURN(1); + goto err; share->state.changed|= STATE_NOT_MOVABLE; } } - DBUG_RETURN(0); + error= 0; +err: + pthread_mutex_unlock(&share->intern_lock); + DBUG_RETURN(error); +#undef _MA_ALREADY_MARKED_FILE_CHANGED } /* -- cgit v1.2.1 From d5c0d257923221458aec7b01dbf538dbb9aaea4b Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Tue, 10 Feb 2009 19:13:24 +0100 Subject: Bug#42735: dbug treated duplicate keywords (-#d,kw,kw) incorrectly --- dbug/dbug.c | 4 +++- dbug/tests-t.pl | 11 +++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/dbug/dbug.c b/dbug/dbug.c index fc2faf867e4..1e18fb3eab0 100644 --- a/dbug/dbug.c +++ b/dbug/dbug.c @@ -1451,7 +1451,9 @@ next: { if (!strncmp((*cur)->str, start, len)) { - if (todo == EXCLUDE) + if ((*cur)->flags & todo) /* same action ? */ + (*cur)->flags|= subdir; /* just merge the SUBDIR flag */ + else if (todo == EXCLUDE) { struct link *delme=*cur; *cur=(*cur)->next_link; diff --git a/dbug/tests-t.pl b/dbug/tests-t.pl index a4227e8aa07..de9ed6f6ab9 100755 --- a/dbug/tests-t.pl +++ b/dbug/tests-t.pl @@ -483,3 +483,14 @@ func2: info: s=ko | | execute +=> evaluate: ON +=> evaluate_if: OFF +main: explain: dbug explained: d:-d,info +% ./tests d:-d,info/,info +=> execute +=> evaluate: ON +=> evaluate_if: OFF +main: explain: dbug explained: d:-d,info/ -- cgit v1.2.1 From b4d0bf108461386dc42b0fff7222fc68592d046d Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Wed, 11 Feb 2009 19:57:38 +0100 Subject: support for glob(7) patterns in dbug --- configure.in | 2 +- dbug/dbug.c | 11 +++++++++-- dbug/user.r | 15 ++++++++++++++- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/configure.in b/configure.in index 3636398abc2..70679c0c201 100644 --- a/configure.in +++ b/configure.in @@ -814,7 +814,7 @@ AC_HEADER_DIRENT AC_HEADER_STDC AC_HEADER_SYS_WAIT AC_CHECK_HEADERS(fcntl.h float.h floatingpoint.h ieeefp.h limits.h \ - memory.h pwd.h select.h \ + memory.h pwd.h select.h fnmatch.h \ stdlib.h stddef.h sys/stat.h \ strings.h string.h synch.h sys/mman.h sys/socket.h netinet/in.h arpa/inet.h \ sys/timeb.h sys/types.h sys/un.h sys/vadvise.h sys/wait.h term.h \ diff --git a/dbug/dbug.c b/dbug/dbug.c index 1e18fb3eab0..33971d5523a 100644 --- a/dbug/dbug.c +++ b/dbug/dbug.c @@ -75,7 +75,7 @@ * (the logic is - think of a call stack as of a path. * "function" means only this function, "function/" means the hierarchy. * in the future, filters like function1/function2 could be supported. - * wildcards are a natural extension too: * and ?) + * following this logic glob(7) wildcards are supported.) * */ @@ -88,6 +88,13 @@ #include #include #include + +#ifdef HAVE_FNMATCH_H +#include +#else +#define fnmatch(A,B,C) strcmp(A,B) +#endif + #if defined(MSDOS) || defined(__WIN__) #include #endif @@ -1547,7 +1554,7 @@ static int InList(struct link *linkp, const char *cp) for (result=MATCHED; linkp != NULL; linkp= linkp->next_link) { - if (!strcmp(linkp->str, cp)) + if (!fnmatch(linkp->str, cp, 0)) return linkp->flags; if (!(linkp->flags & EXCLUDE)) result=NOT_MATCHED; diff --git a/dbug/user.r b/dbug/user.r index 527ad1f43cd..25579b5488f 100644 --- a/dbug/user.r +++ b/dbug/user.r @@ -941,6 +941,9 @@ a complete log file in case of crashes. This mode is implicit in multi-threaded environment. .LI d[,keywords] Enable output from macros with specified keywords. +Every keyword can be a +.I glob(7) +pattern. An empty list of keywords implies that all keywords are selected. .LI D[,time] Delay for specified time after each output line, to let output drain. @@ -948,6 +951,9 @@ Time is given in tenths of a second (value of 10 is one second). Default is zero. .LI f[,functions] Limit debugger actions to the specified list of functions. +Every function can be a +.I glob(7) +pattern. An empty list of functions implies that all functions are selected. Every function in the list may optionally be followed by a '/' - this will implicitly select all the functions down the call stack. @@ -966,6 +972,9 @@ Mark each debugger output line with the PID (or thread ID) of the current process. .LI g,[functions] Enable profiling for the specified list of functions. +Every function can be a +.I glob(7) +pattern. An empty list of functions enables profiling for all functions. See .B PROFILING\ WITH\ DBUG @@ -984,7 +993,11 @@ Like 'a[,file]' but overwrite old file, do not append. .LI O[,file] Like 'A[,file]' but overwrite old file, do not append. .LI p[,processes] -Limit debugger actions to the specified processes. An empty list +Limit debugger actions to the specified processes. +Every name can be a +.I glob(7) +pattern. +An empty list implies all processes. This is useful for processes which run child processes. Note that each debugger output line can be marked with the name of the current process via the 'P' flag. The process name must -- cgit v1.2.1 From ce8f55fe3b57d04f1c86a9ca8494688b949860e9 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Thu, 12 Feb 2009 11:06:03 +0100 Subject: Bug#41092 Maria: timeout in waiting_threads-t it was bug in a test program, changed WT_THD's initialization to ensure they have no garbage from the previous run. --- unittest/mysys/waiting_threads-t.c | 83 ++++++++++++++++++++------------------ 1 file changed, 44 insertions(+), 39 deletions(-) diff --git a/unittest/mysys/waiting_threads-t.c b/unittest/mysys/waiting_threads-t.c index 74c18fda7b9..6274077a87f 100644 --- a/unittest/mysys/waiting_threads-t.c +++ b/unittest/mysys/waiting_threads-t.c @@ -24,6 +24,7 @@ struct test_wt_thd { uint i, cnt; pthread_mutex_t lock; +pthread_cond_t thread_sync; ulong wt_timeout_short=100, wt_deadlock_search_depth_short=4; ulong wt_timeout_long=10000, wt_deadlock_search_depth_long=15; @@ -48,9 +49,19 @@ pthread_handler_t test_wt(void *arg) my_thread_init(); - pthread_mutex_lock(&lock); + pthread_mutex_lock(&mutex); id= cnt++; - pthread_mutex_unlock(&lock); + wt_thd_lazy_init(& thds[id].thd, + & wt_deadlock_search_depth_short, & wt_timeout_short, + & wt_deadlock_search_depth_long, & wt_timeout_long); + + /* now, wait for everybody to be ready to run */ + if (cnt >= THREADS) + pthread_cond_broadcast(&thread_sync); + else + while (cnt < THREADS) + pthread_cond_wait(&thread_sync, &mutex); + pthread_mutex_unlock(&mutex); my_rnd_init(&rand, (ulong)(intptr)&m, id); if (kill_strategy == YOUNGEST) @@ -111,23 +122,23 @@ retry: thds[id].thd.weight++; } + pthread_mutex_lock(&mutex); + /* wait for everybody to finish */ + if (!--cnt) + pthread_cond_broadcast(&thread_sync); + else + while (cnt) + pthread_cond_wait(&thread_sync, &mutex); + pthread_mutex_lock(& thds[id].lock); pthread_mutex_lock(&lock); wt_thd_release_all(& thds[id].thd); pthread_mutex_unlock(&lock); pthread_mutex_unlock(& thds[id].lock); + wt_thd_destroy(& thds[id].thd); -#ifndef DBUG_OFF - { -#define DEL "(deleted)" - char *x=malloc(strlen(thds[id].thd.name)+sizeof(DEL)+1); - strxmov(x, thds[id].thd.name, DEL, 0); - thds[id].thd.name=x; - } -#endif - - pthread_mutex_lock(&mutex); - if (!--running_threads) pthread_cond_signal(&cond); + if (!--running_threads) /* now, signal when everybody is done with deinit */ + pthread_cond_signal(&cond); pthread_mutex_unlock(&mutex); DBUG_PRINT("wt", ("exiting")); my_thread_end(); @@ -137,6 +148,7 @@ retry: void do_one_test() { double sum, sum0; + DBUG_ENTER("do_one_test"); reset(wt_cycle_stats); reset(wt_wait_stats); @@ -162,10 +174,13 @@ void do_one_test() wt_wait_table[cnt], wt_wait_stats[cnt]); diag("timed out: %u", wt_wait_stats[cnt]); diag("successes: %u", wt_success_stats); + + DBUG_VOID_RETURN; } void do_tests() { + DBUG_ENTER("do_tests"); plan(14); compile_time_assert(THREADS >= 4); @@ -174,19 +189,18 @@ void do_tests() bad= my_atomic_initialize(); ok(!bad, "my_atomic_initialize() returned %d", bad); + pthread_cond_init(&thread_sync, 0); pthread_mutex_init(&lock, 0); wt_init(); for (cnt=0; cnt < THREADS; cnt++) - { - wt_thd_lazy_init(& thds[cnt].thd, - & wt_deadlock_search_depth_short, & wt_timeout_short, - & wt_deadlock_search_depth_long, & wt_timeout_long); pthread_mutex_init(& thds[cnt].lock, 0); - } { - WT_RESOURCE_ID resid[3]; - for (i=0; i < 3; i++) + WT_RESOURCE_ID resid[4]; + for (i=0; i < array_elements(resid); i++) { + wt_thd_lazy_init(& thds[i].thd, + & wt_deadlock_search_depth_short, & wt_timeout_short, + & wt_deadlock_search_depth_long, & wt_timeout_long); resid[i].value= i+1; resid[i].type= &restype; } @@ -220,15 +234,13 @@ void do_tests() wt_thd_release_all(& thds[1].thd); wt_thd_release_all(& thds[2].thd); wt_thd_release_all(& thds[3].thd); - pthread_mutex_unlock(&lock); - for (cnt=0; cnt < 4; cnt++) + for (i=0; i < array_elements(resid); i++) { - wt_thd_destroy(& thds[cnt].thd); - wt_thd_lazy_init(& thds[cnt].thd, - & wt_deadlock_search_depth_short, & wt_timeout_short, - & wt_deadlock_search_depth_long, & wt_timeout_long); + wt_thd_release_all(& thds[i].thd); + wt_thd_destroy(& thds[i].thd); } + pthread_mutex_unlock(&lock); } wt_deadlock_search_depth_short=6; @@ -244,30 +256,23 @@ void do_tests() #define test_kill_strategy(X) \ diag("kill strategy: " #X); \ + DBUG_EXECUTE("reset_file", \ + { rewind(DBUG_FILE); ftruncate(fileno(DBUG_FILE), 0); }); \ + DBUG_PRINT("info", ("kill strategy: " #X)); \ kill_strategy=X; \ do_one_test(); test_kill_strategy(LATEST); - SKIP_BIG_TESTS(1) - { - test_kill_strategy(RANDOM); - } + test_kill_strategy(RANDOM); test_kill_strategy(YOUNGEST); test_kill_strategy(LOCKS); DBUG_PRINT("wt", ("================= cleanup ===================")); - pthread_mutex_lock(&lock); for (cnt=0; cnt < THREADS; cnt++) - { - wt_thd_release_all(& thds[cnt].thd); - wt_thd_destroy(& thds[cnt].thd); pthread_mutex_destroy(& thds[cnt].lock); -#ifndef DBUG_OFF - free(thds[cnt].thd.name); -#endif - } - pthread_mutex_unlock(&lock); wt_end(); pthread_mutex_destroy(&lock); + pthread_cond_destroy(&thread_sync); + DBUG_VOID_RETURN; } -- cgit v1.2.1 From b90ff5340fc10a9306be1b1201612e382b8ab051 Mon Sep 17 00:00:00 2001 From: Guilhem Bichot Date: Thu, 12 Feb 2009 16:27:33 +0100 Subject: Fixing problems of previous 5.1-main->5.1-maria merge: - adding back Serg's "mtr --list-options" - safe_mutex deadlock detector started raising wrong deadlock warnings, fixed here by a backport from 6.0-main. include/my_pthread.h: Porting changes done to 6.0-main which satisfy the safe_mutex deadlock detector (those in 5.1-main don't), see chad@mysql.com-20090126155607-n0j3zbmgbfepnmmo for explanations mysql-test/mysql-test-run.pl: adding back Serg's --list-options mysys/my_init.c: Porting changes done to 6.0-main which satisfy the safe_mutex deadlock detector (those in 5.1-main don't), see chad@mysql.com-20090126155607-n0j3zbmgbfepnmmo for explanations mysys/my_thr_init.c: Porting changes done to 6.0-main which satisfy the safe_mutex deadlock detector (those in 5.1-main don't), see chad@mysql.com-20090126155607-n0j3zbmgbfepnmmo for explanations --- include/my_pthread.h | 1 + mysql-test/mysql-test-run.pl | 21 +++++++++++++++++++-- mysys/my_init.c | 10 +++++----- mysys/my_thr_init.c | 32 ++++++++++++++++++++++++++++++++ 4 files changed, 57 insertions(+), 7 deletions(-) diff --git a/include/my_pthread.h b/include/my_pthread.h index 538457a523a..f7d81f95107 100644 --- a/include/my_pthread.h +++ b/include/my_pthread.h @@ -671,6 +671,7 @@ extern pthread_mutexattr_t my_errorcheck_mutexattr; typedef ulong my_thread_id; +extern void my_threadattr_global_init(void); extern my_bool my_thread_global_init(void); extern void my_thread_global_end(void); extern my_bool my_thread_init(void); diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index dbbc68527a7..f242df9991e 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -118,6 +118,7 @@ our $opt_vs_config = $ENV{'MTR_VS_CONFIG'}; my $DEFAULT_SUITES= "main,binlog,federated,rpl,rpl_ndb,ndb,maria"; our $opt_usage; +our $opt_list_options; our $opt_suites; our $opt_suites_default= "main,backup,backup_engines,binlog,rpl,rpl_ndb,ndb"; # Default suites to run our $opt_script_debug= 0; # Script debugging, enable with --script-debug @@ -770,7 +771,7 @@ sub command_line_setup { # Read the command line options # Note: Keep list, and the order, in sync with usage at end of this file Getopt::Long::Configure("pass_through"); - GetOptions( + my %options=( # Control what engine/variation to run 'embedded-server' => \$opt_embedded_server, 'ps-protocol' => \$opt_ps_protocol, @@ -891,9 +892,13 @@ sub command_line_setup { 'timediff' => \&report_option, 'help|h' => \$opt_usage, - ) or usage("Can't read options"); + 'list-options' => \$opt_list_options, + ); + + GetOptions(%options) or usage("Can't read options"); usage("") if $opt_usage; + list_options(\%options) if $opt_list_options; # -------------------------------------------------------------------------- # Setup verbosity @@ -5125,3 +5130,15 @@ HERE } + +sub list_options ($) { + my $hash= shift; + + for (keys %$hash) { + s/(=.*|!)$//; + s/\|/\n--/g; + print "--$_\n"; + } + + exit(1); +} diff --git a/mysys/my_init.c b/mysys/my_init.c index 2401671687b..e05536bf3ea 100644 --- a/mysys/my_init.c +++ b/mysys/my_init.c @@ -82,20 +82,20 @@ my_bool my_init(void) my_progname_short= my_progname + dirname_length(my_progname); #if defined(THREAD) - if (my_thread_global_init()) - return 1; + (void) my_threadattr_global_init(); # if defined(SAFE_MUTEX) safe_mutex_global_init(); /* Must be called early */ -# endif -#endif -#if defined(THREAD) && defined(MY_PTHREAD_FASTMUTEX) && !defined(SAFE_MUTEX) +# elif defined(MY_PTHREAD_FASTMUTEX) fastmutex_global_init(); /* Must be called early */ +# endif #endif netware_init(); #ifdef THREAD #if defined(HAVE_PTHREAD_INIT) pthread_init(); /* Must be called before DBUG_ENTER */ #endif + if (my_thread_global_init()) + return 1; #if !defined( __WIN__) && !defined(__NETWARE__) sigfillset(&my_signals); /* signals blocked by mf_brkhant */ #endif diff --git a/mysys/my_thr_init.c b/mysys/my_thr_init.c index 3f4c4a4d638..4617d0e2277 100644 --- a/mysys/my_thr_init.c +++ b/mysys/my_thr_init.c @@ -65,6 +65,38 @@ nptl_pthread_exit_hack_handler(void *arg __attribute((unused))) #endif /* TARGET_OS_LINUX */ + +/** + Initialize thread attributes. +*/ + +void my_threadattr_global_init(void) +{ +#ifdef PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP + /* + Set mutex type to "fast" a.k.a "adaptive" + + In this case the thread may steal the mutex from some other thread + that is waiting for the same mutex. This will save us some + context switches but may cause a thread to 'starve forever' while + waiting for the mutex (not likely if the code within the mutex is + short). + */ + pthread_mutexattr_init(&my_fast_mutexattr); /* ?= MY_MUTEX_INIT_FAST */ + pthread_mutexattr_settype(&my_fast_mutexattr, + PTHREAD_MUTEX_ADAPTIVE_NP); +#endif +#ifdef PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP + /* + Set mutex type to "errorcheck" + */ + pthread_mutexattr_init(&my_errorcheck_mutexattr); + pthread_mutexattr_settype(&my_errorcheck_mutexattr, + PTHREAD_MUTEX_ERRORCHECK); +#endif +} + + static uint get_thread_lib(void); /* -- cgit v1.2.1 From 998b4ae52d72010513035c969ff938d5d79c640c Mon Sep 17 00:00:00 2001 From: Guilhem Bichot Date: Thu, 12 Feb 2009 18:51:00 +0100 Subject: Merge of MyISAM changes done in 5.1-main, into Maria --- include/maria.h | 2 +- storage/maria/ma_check.c | 5 ++- storage/maria/ma_ft_boolean_search.c | 38 +++++++++++++++--- storage/maria/ma_ft_parser.c | 76 +++++++++++++----------------------- storage/maria/ma_ftdefs.h | 1 + storage/maria/ma_open.c | 6 ++- storage/maria/maria_def.h | 2 +- storage/maria/maria_pack.c | 2 +- 8 files changed, 72 insertions(+), 60 deletions(-) diff --git a/include/maria.h b/include/maria.h index c5bd8641c38..d14ca10e9b5 100644 --- a/include/maria.h +++ b/include/maria.h @@ -191,7 +191,7 @@ typedef struct st_maria_keydef /* Key definition with open & info */ uint16 maxlength; /* max length of (packed) key (auto) */ uint32 write_comp_flag; /* compare flag for write key (auto) */ uint32 version; /* For concurrent read/write */ - uint32 ftparser_nr; /* distinct ftparser number */ + uint32 ftkey_nr; /* full-text index number */ HA_KEYSEG *seg, *end; struct st_mysql_ftparser *parser; /* Fulltext [pre]parser */ diff --git a/storage/maria/ma_check.c b/storage/maria/ma_check.c index 8f5e07e27f2..047ac061706 100644 --- a/storage/maria/ma_check.c +++ b/storage/maria/ma_check.c @@ -3675,7 +3675,7 @@ int maria_repair_by_sort(HA_CHECK *param, register MARIA_HA *info, Note, built-in parser is always nr. 0 - see ftparser_call_initializer() */ - if (sort_param.keyinfo->ftparser_nr == 0) + if (sort_param.keyinfo->ftkey_nr == 0) { /* for built-in parser the number of generated index entries @@ -4222,6 +4222,9 @@ int maria_repair_parallel(HA_CHECK *param, register MARIA_HA *info, sort_param[0].fix_datafile= ! rep_quick; sort_param[0].calc_checksum= test(param->testflag & T_CALC_CHECKSUM); + if (!maria_ftparser_alloc_param(info)) + goto err; + sort_info.got_error=0; pthread_mutex_lock(&sort_info.mutex); diff --git a/storage/maria/ma_ft_boolean_search.c b/storage/maria/ma_ft_boolean_search.c index 3bcbd9edfbf..148fc8c783c 100644 --- a/storage/maria/ma_ft_boolean_search.c +++ b/storage/maria/ma_ft_boolean_search.c @@ -161,11 +161,11 @@ static int FTB_WORD_cmp(my_off_t *v, FTB_WORD *a, FTB_WORD *b) static int FTB_WORD_cmp_list(CHARSET_INFO *cs, FTB_WORD **a, FTB_WORD **b) { - /* ORDER BY word DESC, ndepth DESC */ - int i= ha_compare_text(cs, (uchar*) (*b)->word+1,(*b)->len-1, - (uchar*) (*a)->word+1,(*a)->len-1,0,0); + /* ORDER BY word, ndepth */ + int i= ha_compare_text(cs, (uchar*) (*a)->word + 1,(*a)->len - 1, + (uchar*) (*b)->word + 1,(*b)->len - 1, 0, 0); if (!i) - i=CMP_NUM((*b)->ndepth,(*a)->ndepth); + i=CMP_NUM((*a)->ndepth, (*b)->ndepth); return i; } @@ -879,23 +879,49 @@ static int ftb_find_relevance_add_word(MYSQL_FTPARSER_PARAM *param, FT_INFO *ftb= ftb_param->ftb; FTB_WORD *ftbw; int a, b, c; + /* + Find right-most element in the array of query words matching this + word from a document. + */ for (a= 0, b= ftb->queue.elements, c= (a+b)/2; b-a>1; c= (a+b)/2) { ftbw= ftb->list[c]; if (ha_compare_text(ftb->charset, (uchar*)word, len, (uchar*)ftbw->word+1, ftbw->len-1, - (my_bool)(ftbw->flags&FTB_FLAG_TRUNC), 0) > 0) + (my_bool)(ftbw->flags&FTB_FLAG_TRUNC), 0) < 0) b= c; else a= c; } + /* + If there were no words with truncation operator, we iterate to the + beginning of an array until array element is equal to the word from + a document. This is done mainly because the same word may be + mentioned twice (or more) in the query. + + In case query has words with truncation operator we must iterate + to the beginning of the array. There may be non-matching query words + between matching word with truncation operator and the right-most + matching element. E.g., if we're looking for 'aaa15' in an array of + 'aaa1* aaa14 aaa15 aaa16'. + + Worse of that there still may be match even if the binary search + above didn't find matching element. E.g., if we're looking for + 'aaa15' in an array of 'aaa1* aaa14 aaa16'. The binary search will + stop at 'aaa16'. + */ for (; c >= 0; c--) { ftbw= ftb->list[c]; if (ha_compare_text(ftb->charset, (uchar*)word, len, (uchar*)ftbw->word + 1,ftbw->len - 1, (my_bool)(ftbw->flags & FTB_FLAG_TRUNC), 0)) - break; + { + if (ftb->with_scan & FTB_FLAG_TRUNC) + continue; + else + break; + } if (ftbw->docid[1] == ftb->info->cur_row.lastpos) continue; ftbw->docid[1]= ftb->info->cur_row.lastpos; diff --git a/storage/maria/ma_ft_parser.c b/storage/maria/ma_ft_parser.c index 25704f1af5a..8eb40a20789 100644 --- a/storage/maria/ma_ft_parser.c +++ b/storage/maria/ma_ft_parser.c @@ -326,59 +326,39 @@ int maria_ft_parse(TREE *wtree, uchar *doc, int doclen, #define MAX_PARAM_NR 2 -MYSQL_FTPARSER_PARAM *maria_ftparser_call_initializer(MARIA_HA *info, - uint keynr, uint paramnr) + +MYSQL_FTPARSER_PARAM* maria_ftparser_alloc_param(MARIA_HA *info) { - uint32 ftparser_nr; - struct st_mysql_ftparser *parser; - if (! info->ftparser_param) + if (!info->ftparser_param) { - /* info->ftparser_param can not be zero after the initialization, - because it always includes built-in fulltext parser. And built-in - parser can be called even if the table has no fulltext indexes and - no varchar/text fields. */ - if (! info->s->ftparsers) - { - /* It's ok that modification to shared structure is done w/o mutex - locks, because all threads would set the same variables to the - same values. */ - uint i, j, keys= info->s->state.header.keys, ftparsers= 1; - for (i= 0; i < keys; i++) - { - MARIA_KEYDEF *keyinfo= &info->s->keyinfo[i]; - if (keyinfo->flag & HA_FULLTEXT) - { - for (j= 0;; j++) - { - if (j == i) - { - keyinfo->ftparser_nr= ftparsers++; - break; - } - if (info->s->keyinfo[j].flag & HA_FULLTEXT && - keyinfo->parser == info->s->keyinfo[j].parser) - { - keyinfo->ftparser_nr= info->s->keyinfo[j].ftparser_nr; - break; - } - } - } - } - info->s->ftparsers= ftparsers; - } - /* - We have to allocate two MYSQL_FTPARSER_PARAM structures per plugin - because in a boolean search a parser is called recursively - ftb_find_relevance* calls ftb_check_phrase* - (MAX_PARAM_NR=2) + /* +. info->ftparser_param can not be zero after the initialization, + because it always includes built-in fulltext parser. And built-in + parser can be called even if the table has no fulltext indexes and + no varchar/text fields. + + ftb_find_relevance... parser (ftb_find_relevance_parse, + ftb_find_relevance_add_word) calls ftb_check_phrase... parser + (ftb_check_phrase_internal, ftb_phrase_add_word). Thus MAX_PARAM_NR=2. */ info->ftparser_param= (MYSQL_FTPARSER_PARAM *) my_malloc(MAX_PARAM_NR * sizeof(MYSQL_FTPARSER_PARAM) * - info->s->ftparsers, MYF(MY_WME|MY_ZEROFILL)); + info->s->ftkeys, MYF(MY_WME | MY_ZEROFILL)); init_alloc_root(&info->ft_memroot, FTPARSER_MEMROOT_ALLOC_SIZE, 0); - if (! info->ftparser_param) - return 0; } + return info->ftparser_param; +} + + +MYSQL_FTPARSER_PARAM *maria_ftparser_call_initializer(MARIA_HA *info, + uint keynr, uint paramnr) +{ + uint32 ftparser_nr; + struct st_mysql_ftparser *parser; + + if (!maria_ftparser_alloc_param(info)) + return 0; + if (keynr == NO_SUCH_KEY) { ftparser_nr= 0; @@ -386,7 +366,7 @@ MYSQL_FTPARSER_PARAM *maria_ftparser_call_initializer(MARIA_HA *info, } else { - ftparser_nr= info->s->keyinfo[keynr].ftparser_nr; + ftparser_nr= info->s->keyinfo[keynr].ftkey_nr; parser= info->s->keyinfo[keynr].parser; } DBUG_ASSERT(paramnr < MAX_PARAM_NR); @@ -419,7 +399,7 @@ void maria_ftparser_call_deinitializer(MARIA_HA *info) for (j=0; j < MAX_PARAM_NR; j++) { MYSQL_FTPARSER_PARAM *ftparser_param= - &info->ftparser_param[keyinfo->ftparser_nr*MAX_PARAM_NR + j]; + &info->ftparser_param[keyinfo->ftkey_nr*MAX_PARAM_NR + j]; if (keyinfo->flag & HA_FULLTEXT && ftparser_param->mysql_add_word) { if (keyinfo->parser->deinit) diff --git a/storage/maria/ma_ftdefs.h b/storage/maria/ma_ftdefs.h index bd5309ea265..7e83d774aed 100644 --- a/storage/maria/ma_ftdefs.h +++ b/storage/maria/ma_ftdefs.h @@ -147,6 +147,7 @@ void maria_ft_boolean_close_search(FT_INFO *); float maria_ft_boolean_get_relevance(FT_INFO *); my_off_t maria_ft_boolean_get_docid(FT_INFO *); void maria_ft_boolean_reinit_search(FT_INFO *); +MYSQL_FTPARSER_PARAM* maria_ftparser_alloc_param(MARIA_HA *info); extern MYSQL_FTPARSER_PARAM *maria_ftparser_call_initializer(MARIA_HA *info, uint keynr, uint paramnr); diff --git a/storage/maria/ma_open.c b/storage/maria/ma_open.c index c6c786910db..cc004c23a25 100644 --- a/storage/maria/ma_open.c +++ b/storage/maria/ma_open.c @@ -537,6 +537,7 @@ MARIA_HA *maria_open(const char *name, int mode, uint open_flags) share->block_size= share->base.block_size; /* Convenience */ { HA_KEYSEG *pos=share->keyparts; + uint32 ftkey_nr= 1; for (i=0 ; i < keys ; i++) { share->keyinfo[i].share= share; @@ -609,6 +610,7 @@ MARIA_HA *maria_open(const char *name, int mode, uint open_flags) share->ft2_keyinfo.end=pos; setup_key_functions(& share->ft2_keyinfo); } + share->keyinfo[i].ftkey_nr= ftkey_nr++; } setup_key_functions(share->keyinfo+i); share->keyinfo[i].end=pos; @@ -646,7 +648,7 @@ MARIA_HA *maria_open(const char *name, int mode, uint open_flags) pos->flag=0; pos++; } - share->ftparsers= 0; + share->ftkeys= ftkey_nr; } share->data_file_type= share->state.header.data_file_type; share->base_length= (BASE_ROW_HEADER_SIZE + @@ -1527,7 +1529,7 @@ uchar *_ma_keydef_read(uchar *ptr, MARIA_KEYDEF *keydef) keydef->underflow_block_length=keydef->block_length/3; keydef->version = 0; /* Not saved */ keydef->parser = &ft_default_parser; - keydef->ftparser_nr = 0; + keydef->ftkey_nr = 0; return ptr; } diff --git a/storage/maria/maria_def.h b/storage/maria/maria_def.h index 7c2017c4671..bbc3246f323 100644 --- a/storage/maria/maria_def.h +++ b/storage/maria/maria_def.h @@ -348,7 +348,7 @@ typedef struct st_maria_share ulong state_diff_length; uint rec_reflength; /* rec_reflength in use now */ uint keypage_header; - uint32 ftparsers; /* Number of distinct ftparsers + uint32 ftkeys; /* Number of distinct full-text keys + 1 */ PAGECACHE_FILE kfile; /* Shared keyfile */ File data_file; /* Shared data file */ diff --git a/storage/maria/maria_pack.c b/storage/maria/maria_pack.c index 234ac61c08d..706a0935363 100644 --- a/storage/maria/maria_pack.c +++ b/storage/maria/maria_pack.c @@ -302,7 +302,7 @@ static void print_version(void) static void usage(void) { print_version(); - puts("Copyright (C) 2002 MySQL AB"); + puts("Copyright 2002-2008 MySQL AB, 2008-2009 Sun Microsystems, Inc."); puts("This software comes with ABSOLUTELY NO WARRANTY. This is free software,"); puts("and you are welcome to modify and redistribute it under the GPL license\n"); -- cgit v1.2.1 From 6a1bc662d67cdb7716480654ddd63d504508b4fa Mon Sep 17 00:00:00 2001 From: Guilhem Bichot Date: Fri, 13 Feb 2009 13:25:41 +0100 Subject: the Maria testsuite needs to be in the tarball, to make pushbuild run it --- mysql-test/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/Makefile.am b/mysql-test/Makefile.am index dc9fbbd9aa5..9e38a32cd00 100644 --- a/mysql-test/Makefile.am +++ b/mysql-test/Makefile.am @@ -94,7 +94,7 @@ TEST_DIRS = t r include std_data std_data/parts \ suite/manual/t suite/manual/r \ suite/ndb_team suite/ndb_team/t suite/ndb_team/r \ suite/rpl suite/rpl/data suite/rpl/include suite/rpl/r \ - suite/rpl/t \ + suite/rpl/t suite/maria/t suite/maria/r \ suite/stress/include suite/stress/t suite/stress/r \ suite/ndb suite/ndb/t suite/ndb/r \ suite/rpl_ndb suite/rpl_ndb/t suite/rpl_ndb/r \ -- cgit v1.2.1