Base code and idea from a patch from by plinux at Taobao.
The idea is that we mark all memory that are thread specific with MY_THREAD_SPECIFIC.
Memory counting is done per thread in the my_malloc_size_cb_func callback function from my_malloc().
There are plenty of new asserts to ensure that for a debug server the counting is correct.
Information_schema.processlist gets two new columns: MEMORY_USED and EXAMINED_ROWS.
- The later is there mainly to show how query is progressing.
The following changes in interfaces was needed to get this to work:
- init_alloc_root() amd init_sql_alloc() has extra option so that one can mark memory with MY_THREAD_SPECIFIC
- One now have to use alloc_root_set_min_malloc() to set min memory to be allocated by alloc_root()
- my_init_dynamic_array() has extra option so that one can mark memory with MY_THREAD_SPECIFIC
- my_net_init() has extra option so that one can mark memory with MY_THREAD_SPECIFIC
- Added flag for hash_init() so that one can mark hash table to be thread specific.
- Added flags to init_tree() so that one can mark tree to be thread specific.
- Removed with_delete option to init_tree(). Now one should instead use MY_TREE_WITH_DELETE_FLAG.
- Added flag to Warning_info::Warning_info() if the structure should be fully initialized.
- String elements can now be marked as thread specific.
- Internal HEAP tables are now marking it's memory as MY_THREAD_SPECIFIC.
- Changed type of myf from int to ulong, as this is always a set of bit flags.
Other things:
- Removed calls to net_end() and thd->cleanup() as these are now done in ~THD()
- We now also show EXAMINED_ROWS in SHOW PROCESSLIST
- Added new variable 'memory_used'
- Fixed bug where kill_threads_for_user() was using the wrong mem_root to allocate memory.
- Removed calls to the obsoleted function init_dynamic_array()
- Use set_current_thd() instead of my_pthread_setspecific_ptr(THR_THD,...)
client/completion_hash.cc:
Updated call to init_alloc_root()
client/mysql.cc:
Updated call to init_alloc_root()
client/mysqlbinlog.cc:
init_dynamic_array() -> my_init_dynamic_array()
Updated call to init_alloc_root()
client/mysqlcheck.c:
Updated call to my_init_dynamic_array()
client/mysqldump.c:
Updated call to init_alloc_root()
client/mysqltest.cc:
Updated call to init_alloc_root()
Updated call to my_init_dynamic_array()
Fixed compiler warnings
extra/comp_err.c:
Updated call to my_init_dynamic_array()
extra/resolve_stack_dump.c:
Updated call to my_init_dynamic_array()
include/hash.h:
Added HASH_THREAD_SPECIFIC
include/heap.h:
Added flag is internal temporary table.
include/my_dir.h:
Safety fix: Ensure that MY_DONT_SORT and MY_WANT_STAT don't interfer with other mysys flags
include/my_global.h:
Changed type of myf from int to ulong, as this is always a set of bit flags.
include/my_sys.h:
Added MY_THREAD_SPECIFIC and MY_THREAD_MOVE
Added malloc_flags to DYNAMIC_ARRAY
Added extra mysys flag argument to my_init_dynamic_array()
Removed deprecated functions init_dynamic_array() and my_init_dynamic_array.._ci
Updated paramaters for init_alloc_root()
include/my_tree.h:
Added my_flags to allow one to use MY_THREAD_SPECIFIC with hash tables.
Removed with_delete. One should now instead use MY_TREE_WITH_DELETE_FLAG
Updated parameters to init_tree()
include/myisamchk.h:
Added malloc_flags to allow one to use MY_THREAD_SPECIFIC for checks.
include/mysql.h:
Added MYSQL_THREAD_SPECIFIC_MALLOC
Used 'unused1' to mark memory as thread specific.
include/mysql.h.pp:
Updated file
include/mysql_com.h:
Used 'unused1' to mark memory as thread specific.
Updated parameters for my_net_init()
libmysql/libmysql.c:
Updated call to init_alloc_root() to mark memory thread specific.
libmysqld/emb_qcache.cc:
Updated call to init_alloc_root()
libmysqld/lib_sql.cc:
Updated call to init_alloc_root()
mysql-test/r/create.result:
Updated results
mysql-test/r/user_var.result:
Updated results
mysql-test/suite/funcs_1/datadict/processlist_priv.inc:
Update to handle new format of SHOW PROCESSLIST
mysql-test/suite/funcs_1/datadict/processlist_val.inc:
Update to handle new format of SHOW PROCESSLIST
mysql-test/suite/funcs_1/r/is_columns_is.result:
Update to handle new format of SHOW PROCESSLIST
mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result:
Updated results
mysql-test/suite/funcs_1/r/processlist_val_no_prot.result:
Updated results
mysql-test/t/show_explain.test:
Fixed usage of debug variable so that one can run test with --debug
mysql-test/t/user_var.test:
Added test of memory_usage variable.
mysys/array.c:
Added extra my_flags option to init_dynamic_array() and init_dynamic_array2() so that one can mark memory with MY_THREAD_SPECIFIC
All allocated memory is marked with the given my_flags.
Removed obsolete function init_dynamic_array()
mysys/default.c:
Updated call to init_alloc_root()
Updated call to my_init_dynamic_array()
mysys/hash.c:
Updated call to my_init_dynamic_array_ci().
Allocated memory is marked with MY_THREAD_SPECIFIC if HASH_THREAD_SPECIFIC is used.
mysys/ma_dyncol.c:
init_dynamic_array() -> my_init_dynamic_array()
Added #if to get rid of compiler warnings
mysys/mf_tempdir.c:
Updated call to my_init_dynamic_array()
mysys/my_alloc.c:
Added extra parameter to init_alloc_root() so that one can mark memory with MY_THREAD_SPECIFIC
Extend MEM_ROOT with a flag if memory is thread specific.
This is stored in block_size, to keep the size of the MEM_ROOT object identical as before.
Allocated memory is marked with MY_THREAD_SPECIFIC if used with init_alloc_root()
mysys/my_chmod.c:
Updated DBUG_PRINT because of change of myf type
mysys/my_chsize.c:
Updated DBUG_PRINT because of change of myf type
mysys/my_copy.c:
Updated DBUG_PRINT because of change of myf type
mysys/my_create.c:
Updated DBUG_PRINT because of change of myf type
mysys/my_delete.c:
Updated DBUG_PRINT because of change of myf type
mysys/my_error.c:
Updated DBUG_PRINT because of change of myf type
mysys/my_fopen.c:
Updated DBUG_PRINT because of change of myf type
mysys/my_fstream.c:
Updated DBUG_PRINT because of change of myf type
mysys/my_getwd.c:
Updated DBUG_PRINT because of change of myf type
mysys/my_lib.c:
Updated call to init_alloc_root()
Updated call to my_init_dynamic_array()
Updated DBUG_PRINT because of change of myf type
mysys/my_lock.c:
Updated DBUG_PRINT because of change of myf type
mysys/my_malloc.c:
Store at start of each allocated memory block the size of the block and if the block is thread specific.
Call malloc_size_cb_func, if set, with the memory allocated/freed.
Updated DBUG_PRINT because of change of myf type
mysys/my_open.c:
Updated DBUG_PRINT because of change of myf type
mysys/my_pread.c:
Updated DBUG_PRINT because of change of myf type
mysys/my_read.c:
Updated DBUG_PRINT because of change of myf type
mysys/my_redel.c:
Updated DBUG_PRINT because of change of myf type
mysys/my_rename.c:
Updated DBUG_PRINT because of change of myf type
mysys/my_seek.c:
Updated DBUG_PRINT because of change of myf type
mysys/my_sync.c:
Updated DBUG_PRINT because of change of myf type
mysys/my_thr_init.c:
Ensure that one can call my_thread_dbug_id() even if thread is not properly initialized.
mysys/my_write.c:
Updated DBUG_PRINT because of change of myf type
mysys/mysys_priv.h:
Updated parameters to sf_malloc and sf_realloc()
mysys/safemalloc.c:
Added checking that for memory marked with MY_THREAD_SPECIFIC that it's the same thread that is allocation and freeing the memory.
Added sf_malloc_dbug_id() to allow MariaDB to specify which THD is handling the memory.
Added my_flags arguments to sf_malloc() and sf_realloc() to be able to mark memory with MY_THREAD_SPECIFIC.
Added sf_report_leaked_memory() to get list of memory not freed by a thread.
mysys/tree.c:
Added flags to init_tree() so that one can mark tree to be thread specific.
Removed with_delete option to init_tree(). Now one should instead use MY_TREE_WITH_DELETE_FLAG.
Updated call to init_alloc_root()
All allocated memory is marked with the given malloc flags
mysys/waiting_threads.c:
Updated call to my_init_dynamic_array()
sql-common/client.c:
Updated call to init_alloc_root() and my_net_init() to mark memory thread specific.
Updated call to my_init_dynamic_array().
Added MYSQL_THREAD_SPECIFIC_MALLOC so that client can mark memory as MY_THREAD_SPECIFIC.
sql-common/client_plugin.c:
Updated call to init_alloc_root()
sql/debug_sync.cc:
Added MY_THREAD_SPECIFIC to allocated memory.
sql/event_scheduler.cc:
Removed calls to net_end() as this is now done in ~THD()
Call set_current_thd() to ensure that memory is assigned to right thread.
sql/events.cc:
my_pthread_setspecific_ptr(THR_THD,...) -> set_current_thd()
sql/filesort.cc:
Added MY_THREAD_SPECIFIC to allocated memory.
sql/filesort_utils.cc:
Added MY_THREAD_SPECIFIC to allocated memory.
sql/ha_ndbcluster.cc:
Updated call to init_alloc_root()
Updated call to my_net_init()
Removed calls to net_end() and thd->cleanup() as these are now done in ~THD()
sql/ha_ndbcluster_binlog.cc:
Updated call to my_net_init()
Updated call to init_sql_alloc()
Removed calls to net_end() and thd->cleanup() as these are now done in ~THD()
sql/ha_partition.cc:
Updated call to init_alloc_root()
sql/handler.cc:
Added MY_THREAD_SPECIFIC to allocated memory.
Added missing call to my_dir_end()
sql/item_func.cc:
Added MY_THREAD_SPECIFIC to allocated memory.
sql/item_subselect.cc:
Added MY_THREAD_SPECIFIC to allocated memory.
sql/item_sum.cc:
Added MY_THREAD_SPECIFIC to allocated memory.
sql/log.cc:
More DBUG
Updated call to init_alloc_root()
sql/mdl.cc:
Added MY_THREAD_SPECIFIC to allocated memory.
sql/mysqld.cc:
Added total_memory_used
Updated call to init_alloc_root()
Move mysql_cond_broadcast() before my_thread_end()
Added mariadb_dbug_id() to count memory per THD instead of per thread.
Added my_malloc_size_cb_func() callback function for my_malloc() to count memory.
Move initialization of mysqld_server_started and mysqld_server_initialized earlier.
Updated call to my_init_dynamic_array().
Updated call to my_net_init().
Call my_pthread_setspecific_ptr(THR_THD,...) to ensure that memory is assigned to right thread.
Added status variable 'memory_used'.
Updated call to init_alloc_root()
my_pthread_setspecific_ptr(THR_THD,...) -> set_current_thd()
sql/mysqld.h:
Added set_current_thd()
sql/net_serv.cc:
Added new parameter to my_net_init() so that one can mark memory with MY_THREAD_SPECIFIC.
Store in net->thread_specific_malloc if memory is thread specific.
Mark memory to be thread specific if requested.
sql/opt_range.cc:
Updated call to my_init_dynamic_array()
Updated call to init_sql_alloc()
Added MY_THREAD_SPECIFIC to allocated memory.
sql/opt_subselect.cc:
Updated call to init_sql_alloc() to mark memory thread specific.
sql/protocol.cc:
Fixed compiler warning
sql/records.cc:
Added MY_THREAD_SPECIFIC to allocated memory.
sql/rpl_filter.cc:
Updated call to my_init_dynamic_array()
sql/rpl_handler.cc:
Updated call to my_init_dynamic_array2()
sql/rpl_handler.h:
Updated call to init_sql_alloc()
sql/rpl_mi.cc:
Updated call to my_init_dynamic_array()
sql/rpl_tblmap.cc:
Updated call to init_alloc_root()
sql/rpl_utility.cc:
Updated call to my_init_dynamic_array()
sql/slave.cc:
Initialize things properly before calling functions that allocate memory.
Removed calls to net_end() as this is now done in ~THD()
sql/sp_head.cc:
Updated call to init_sql_alloc()
Updated call to my_init_dynamic_array()
Added parameter to warning_info() that it should be fully initialized.
sql/sp_pcontext.cc:
Updated call to my_init_dynamic_array()
sql/sql_acl.cc:
Updated call to init_sql_alloc()
Updated call to my_init_dynamic_array()
my_pthread_setspecific_ptr(THR_THD,...) -> set_current_thd()
sql/sql_admin.cc:
Added parameter to warning_info() that it should be fully initialized.
sql/sql_analyse.h:
Updated call to init_tree() to mark memory thread specific.
sql/sql_array.h:
Updated call to my_init_dynamic_array() to mark memory thread specific.
sql/sql_audit.cc:
Updated call to my_init_dynamic_array()
sql/sql_base.cc:
Updated call to init_sql_alloc()
my_pthread_setspecific_ptr(THR_THD,...) -> set_current_thd()
sql/sql_cache.cc:
Updated comment
sql/sql_class.cc:
Added parameter to warning_info() that not initialize it until THD is fully created.
Updated call to init_sql_alloc()
Mark THD::user_vars has to be thread specific.
Updated call to my_init_dynamic_array()
Ensure that memory allocated by THD is assigned to the THD.
More DBUG
Always acll net_end() in ~THD()
Assert that all memory signed to this THD is really deleted at ~THD.
Fixed set_status_var_init() to not reset memory_used.
my_pthread_setspecific_ptr(THR_THD,...) -> set_current_thd()
sql/sql_class.h:
Added MY_THREAD_SPECIFIC to allocated memory.
Added malloc_size to THD to record allocated memory per THD.
sql/sql_delete.cc:
Added MY_THREAD_SPECIFIC to allocated memory.
sql/sql_error.cc:
Added 'initialize' parameter to Warning_info() to say if should allocate memory for it's structures.
This is used by THD::THD() to not allocate memory until THD is ready.
Added Warning_info::free_memory()
sql/sql_error.h:
Updated Warning_info() class.
sql/sql_handler.cc:
Updated call to init_alloc_root() to mark memory thread specific.
sql/sql_insert.cc:
More DBUG
sql/sql_join_cache.cc:
Added MY_THREAD_SPECIFIC to allocated memory.
sql/sql_lex.cc:
Updated call to my_init_dynamic_array()
sql/sql_lex.h:
Updated call to my_init_dynamic_array()
sql/sql_load.cc:
Added MY_THREAD_SPECIFIC to allocated memory.
sql/sql_parse.cc:
Removed calls to net_end() and thd->cleanup() as these are now done in ~THD()
Ensure that examined_row_count() is reset before query.
Fixed bug where kill_threads_for_user() was using the wrong mem_root to allocate memory.
my_pthread_setspecific_ptr(THR_THD,...) -> set_current_thd()
Don't restore thd->status_var.memory_used when restoring thd->status_var
sql/sql_plugin.cc:
Updated call to init_alloc_root()
Updated call to my_init_dynamic_array()
Don't allocate THD on the stack, as this causes problems with valgrind when doing thd memory counting.
my_pthread_setspecific_ptr(THR_THD,...) -> set_current_thd()
sql/sql_prepare.cc:
Added parameter to warning_info() that it should be fully initialized.
Updated call to init_sql_alloc() to mark memory thread specific.
sql/sql_reload.cc:
my_pthread_setspecific_ptr(THR_THD,...) -> set_current_thd()
sql/sql_select.cc:
Updated call to my_init_dynamic_array() and init_sql_alloc() to mark memory thread specific.
Added MY_THREAD_SPECIFIC to allocated memory.
More DBUG
sql/sql_servers.cc:
Updated call to init_sql_alloc() to mark memory some memory thread specific.
my_pthread_setspecific_ptr(THR_THD,...) -> set_current_thd()
sql/sql_show.cc:
Updated call to my_init_dynamic_array()
Mark my_dir() memory thread specific.
Use my_pthread_setspecific_ptr(THR_THD,...) to mark that allocated memory should be allocated to calling thread.
More DBUG.
Added malloc_size and examined_row_count to SHOW PROCESSLIST.
Added MY_THREAD_SPECIFIC to allocated memory.
Updated call to init_sql_alloc()
Added parameter to warning_info() that it should be fully initialized.
sql/sql_statistics.cc:
Fixed compiler warning
sql/sql_string.cc:
String elements can now be marked as thread specific.
sql/sql_string.h:
String elements can now be marked as thread specific.
sql/sql_table.cc:
Updated call to init_sql_alloc() and my_malloc() to mark memory thread specific
my_pthread_setspecific_ptr(THR_THD,...) -> set_current_thd()
Fixed compiler warning
sql/sql_test.cc:
Updated call to my_init_dynamic_array() to mark memory thread specific.
sql/sql_trigger.cc:
Updated call to init_sql_alloc()
sql/sql_udf.cc:
Updated call to init_sql_alloc()
my_pthread_setspecific_ptr(THR_THD,...) -> set_current_thd()
sql/sql_update.cc:
Added MY_THREAD_SPECIFIC to allocated memory.
sql/table.cc:
Updated call to init_sql_alloc().
Mark memory used by temporary tables, that are not for slave threads, as MY_THREAD_SPECIFIC
Updated call to init_sql_alloc()
sql/thr_malloc.cc:
Added my_flags argument to init_sql_alloc() to be able to mark memory as MY_THREAD_SPECIFIC.
sql/thr_malloc.h:
Updated prototype for init_sql_alloc()
sql/tztime.cc:
Updated call to init_sql_alloc()
Updated call to init_alloc_root() to mark memory thread specific.
my_pthread_setspecific_ptr(THR_THD,...) -> set_current_thd()
sql/uniques.cc:
Updated calls to init_tree(), my_init_dynamic_array() and my_malloc() to mark memory thread specific.
sql/unireg.cc:
Added MY_THREAD_SPECIFIC to allocated memory.
storage/csv/ha_tina.cc:
Updated call to init_alloc_root()
storage/federated/ha_federated.cc:
Updated call to init_alloc_root()
Updated call to my_init_dynamic_array()
Ensure that memory allocated by fedarated is registered for the system, not for the thread.
storage/federatedx/federatedx_io_mysql.cc:
Updated call to my_init_dynamic_array()
storage/federatedx/ha_federatedx.cc:
Updated call to init_alloc_root()
Updated call to my_init_dynamic_array()
storage/heap/ha_heap.cc:
Added MY_THREAD_SPECIFIC to allocated memory.
storage/heap/heapdef.h:
Added parameter to hp_get_new_block() to be able to do thread specific memory tagging.
storage/heap/hp_block.c:
Added parameter to hp_get_new_block() to be able to do thread specific memory tagging.
storage/heap/hp_create.c:
- Internal HEAP tables are now marking it's memory as MY_THREAD_SPECIFIC.
- Use MY_TREE_WITH_DELETE instead of removed option 'with_delete'.
storage/heap/hp_open.c:
Internal HEAP tables are now marking it's memory as MY_THREAD_SPECIFIC.
storage/heap/hp_write.c:
Added new parameter to hp_get_new_block()
storage/maria/ma_bitmap.c:
Updated call to my_init_dynamic_array()
storage/maria/ma_blockrec.c:
Updated call to my_init_dynamic_array()
storage/maria/ma_check.c:
Updated call to init_alloc_root()
storage/maria/ma_ft_boolean_search.c:
Updated calls to init_tree() and init_alloc_root()
storage/maria/ma_ft_nlq_search.c:
Updated call to init_tree()
storage/maria/ma_ft_parser.c:
Updated call to init_tree()
Updated call to init_alloc_root()
storage/maria/ma_loghandler.c:
Updated call to my_init_dynamic_array()
storage/maria/ma_open.c:
Updated call to my_init_dynamic_array()
storage/maria/ma_sort.c:
Updated call to my_init_dynamic_array()
storage/maria/ma_write.c:
Updated calls to my_init_dynamic_array() and init_tree()
storage/maria/maria_pack.c:
Updated call to init_tree()
storage/maria/unittest/sequence_storage.c:
Updated call to my_init_dynamic_array()
storage/myisam/ft_boolean_search.c:
Updated call to init_tree()
Updated call to init_alloc_root()
storage/myisam/ft_nlq_search.c:
Updated call to init_tree()
storage/myisam/ft_parser.c:
Updated call to init_tree()
Updated call to init_alloc_root()
storage/myisam/ft_stopwords.c:
Updated call to init_tree()
storage/myisam/mi_check.c:
Updated call to init_alloc_root()
storage/myisam/mi_write.c:
Updated call to my_init_dynamic_array()
Updated call to init_tree()
storage/myisam/myisamlog.c:
Updated call to init_tree()
storage/myisam/myisampack.c:
Updated call to init_tree()
storage/myisam/sort.c:
Updated call to my_init_dynamic_array()
storage/myisammrg/ha_myisammrg.cc:
Updated call to init_sql_alloc()
storage/perfschema/pfs_check.cc:
Rest current_thd
storage/perfschema/pfs_instr.cc:
Removed DBUG_ENTER/DBUG_VOID_RETURN as at this point my_thread_var is not allocated anymore, which can cause problems.
support-files/compiler_warnings.supp:
Disable compiler warning from offsetof macro.
sql/sql_insert.cc:
CREATE ... IF NOT EXISTS may do nothing, but
it is still not a failure. don't forget to my_ok it.
******
CREATE ... IF NOT EXISTS may do nothing, but
it is still not a failure. don't forget to my_ok it.
sql/sql_table.cc:
small cleanup
******
small cleanup
- The client gets a progress report message that triggers a callback function if requested with mysql_options(MYSQL_PROGRESS_CALLBACK, function)
- Added Progress field last to 'show processlist'
- Stage, Max_stage and Progress field added to information_schema.progresslist
- The 'mysql' client by defaults enables progress reports when the output is a tty.
- Added progress_report_time time variable to configure how often progress reports is sent to client
Added read only system variable 'in_transaction' which is 1 if we have executed a BEGIN statement.
client/client_priv.h:
Added OPT_REPORT_PROGRESS
client/mysql.cc:
Added option --progress-reports (on by default if not batch mode)
Progress reports is written to stdout for long running commands
include/Makefile.am:
Added mysql/service_progress_report.h
include/myisamchk.h:
Added variables to be able to do progress reporting in Aria and later in MyISAM
include/mysql.h:
Added new mysql_options() parameter: MYSQL_PROGRESS_CALLBACK
include/mysql.h.pp:
Added new mysql_options() parameter: MYSQL_PROGRESS_CALLBACK
include/mysql/plugin.h:
Added functions for reporting progress.
include/mysql/plugin_auth.h.pp:
Added functions for reporting progress.
include/mysql_com.h:
Added CLIENT_PROGRESS mysql_real_connect() flag.
include/sql_common.h:
Added callback function for reporting progress
mysql-test/r/old-mode.result:
Ensure that SHOW PROGRESSLIST doesn't have the Progress column in old mode.
mysql-test/suite/funcs_1/datadict/datadict_priv.inc:
Added new column
mysql-test/suite/funcs_1/datadict/processlist_priv.inc:
Test all new PROCESSLIST columns
mysql-test/suite/funcs_1/r/is_columns_is.result:
Updated results
mysql-test/suite/funcs_1/r/is_columns_is_embedded.result:
Updated results
mysql-test/suite/funcs_1/r/is_columns_mysql_embedded.result:
Updated results
mysql-test/suite/funcs_1/r/is_tables_is_embedded.result:
Updated results
mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result:
Updated results
mysql-test/suite/funcs_1/r/processlist_priv_ps.result:
Updated results
mysql-test/suite/funcs_1/r/processlist_val_no_prot.result:
Updated results
mysql-test/suite/funcs_1/r/processlist_val_ps.result:
Updated results
mysql-test/suite/pbxt/r/pbxt_locking.result:
Updated results
mysql-test/suite/pbxt/r/skip_name_resolve.result:
Updated results
mysql-test/t/old-mode.test:
Ensure that SHOW PROGRESSLIST doesn't have the Progress column in old mode.
plugin/handler_socket/handlersocket/Makefile.am:
Added -lmysqlservices
scripts/mytop.sh:
Made 'State' field width dynamic.
Added 'Progress' to process list display.
sql-common/client.c:
Added handling of progress messages.
Removed check_license() function.
sql/mysql_priv.h:
Added opt_progress_report_time
sql/mysqld.cc:
Added progress_report_time time variable to configure how often progress reports is sent to client
sql/protocol.cc:
Added net_send_progress_packet()
sql/protocol.h:
New prototypes
sql/set_var.cc:
Added variables progress_report_time and in_transaction
sql/sql_acl.cc:
Safety fix: Made client_capabilities ulonglong
sql/sql_class.cc:
Added interface functions for progress reporting
sql/sql_class.h:
Added varibles in THD for progress reporting.
Added CF_REPORT_PROGRESS
sql/sql_load.cc:
Added progress reporting for LOAD DATA INFILE
sql/sql_parse.cc:
Added CF_REPORT_PROGRESS for top level commands for which it's safe to send progress reports to client
sql/sql_show.cc:
Added Progress field last to 'show processlist'
Stage, Max_stage and Progress field added to information_schema.progresslist
sql/sql_table.cc:
Added progress reporting for ALTER TABLE
Added THD as argument to copy_data_between_tables()
storage/maria/ha_maria.cc:
Added progress reporting for check table, repair table, analyze table
Fixed a bug in start_bulk_insert() that caused alter table to always run with all keys enabled.
storage/maria/ma_check.c:
Added progress reporting
Remember old state before starting repair. This removes some warnings from optimize_table if create-with-sort fails.
storage/maria/ma_check_standalone.h:
Added dummy reporting function for standalone Aria programs.
storage/maria/ma_sort.c:
Added progress reporting
storage/maria/maria_chk.c:
Updated version
storage/maria/maria_def.h:
Added new prototypes
tests/mysql_client_test.c:
Added test case for progress reporting
A lot of small fixes and new test cases.
client/mysqlbinlog.cc:
Cast removed
client/mysqltest.cc:
Added missing DBUG_RETURN
include/my_pthread.h:
set_timespec_time_nsec() now only takes one argument
mysql-test/t/date_formats.test:
Remove --disable_ps_protocl as now also ps supports microseconds
mysys/my_uuid.c:
Changed to use my_interval_timer() instead of my_getsystime()
mysys/waiting_threads.c:
Changed to use my_hrtime()
sql/field.h:
Added bool special_const_compare() for fields that may convert values before compare (like year)
sql/field_conv.cc:
Added test to get optimal copying of identical temporal values.
sql/item.cc:
Return that item_int is equal if it's positive, even if unsigned flag is different.
Fixed Item_cache_str::save_in_field() to have identical null check as other similar functions
Added proper NULL check to Item_cache_int::save_in_field()
sql/item_cmpfunc.cc:
Don't call convert_constant_item() if there is nothing that is worth converting.
Simplified test when years should be converted
sql/item_sum.cc:
Mark cache values in Item_sum_hybrid as not constants to ensure they are not replaced by other cache values in compare_datetime()
sql/item_timefunc.cc:
Changed sec_to_time() to take a my_decimal argument to ensure we don't loose any sub seconds.
Added Item_temporal_func::get_time() (This simplifies some things)
sql/mysql_priv.h:
Added Lazy_string_decimal()
sql/mysqld.cc:
Added my_decimal constants max_seconds_for_time_type, time_second_part_factor
sql/table.cc:
Changed expr_arena to be of type CONVENTIONAL_EXECUTION to ensure that we don't loose any items that are created by fix_fields()
sql/tztime.cc:
TIME_to_gmt_sec() now sets *in_dst_time_gap in case of errors
This is needed to be able to detect if timestamp is 0
storage/maria/lockman.c:
Changed from my_getsystime() to set_timespec_time_nsec()
storage/maria/ma_loghandler.c:
Changed from my_getsystime() to my_hrtime()
storage/maria/ma_recovery.c:
Changed from my_getsystime() to mmicrosecond_interval_timer()
storage/maria/unittest/trnman-t.c:
Changed from my_getsystime() to mmicrosecond_interval_timer()
storage/xtradb/handler/ha_innodb.cc:
Added support for new time,datetime and timestamp
unittest/mysys/thr_template.c:
my_getsystime() -> my_interval_timer()
unittest/mysys/waiting_threads-t.c:
my_getsystime() -> my_interval_timer()
mysql-test/suite/funcs_1/r/is_columns_is.result:
Updated test results
mysql-test/suite/pbxt/r/client_xml.result:
Updated test results
mysys/Makefile.am:
Added back my_port.c
storage/xtradb/buf/buf0buddy.c:
Removed not used variables
storage/xtradb/fil/fil0fil.c:
Added casts to fix compiler warnings
This patch implements I_S.PLUGINS.LOAD_OPTION column
as specified by WL#5496.
mysql-test/r/plugin_load_option.result:
A test case for WL#5496.
mysql-test/suite/funcs_1/r/is_columns_is.result:
Adjusted a test case according to WL#5496.
mysql-test/t/plugin_load_option.test:
A test case for WL#5496.
sql/sql_show.cc:
Added LOAD_OPTION column to I_S.PLUGINS.
mysql-test/r/not_partition.result:
Test result changed after I fixed the error message for not existing engine
mysql-test/suite/funcs_1/r/is_columns_is.result:
Updated results
mysql-test/suite/funcs_1/r/is_engines_innodb.result:
Updated results
mysql-test/suite/funcs_1/r/is_tables_is.result:
Updated results
mysql-test/suite/funcs_1/t/is_tables_is.test:
Test requires innodb as results depends on innodb
mysql-test/suite/innodb_plugin/t/disabled.def:
Disable test as it shows errors in valgrind
mysql-test/suite/innodb_plugin/t/innodb-use-sys-malloc.test:
Test can't be run under valgrind as mysql-test-run resets the innodb_use_sys_malloc flag
storage/xtradb/buf/buf0buf.c:
Fixed compiler warning by adding casts
mysql-test/suite/binlog/t/binlog_row_binlog.test:
Don't run test if utf8_unicode_ci is not available
mysql-test/suite/binlog/t/binlog_stm_binlog.test:
Don't run test if utf8_unicode_ci is not available
mysql-test/suite/funcs_1/r/is_columns_is.result:
Update result
mysql-test/suite/innodb/t/innodb_misc1.test:
Don't run test if utf8_unicode_ci is not available
mysql-test/suite/innodb/t/innodb_mysql.test:
Don't run test if utf8_unicode_ci is not available
- Changed to still use bcmp() in certain cases becasue
- Faster for short unaligneed strings than memcmp()
- Bettern when using valgrind
- Changed to use my_sprintf() instead of sprintf() to get higher portability for old systems
- Changed code to use MariaDB version of select->skip_record()
- Removed -%::SCCS/s.% from Makefile.am:s to remove automake warnings
mysql-test/suite/funcs_1/r/is_columns_is.result:
Update after change of comment length
mysql-test/suite/funcs_1/r/is_engines.result:
Update after change of comment length
mysql-test/suite/innodb_plugin/t/disabled.def:
Disable a test that gives valgrind warnings for xtradb
mysql-test/suite/innodb_plugin/t/innodb_bug52745.test:
Test requires persian collation
Fixed some wrong test cases
Fixed bug in null handling in XtraDB
extra/comp_err.c:
Fixed compiler warnings
extra/my_print_defaults.c:
Fixed compiler warnings
mysql-test/suite/binlog/t/binlog_killed.test:
Added support for timeouts
mysql-test/suite/funcs_1/r/is_columns_is.result:
Updated results (INNODB_SYS_TABLES had got new column)
scripts/mysql_install_db.sh:
Fixed typo
sql/mysql_priv.h:
Removed not needed argument for compare_record()
sql/sql_insert.cc:
Removed not needed argument for compare_record()
sql/sql_update.cc:
Removed not needed argument for compare_record()
The argument is not needed becasue we copy the full record[0] to record[1] and the comparison should work even if all columns are not read
sql/table.cc:
The comparison of rows is independent of HA_PARTIAL_COLUMN_READ
storage/maria/maria_chk.c:
Fixed compiler warnings
storage/maria/maria_read_log.c:
Fixed compiler warnings
storage/myisam/myisamchk.c:
Fixed compiler warnings
storage/myisam/myisampack.c:
Fixed compiler warnings
storage/xtradb/dict/dict0load.c:
Fixed compiler warnings
storage/xtradb/row/row0sel.c:
Fixed null handling in XtraDB. (See comment)
storage/xtradb/trx/trx0sys.c:
Fixed compiler warnings
support-files/compiler_warnings.supp:
Fixed compiler warnings
mysql-test/suite/funcs_1/r/is_columns_is.result:
update for monty changes
mysql-test/valgrind.supp:
more generic suppression for dlerror() internal allocations
scripts/make_win_bin_dist:
update for hakan changes - we don't generate .map files anymore
sql/CMakeLists.txt:
innodb_plugin is said to need .map files in sql/
The task is to
(a) add a comment on indexes and
(b) increase the maximum length of column, table and the new index comments.
The patch committed on behalf of Yoshinori Matsunobu (Yoshinori.Matsunobu@Sun.COM).
Implemented a new INFORMATION_SCHEMA table, which is intended to
provide information about tablespaces.
mysql-test/r/information_schema.result:
Updated test result according to WL#2511. With this WL
I_S has new TABLESPACES schema.
mysql-test/r/information_schema_db.result:
Updated test result according to WL#2511. With this WL
I_S has new TABLESPACES schema.
mysql-test/r/mysqlshow.result:
Updated test result according to WL#2511. With this WL
I_S has new TABLESPACES schema.
mysql-test/suite/funcs_1/r/is_columns_is.result:
Updated test result according to WL#2511. With this WL
I_S has new TABLESPACES schema.
mysql-test/suite/funcs_1/r/is_tables_is.result:
Updated test result according to WL#2511. With this WL
I_S has new TABLESPACES schema.
sql/handler.h:
Added SCH_TABLESPACES to enum_schema_tables.
sql/mysql_priv.h:
Added human readable definitions for I_S.TABLESPACES field
identifiers.
sql/sql_show.cc:
Added I_S.TABLESPACES schema. The code which handles I_S.FILES
is capable to handle I_S.TABLESPACES as well. Thus we reuse
this code and let functions/variables have more generic names.
Some result updates necessary due to extra tables and columns added in
information_schema in MariaDB (XtraDB, PBXT, microsec_process).
Also fix bad merge of two result files; apparently the test case was merged,
but the result file was not.
mysql-test/suite/funcs_1/datadict/processlist_priv.inc:
Handle the new TIME_MS column in information_schema.processlist.
mysql-test/suite/funcs_1/datadict/processlist_val.inc:
Handle the new TIME_MS column in information_schema.processlist.
mysql-test/suite/funcs_1/r/is_columns_is.result:
Handle new tables in information_schema.
mysql-test/suite/funcs_1/r/is_tables_is.result:
Handle new tables in information_schema.
mysql-test/suite/funcs_1/r/is_tables_myisam.result:
Fix previous bad merge; apparently this file was not merged along with test changes.
mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result:
Handle the new TIME_MS column in information_schema.processlist.
mysql-test/suite/funcs_1/r/processlist_val_no_prot.result:
Fix previous bad merge; apparently this file was not merged along with test changes.
Also handle the new TIME_MS column in INFORMATION_SCHEMA.PROCESSLIST.
mysql-test/suite/funcs_1/t/is_columns_is.test:
Since result file includes PBXT information_schema tables, we need PBXT to run this test.
strict SQL mode
The problem was that a COMMENT longer than 64 characters
caused CREATE PROCEDURE to fail.
This patch fixed the problem by changing the COMMENT field in
mysql.proc from char(64) to text. The corresponding ROUTINE_COMMENT
field in INFORMATION_SCHEMA.ROUTINES is also changed from
varchar(64) to longtext.
mysql_system_tables.sql and mysql_system_tables_fix.sql updated.
Test case added to sp.test and affected result-files updated.
All committed result differences have either been verified by me or copied from Oracle's provided
results (storage/innodb_plugin/mysql-test/*.result, storage/innodb_plugin/mysql-test/patches).
mysql-test/r/information_schema.result:
queries changed a bit
mysql-test/r/information_schema_db.result:
queries changed a bit
mysql-test/r/innodb-autoinc.result:
importing piece from storage/innodb_plugin/mysql-test/innodb-autoinc.result
mysql-test/r/innodb.result:
result close to storage/innodb_plugin/innodb.result, except 4095 pages instead of 8191, which makes
sense as Summit runs with a buffer pool of 64M, whereas the mentioned result file was made with
a buffer pool of 128M.
mysql-test/r/mysqlshow.result:
InnoDB I_S tables have arrived
mysql-test/suite/funcs_1/r/is_columns_is.result:
queries changed a bit
mysql-test/suite/funcs_1/r/is_columns_is_embedded.result:
queries changed a bit
mysql-test/suite/funcs_1/r/is_tables_is.result:
queries changed a bit
mysql-test/suite/funcs_1/t/is_columns_is.test:
making I_S queries ignore InnoDB I_S tables
mysql-test/suite/funcs_1/t/is_columns_is_embedded.test:
making I_S queries ignore InnoDB I_S tables
mysql-test/suite/funcs_1/t/is_tables_is.test:
making I_S queries ignore InnoDB I_S tables
mysql-test/suite/innodb/r/innodb-zip.result:
result update
mysql-test/suite/innodb/t/innodb-zip.test:
439, as size of prefix key, throws error with certain system zlib (ubuntu
"intrepid") but not with zlib bundled with MySQL, because zlib's
compressBound() are different (and used by InnoDB's page_zip_empty_size()).
mysql-test/suite/sys_vars/r/innodb_file_per_table_basic.result:
result update
mysql-test/suite/sys_vars/r/innodb_lock_wait_timeout_basic.result:
result update
mysql-test/suite/sys_vars/r/innodb_sync_spin_loops_basic_32.result:
result update (default value is 30 in the plugin, 20 in the builtin)
mysql-test/suite/sys_vars/r/innodb_sync_spin_loops_basic_64.result:
result update (default value is 30 in the plugin, 20 in the builtin)
mysql-test/suite/sys_vars/r/table_definition_cache_basic.result:
result update (default value is 400 in Summit)
mysql-test/suite/sys_vars/t/innodb_file_per_table_basic.test:
variable is writable in the plugin (patch from Oracle)
mysql-test/suite/sys_vars/t/innodb_lock_wait_timeout_basic.test:
variable is per-session in the plugin (patch from Oracle)
mysql-test/t/information_schema.test:
making I_S queries ignore InnoDB I_S tables
mysql-test/t/information_schema_db.test:
making I_S queries ignore InnoDB I_S tables
mysql-test/t/innodb-autoinc.test:
importing piece from storage/innodb_plugin/mysql-test/innodb-autoinc.test
mysql-test/t/innodb.test:
importing most of storage/innodb_plugin/t/innodb.test. Most replace_result were not needed (no path printed), some where (for --embedded).
mysql-test/t/mysqlshow.test:
output of test now depends on InnoDB or not InnoDB. As there is no way to make mysqlshow
produce a single output in those two cases (no way to make it exclude InnoDB I_S
tables), let the test depend on InnoDB, it isn't a very selective condition, and the
test is simple enough.
storage/innobase/CMakeLists.txt:
thanks Vlad for the noticing () vs {}
Static disabled plugins|engines and dynamic plugins which installed but disabled
are not visible in I_S PLUGINS|ENGINES tables because they are not stored into
global plugin array.
The fix: add such plugins|engines to plugin array with PLUGIN_IS_DISABLED status.
I_S.ENGINES 'Transactions', 'XA', 'Savepoints' fields have NULL value in this case.
mysql-test/r/warnings_engine_disabled.result:
test result
mysql-test/suite/funcs_1/r/is_columns_is.result:
result fix
mysql-test/suite/funcs_1/r/is_engines.result:
result fix
mysql-test/t/warnings_engine_disabled.test:
test case
sql/sql_plugin.cc:
store disabled plugins|engines into plugin array
sql/sql_plugin.h:
added PLUGIN_IS_DISABLED flag
sql/sql_show.cc:
added filling of 'engines'&'plugins' tables with disabled engines|plugins
VARIABLE_VALUE field is decreased to 1024 symbols.
(affected I_S tables: GLOBAL_VARIABLES, SESSION_VARIABLES,
GLOBAL_STATUS, SESSION_STATUS).
The only variable which can be longer than 1024 is
init_connect. The variable will be truncated with warning.
Additional fix:
Added where condition filter which speed up queries which
have where condition with expressions which use VARIABLE_NAME
field.
mysql-test/r/information_schema.result:
test result
mysql-test/r/show_check.result:
result fix
mysql-test/suite/funcs_1/r/is_columns_is.result:
result fix
mysql-test/t/information_schema.test:
test case
sql/sql_show.cc:
VARIABLE_VALUE field is decreased to 1024 symbols.
(affected I_S tables: GLOBAL_VARIABLES, SESSION_VARIABLES,
GLOBAL_STATUS, SESSION_STATUS).
The only variable which can be longer than 1024 is
init_connect. The variable will be truncated with warning.
Additional fix:
Added where condition filter which speed up queries which
have where condition with expressions which use VARIABLE_NAME
field.
changed 'charset', 'collation' field length from 64 to MY_CS_NAME_SIZE(32)
in tables:
SCHEMATA, TABLES, COLUMNS, CHARACTER_SETS,
COLLATIONS, COLLATION_CHARACTER_SET_APPLICABILITY
mysql-test/r/create.result:
result fix
mysql-test/r/information_schema.result:
result fix
mysql-test/r/show_check.result:
result fix
mysql-test/suite/funcs_1/r/is_character_sets.result:
result fix
mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result:
result fix
mysql-test/suite/funcs_1/r/is_collations.result:
result fix
mysql-test/suite/funcs_1/r/is_columns.result:
result fix
mysql-test/suite/funcs_1/r/is_columns_is.result:
result fix
mysql-test/suite/funcs_1/r/is_routines.result:
result fix
mysql-test/suite/funcs_1/r/is_schemata.result:
result fix
mysql-test/suite/funcs_1/r/is_tables.result:
result fix
sql/sql_show.cc:
changed 'charset', 'collation' field length from 64 to MY_CS_NAME_SIZE(32)
in tables:
SCHEMATA, TABLES, COLUMNS, CHARACTER_SETS,
COLLATIONS, COLLATION_CHARACTER_SET_APPLICABILITY
additional fix: ROUTINES.SQL_MODE is changed to be VARCHAR(addon for Bug#29153)
TRIGGERS.SQL_MODE, EVENTS.SQL_MODE, TRIGGERS.DEFINER:
field type is changed to VARCHAR.
mysql-test/r/information_schema.result:
result fix
mysql-test/r/show_check.result:
result fix
mysql-test/suite/funcs_1/r/is_columns_is.result:
result fix
mysql-test/suite/funcs_1/r/is_events.result:
result fix
mysql-test/suite/funcs_1/r/is_triggers.result:
result fix
sql/sql_show.cc:
TRIGGERS.SQL_MODE, EVENTS.SQL_MODE, TRIGGERS.DEFINER:
field type is changed to VARCHAR.
Problems were caused by modifications of
- the server
- HANDLER FOR SQLSTATE '00000' is now rejected (bug fix)
affects several ..._storedproc* tests
- improved error message
affects the ..._trig_03e
- improved content of information_schema.COLUMNS about
information_schema.REFERENTIAL_CONSTRAINTS
affects is_columns_is
- the content of the community build (collations)
affects charset_collation_3
mysql-test/suite/funcs_1/r/charset_collation_3.result:
Updated result
mysql-test/suite/funcs_1/r/innodb_storedproc.result:
Updated result
mysql-test/suite/funcs_1/r/innodb_storedproc_02.result:
Updated result
mysql-test/suite/funcs_1/r/innodb_trig_03e.result:
Updated result
mysql-test/suite/funcs_1/r/is_columns_is.result:
Updated result
mysql-test/suite/funcs_1/r/memory_storedproc.result:
Updated result
mysql-test/suite/funcs_1/r/memory_storedproc_02.result:
Updated result
mysql-test/suite/funcs_1/r/memory_trig_03e.result:
Updated result
mysql-test/suite/funcs_1/r/myisam_storedproc.result:
Updated result
mysql-test/suite/funcs_1/r/myisam_storedproc_02.result:
Updated result
mysql-test/suite/funcs_1/r/myisam_trig_03e.result:
Updated result
mysql-test/suite/funcs_1/r/ndb_storedproc.result:
Updated result
mysql-test/suite/funcs_1/r/ndb_storedproc_02.result:
Updated result
mysql-test/suite/funcs_1/r/ndb_trig_03e.result:
Updated result
mysql-test/suite/funcs_1/storedproc/storedproc_02.inc:
Corrected script
mysql-test/suite/funcs_1/storedproc/storedproc_master.inc:
Corrected script
testsuite funcs_1
1. Fix the following bugs
Bug#30440 "datadict" tests (all engines) fail: Character sets depend on configuration
Solution: Test variants charset_collation_* adjusted to different builds
Bug#32603 "datadict" tests (all engines) fail in "community" tree: "PROFILING" table
Solution: Excluding "PROFILING" table from queries
Bug#33654 "slow log" is missing a line
Solution: Unify the content of the fields TABLES.TABLE_ROWS and
STATISTICS.CARDINALITY within result sets
Bug#34532 Some funcs_1 tests do not clean up at end of testing
Solution: DROP objects/reset global server variables modified during testing
+ let tests missing implementation end before loading of tables
Bug#31421 funcs_1: ndb__datadict fails, discrepancy between scripts and expected results
Solution: Cut <engine>__datadict tests into smaller tests + generate new results.
Bug#33599 INFORMATION_SCHEMA.STATISTICS got a new column INDEX_COMMENT: tests fail (2)
Generation of new results during post merge fix
Bug#33600 CHARACTER_OCTET_LENGTH is now CHARACTER_MAXIMUM_LENGTH * 4
Generation of new results during post merge fix
Bug#33631 Platform-specific replace of CHARACTER_MAXIMUM_LENGTH broken by 4-byte encoding
Generation of new results during post merge fix
+ removal of platform-specific replace routine (no more needed)
2. Restructure the tests
- Test not more than one INFORMATION_SCHEMA view per testscript
- Separate tests of I_S view layout+functionality from content related to the
all time existing databases "information_schema", "mysql" and "test"
- Avoid storage engine related variants of tests which are not sensible to
storage engines at all.
3. Reimplement or add some subtests + cleanup
There is a some probability that even the reviewed changeset
- does not fix all bugs from above or
- contains new bugs which show up on some platforms <> Linux or on one of
the various build types
4. The changeset contains fixes according to
- one code review
- minor bugs within testing code found after code review (accepted by reviewer)
- problems found during tests with 5.0.56 in build environment
mysql-test/suite/funcs_1/t/innodb_storedproc_02.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/innodb_storedproc_03.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/innodb_storedproc_06.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/innodb_storedproc_07.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/innodb_storedproc_08.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/innodb_storedproc_10.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/memory_storedproc_02.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/memory_storedproc_03.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/memory_storedproc_06.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/memory_storedproc_07.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/memory_storedproc_08.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/memory_storedproc_10.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/myisam_storedproc_02.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/myisam_storedproc_03.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/myisam_storedproc_06.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/myisam_storedproc_07.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/myisam_storedproc_08.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/t/myisam_storedproc_10.test:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/storedproc/storedproc_02.inc:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/storedproc/storedproc_03.inc:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/storedproc/storedproc_06.inc:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/storedproc/storedproc_07.inc:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/storedproc/storedproc_08.inc:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/storedproc/storedproc_08_show.inc:
Change mode to -rw-rw-r--
mysql-test/suite/funcs_1/storedproc/storedproc_10.inc:
Change mode to -rw-rw-r--
BitKeeper/deleted/.del-innodb__load.test:
Delete: mysql-test/suite/funcs_1/t/innodb__load.test
BitKeeper/deleted/.del-innodb__load.result:
Delete: mysql-test/suite/funcs_1/r/innodb__load.result
BitKeeper/deleted/.del-myisam__load.test:
Delete: mysql-test/suite/funcs_1/t/myisam__load.test
BitKeeper/deleted/.del-memory__load.test:
Delete: mysql-test/suite/funcs_1/t/memory__load.test
BitKeeper/deleted/.del-memory__load.result:
Delete: mysql-test/suite/funcs_1/r/memory__load.result
BitKeeper/deleted/.del-myisam__load.result:
Delete: mysql-test/suite/funcs_1/r/myisam__load.result
BitKeeper/deleted/.del-create_database.inc:
Delete: mysql-test/suite/funcs_1/include/create_database.inc
BitKeeper/deleted/.del-create_user_lowest_priv.inc:
Delete: mysql-test/suite/funcs_1/include/create_user_lowest_priv.inc
BitKeeper/deleted/.del-create_user_no_super.inc:
Delete: mysql-test/suite/funcs_1/include/create_user_no_super.inc
BitKeeper/deleted/.del-datadict_help_tables_build.result:
Delete: mysql-test/suite/funcs_1/r/datadict_help_tables_build.result
BitKeeper/deleted/.del-datadict_help_tables_build.test:
Delete: mysql-test/suite/funcs_1/t/datadict_help_tables_build.test
BitKeeper/deleted/.del-datadict_help_tables_dev.result:
Delete: mysql-test/suite/funcs_1/r/datadict_help_tables_dev.result
BitKeeper/deleted/.del-datadict_help_tables_dev.test:
Delete: mysql-test/suite/funcs_1/t/datadict_help_tables_dev.test
BitKeeper/deleted/.del-datadict_master.inc:
Delete: mysql-test/suite/funcs_1/datadict/datadict_master.inc
BitKeeper/deleted/.del-datadict_show_schema.inc:
Delete: mysql-test/suite/funcs_1/datadict/datadict_show_schema.inc
BitKeeper/deleted/.del-datadict_show_table_design.inc:
Delete: mysql-test/suite/funcs_1/datadict/datadict_show_table_design.inc
BitKeeper/deleted/.del-datadict_tables.inc:
Delete: mysql-test/suite/funcs_1/datadict/datadict_tables.inc
BitKeeper/deleted/.del-datadict_tables_error.inc:
Delete: mysql-test/suite/funcs_1/datadict/datadict_tables_error.inc
BitKeeper/deleted/.del-datadict_tables_error_1.inc:
Delete: mysql-test/suite/funcs_1/datadict/datadict_tables_error_1.inc
BitKeeper/deleted/.del-datadict_tables_error_1044.inc:
Delete: mysql-test/suite/funcs_1/datadict/datadict_tables_error_1044.inc
BitKeeper/deleted/.del-datadict_tables_error_1049.inc:
Delete: mysql-test/suite/funcs_1/datadict/datadict_tables_error_1049.inc
BitKeeper/deleted/.del-datadict_tables_error_1051.inc:
Delete: mysql-test/suite/funcs_1/datadict/datadict_tables_error_1051.inc
BitKeeper/deleted/.del-datadict_tables_error_1146.inc:
Delete: mysql-test/suite/funcs_1/datadict/datadict_tables_error_1146.inc
BitKeeper/deleted/.del-datadict_tables_error_1288.inc:
Delete: mysql-test/suite/funcs_1/datadict/datadict_tables_error_1288.inc
BitKeeper/deleted/.del-innodb__datadict.result:
Delete: mysql-test/suite/funcs_1/r/innodb__datadict.result
BitKeeper/deleted/.del-innodb__datadict.test:
Delete: mysql-test/suite/funcs_1/t/innodb__datadict.test
BitKeeper/deleted/.del-memory__datadict.test:
Delete: mysql-test/suite/funcs_1/t/memory__datadict.test
BitKeeper/deleted/.del-myisam__datadict.result:
Delete: mysql-test/suite/funcs_1/r/myisam__datadict.result
BitKeeper/deleted/.del-myisam__datadict.test:
Delete: mysql-test/suite/funcs_1/t/myisam__datadict.test
BitKeeper/deleted/.del-memory__datadict.result:
Delete: mysql-test/suite/funcs_1/r/memory__datadict.result
mysql-test/suite/funcs_1/README.txt:
Cleanup in description
mysql-test/suite/funcs_1/include/memory_tb1.inc:
Move setting of variables into the caller scripts
mysql-test/suite/funcs_1/include/memory_tb2.inc:
Move setting of variables into the caller scripts
mysql-test/suite/funcs_1/include/memory_tb3.inc:
Move setting of variables into the caller scripts
mysql-test/suite/funcs_1/include/memory_tb4.inc:
Move setting of variables into the caller scripts
mysql-test/suite/funcs_1/include/sp_tb.inc:
Remove outdated comment
mysql-test/suite/funcs_1/r/innodb_bitdata.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_cursors.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_02.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_03.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_06.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_07.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_08.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_storedproc_10.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_0102.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_03.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_0407.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_08.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_09.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_trig_frkey.result:
Updated results
mysql-test/suite/funcs_1/r/innodb_views.result:
Updated results
mysql-test/suite/funcs_1/r/memory_bitdata.result:
Updated results
mysql-test/suite/funcs_1/r/memory_cursors.result:
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_02.result:
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_03.result:
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_06.result:
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_07.result:
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_08.result:
Updated results
mysql-test/suite/funcs_1/r/memory_storedproc_10.result:
Updated results
mysql-test/suite/funcs_1/r/memory_trig_0102.result:
Updated results
mysql-test/suite/funcs_1/r/memory_trig_03.result:
Updated results
mysql-test/suite/funcs_1/r/memory_trig_0407.result:
Updated results
mysql-test/suite/funcs_1/r/memory_trig_08.result:
Updated results
mysql-test/suite/funcs_1/r/memory_trig_09.result:
Updated results
mysql-test/suite/funcs_1/r/memory_trig_1011ext.result:
Updated results
mysql-test/suite/funcs_1/r/memory_views.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_bitdata.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_cursors.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_02.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_03.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_06.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_07.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_08.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_storedproc_10.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_0102.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_03.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_0407.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_08.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_09.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result:
Updated results
mysql-test/suite/funcs_1/r/myisam_views.result:
Updated results
mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc:
Move setting of variables into the caller scripts
mysql-test/suite/funcs_1/t/innodb_bitdata.test:
Cleanup
mysql-test/suite/funcs_1/t/innodb_cursors.test:
Cleanup
mysql-test/suite/funcs_1/t/innodb_trig_0102.test:
Cleanup
mysql-test/suite/funcs_1/t/innodb_trig_03.test:
Cleanup
mysql-test/suite/funcs_1/t/innodb_trig_0407.test:
Cleanup
mysql-test/suite/funcs_1/t/innodb_trig_08.test:
Cleanup
mysql-test/suite/funcs_1/t/innodb_trig_09.test:
Cleanup
mysql-test/suite/funcs_1/t/innodb_trig_1011ext.test:
Cleanup
mysql-test/suite/funcs_1/t/innodb_trig_frkey.test:
Cleanup
mysql-test/suite/funcs_1/t/innodb_views.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_bitdata.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_cursors.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_trig_0102.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_trig_03.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_trig_0407.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_trig_08.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_trig_09.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_trig_1011ext.test:
Cleanup
mysql-test/suite/funcs_1/t/memory_views.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_bitdata.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_cursors.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_trig_0102.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_trig_03.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_trig_0407.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_trig_08.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_trig_09.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_trig_1011ext.test:
Cleanup
mysql-test/suite/funcs_1/t/myisam_views.test:
Cleanup
mysql-test/suite/funcs_1/t/charset_collation_1.test:
Check content of information_schema views
character_sets, collations,
collation_character_set_applicability
Build variant 1
mysql-test/suite/funcs_1/t/charset_collation_2.test:
Check content of information_schema views
character_sets, collations,
collation_character_set_applicability
Build variant 2
mysql-test/suite/funcs_1/t/charset_collation_3.test:
Check content of information_schema views
character_sets, collations,
collation_character_set_applicability
Build variant 3
mysql-test/suite/funcs_1/t/is_basics_mixed.test:
Test some basic properties which are independend of the storage
engine used for the creation of tables.
mysql-test/suite/funcs_1/t/is_character_sets.test:
Tests related to functionality of
information_schema.character_sets
mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test:
Tests related to functionality of
information_schema.collation_character_set_applicability
mysql-test/suite/funcs_1/t/is_collations.test:
Tests related to functionality of
information_schema.collations
mysql-test/suite/funcs_1/t/is_column_privileges.test:
Tests related to functionality of
information_schema.column_privileges
mysql-test/suite/funcs_1/t/is_column_privileges_is_mysql_test.test:
Check content of information_schema.column_privileges about databases
mysql and test
mysql-test/suite/funcs_1/t/is_columns.test:
Tests related to functionality of
information_schema.columns
mysql-test/suite/funcs_1/t/is_columns_innodb.test:
Check content of information_schema.columns when some
tables are preloaded
Variant for InnoDB
mysql-test/suite/funcs_1/t/is_columns_is.test:
Check content of information_schema.columns about schema
information_schema
mysql-test/suite/funcs_1/t/is_columns_memory.test:
Check content of information_schema.columns when some
tables are preloaded
Variant for MEMORY
mysql-test/suite/funcs_1/t/is_columns_myisam.test:
Check content of information_schema.columns when some
tables are preloaded
Variant for MyISAM
mysql-test/suite/funcs_1/t/is_columns_mysql.test:
Check content of information_schema.columns about schema
mysql
mysql-test/suite/funcs_1/t/is_columns_ndb.test:
Check content of information_schema.columns when some
tables are preloaded
Variant for NDB
mysql-test/suite/funcs_1/t/is_key_column_usage.test:
Tests related to functionality of
information_schema.key_column_usage
mysql-test/suite/funcs_1/t/is_routines.test:
Tests related to functionality of
information_schema.routines
mysql-test/suite/funcs_1/t/is_schema_privileges.test:
Tests related to functionality of
information_schema.schema_privileges
mysql-test/suite/funcs_1/t/is_schema_privileges_is_mysql_test.test:
Check content of information_schema.schema_privileges about schemas
information_schema, mysql and test
mysql-test/suite/funcs_1/t/is_schemata.test:
Tests related to functionality of
information_schema.schemata
mysql-test/suite/funcs_1/t/is_schemata_is_mysql_test.test:
Check content of information_schema.schemata about schemas
information_schema, mysql and test
mysql-test/suite/funcs_1/t/is_statistics.test:
Tests related to functionality of
information_schema.statistics
mysql-test/suite/funcs_1/t/is_statistics_is.test:
Check content of information_schema.statistics about schema
information_schema
mysql-test/suite/funcs_1/t/is_statistics_mysql.test:
Check content of information_schema.statistics about schema
mysql
mysql-test/suite/funcs_1/t/is_table_constraints.test:
Tests related to functionality of
information_schema.table_constraints
mysql-test/suite/funcs_1/t/is_table_constraints_is.test:
Check content of information_schema.table_constraints about schema
information_schema
mysql-test/suite/funcs_1/t/is_table_constraints_mysql.test:
Check content of information_schema.table_constraints about schema
mysql
mysql-test/suite/funcs_1/t/is_table_privileges.test:
Tests related to functionality of
information_schema.table_privileges
mysql-test/suite/funcs_1/datadict/basics_mixed1.inc:
Auxiliary script
mysql-test/suite/funcs_1/datadict/basics_mixed2.inc:
Auxiliary script
mysql-test/suite/funcs_1/include/cleanup.inc:
Auxiliary script
mysql-test/suite/funcs_1/r/charset_collation_1.result:
Expected result for new test
mysql-test/suite/funcs_1/r/charset_collation_2.result:
Expected result for new test
mysql-test/suite/funcs_1/r/charset_collation_3.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_basics_mixed.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_character_sets.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_collations.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_column_privileges.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_column_privileges_is_mysql_test.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_columns.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_columns_innodb.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_columns_is.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_columns_memory.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_columns_myisam.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_columns_mysql.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_columns_ndb.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_key_column_usage.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_routines.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_schema_privileges.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_schema_privileges_is_mysql_test.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_schemata.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_schemata_is_mysql_test.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_statistics.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_statistics_is.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_statistics_mysql.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_table_constraints.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_table_constraints_is.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_table_constraints_mysql.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_table_privileges.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_tables.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_tables_innodb.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_tables_is.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_tables_memory.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_tables_myisam.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_tables_mysql.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_tables_ndb.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_triggers.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_user_privileges.result:
Expected result for new test
mysql-test/suite/funcs_1/r/is_views.result:
Expected result for new test
mysql-test/suite/funcs_1/t/is_tables.test:
Tests related to functionality of
information_schema.tables
mysql-test/suite/funcs_1/t/is_tables_innodb.test:
Check content of information_schema.tables when some
tables are preloaded
Variant for InnoDB
mysql-test/suite/funcs_1/t/is_tables_is.test:
Check content of information_schema.tables about schema
information_schema
mysql-test/suite/funcs_1/t/is_tables_memory.test:
Check content of information_schema.tables when some
tables are preloaded
Variant for MEMORY
mysql-test/suite/funcs_1/t/is_tables_myisam.test:
Check content of information_schema.tables when some
tables are preloaded
Variant for MyISAM
mysql-test/suite/funcs_1/t/is_tables_mysql.test:
Check content of information_schema.tables about schema
mysql
mysql-test/suite/funcs_1/t/is_tables_ndb.test:
Check content of information_schema.tables when some
tables are preloaded
Variant for NDB
mysql-test/suite/funcs_1/t/is_triggers.test:
Tests related to functionality of
information_schema.triggers
mysql-test/suite/funcs_1/t/is_user_privileges.test:
Tests related to functionality of
information_schema.user_privileges
mysql-test/suite/funcs_1/t/is_views.test:
Tests related to functionality of
information_schema.views
mysql-test/suite/funcs_1/datadict/basics_mixed3.inc:
Auxiliary script
mysql-test/suite/funcs_1/datadict/charset_collation.inc:
Auxiliary script
mysql-test/suite/funcs_1/datadict/columns.inc:
Auxiliary script
mysql-test/suite/funcs_1/datadict/datadict.pre:
Auxiliary script
mysql-test/suite/funcs_1/datadict/is_table_query.inc:
Auxiliary script
mysql-test/suite/funcs_1/datadict/statistics.inc:
Auxiliary script
mysql-test/suite/funcs_1/datadict/table_constraints.inc:
Auxiliary script
mysql-test/suite/funcs_1/datadict/tables1.inc:
Auxiliary script
mysql-test/suite/funcs_1/datadict/tables2.inc:
Auxiliary script