mariadb/mysql-test/r/status.result

392 lines
9.9 KiB
Text
Raw Normal View History

set @old_concurrent_insert= @@global.concurrent_insert;
set @@global.concurrent_insert= 0;
SET @old_log_output = @@global.log_output;
SET GLOBAL LOG_OUTPUT = 'FILE';
connect con1,localhost,root,,;
connect con2,localhost,root,,;
MDEV-11227 - mysqlimport -l doesn't issue UNLOCK TABLES Implementation of MDEV-7660 introduced unwanted incompatible change: modifications under LOCK TABLES with autocommit enabled are rolled back on disconnect. Previously everything was committed, because LOCK TABLES didn't adjust autocommit setting. This patch restores original behavior by reverting some changes done in MDEV-7660: - sql/sql_parse.cc: do not reset autocommit on LOCK TABLES - sql/sql_base.cc: do not set autocommit on UNLOCK TABLES - test cases: main.lock_tables_lost_commit, main.partition_explicit_prune, rpl.rpl_switch_stm_row_mixed, tokudb.nested_txn_implicit_commit, tokudb_bugs.db806 But it makes InnoDB tables under LOCK TABLES ... READ [LOCAL] not protected against DML. To restore protection some changes from WL#6671 were merged, specifically MDL_SHARED_READ_ONLY and test cases. WL#6671 merge highlights: - Not all tests merged. - In MySQL LOCK TABLES ... READ acquires MDL_SHARED_READ_ONLY for all engines, in MariaDB MDL_SHARED_READ is always acquired first and then upgraded to MDL_SHARED_READ_ONLY for InnoDB only. - The above allows us to omit MDL_SHARED_WRITE_LOW_PRIO implementation in MariaDB, which is rather useless with InnoDB. In MySQL it is needed to preserve locking behavior between low priority writes and LOCK TABLES ... READ for non-InnoDB engines (covered by sys_vars.sql_low_priority_updates_func). - Omitted HA_NO_READ_LOCAL_LOCK, we rely on lock_count() instead. - Omitted "piglets": in MariaDB stream of DML against InnoDB table may lead to concurrent LOCK TABLES ... READ starvation. - HANDLER ... OPEN acquires MDL_SHARED_READ instead of MDL_SHARED in MariaDB. - Omitted SNRW->X MDL lock upgrade for IMPORT/DISCARD TABLESPAECE under LOCK TABLES. - Omitted strong locks for views, triggers and SP under LOCK TABLES. - Omitted IX schema lock for LOCK TABLES READ. - Omitted deadlock weight juggling for LOCK TABLES. Full WL#6671 merge status: - innodb.innodb-lock: fully merged - main.alter_table: not merged due to different HANDLER solution - main.debug_sync: fully merged - main.handler_innodb: not merged due to different HANDLER solution - main.handler_myisam: not merged due to different HANDLER solution - main.innodb_mysql_lock: fully merged - main.insert_notembedded: fully merged - main.lock: not merged (due to no strong locks for views) - main.lock_multi: not merged - main.lock_sync: fully merged (partially in MDEV-7660) - main.mdl_sync: not merged - main.partition_debug_sync: not merged due to different HANDLER solution - main.status: fully merged - main.view: fully merged - perfschema.mdl_func: not merged (no such test in MariaDB) - perfschema.table_aggregate_global_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_4u_3t: not merged (didn't fail in MariaDB) - sys_vars.sql_low_priority_updates_func: not merged - include/thr_rwlock.h: not merged, rw_pr_lock_assert_write_owner and rw_pr_lock_assert_not_write_owner are macros in MariaDB - sql/handler.h: not merged (HA_NO_READ_LOCAL_LOCK) - sql/mdl.cc: partially merged (MDL_SHARED_READ_ONLY only) - sql/mdl.h: partially merged (MDL_SHARED_READ_ONLY only) - sql/lock.cc: fully merged - sql/sp_head.cc: not merged - sql/sp_head.h: not merged - sql/sql_base.cc: partially merged (MDL_SHARED_READ_ONLY only) - sql/sql_base.h: not merged - sql/sql_class.cc: fully merged - sql/sql_class.h: fully merged - sql/sql_handler.cc: merged partially (different solution in MariaDB) - sql/sql_parse.cc: partially merged, mostly omitted low priority write part - sql/sql_reload.cc: not merged comment change - sql/sql_table.cc: not merged SNRW->X upgrade for IMPORT/DISCARD TABLESPACE - sql/sql_view.cc: not merged - sql/sql_yacc.yy: not merged (MDL_SHARED_WRITE_LOW_PRIO, MDL_SHARED_READ_ONLY) - sql/table.cc: not merged (MDL_SHARED_WRITE_LOW_PRIO) - sql/table.h: not merged (MDL_SHARED_WRITE_LOW_PRIO) - sql/trigger.cc: not merged - storage/innobase/handler/ha_innodb.cc: merged store_lock()/lock_count() changes (in MDEV-7660), didn't merge HA_NO_READ_LOCAL_LOCK - storage/innobase/handler/ha_innodb.h: fully merged in MDEV-7660 - storage/myisammrg/ha_myisammrg.cc: not merged comment change - storage/perfschema/table_helper.cc: not merged (no MDL support in MariaDB PFS) - unittest/gunit/mdl-t.cc: not merged - unittest/gunit/mdl_sync-t.cc: not merged MariaDB specific changes: - handler.heap: different HANDLER solution, MDEV-7660 - handler.innodb: different HANDLER solution, MDEV-7660 - handler.interface: different HANDLER solution, MDEV-7660 - handler.myisam: different HANDLER solution, MDEV-7660 - main.mdl_sync: MDEV-7660 specific changes - main.partition_debug_sync: removed test due to different HANDLER solution, MDEV-7660 - main.truncate_coverage: removed test due to different HANDLER solution, MDEV-7660 - mysql-test/include/mtr_warnings.sql: additional cleanup, MDEV-7660 - mysql-test/lib/v1/mtr_report.pl: additional cleanup, MDEV-7660 - plugin/metadata_lock_info/metadata_lock_info.cc: not in MySQL - sql/sql_handler.cc: MariaDB specific fix for mysql_ha_read(), MDEV-7660
2016-12-08 11:20:46 +01:00
connection default;
client/mysqlmanagerc.c added support for quiet increased line buffer size client/mysqltest.c fixed memory leak added query logging to result file added error message logging to result file added enable_query_log/disable_query_log mysql-test/mysql-test-run.sh converted tests to use mysqlmanager Updated test results BitKeeper/etc/ignore: added *.reject client/mysqlmanagerc.c: added support for quiet increased line buffer size client/mysqltest.c: fixed memory leak added query logging to result file added error message logging to result file added enable_query_log/disable_query_log mysql-test/mysql-test-run.sh: converted tests to use mysqlmanager mysql-test/r/alias.result: log queries mysql-test/r/alter_table.result: log queries mysql-test/r/analyse.result: log queries mysql-test/r/auto_increment.result: log queries mysql-test/r/backup.result: log queries mysql-test/r/bdb-crash.result: log queries mysql-test/r/bench_count_distinct.result: log queries mysql-test/r/bigint.result: log queries mysql-test/r/binary.result: log queries mysql-test/r/bulk_replace.result: log queries mysql-test/r/case.result: log queries mysql-test/r/check.result: log queries mysql-test/r/comments.result: log queries mysql-test/r/compare.result: log queries mysql-test/r/count_distinct.result: log queries mysql-test/r/count_distinct2.result: log queries mysql-test/r/create.result: log queries mysql-test/r/ctype_latin1_de.result: log queries mysql-test/r/delayed.result: log queries mysql-test/r/dirty-close.result: log queries mysql-test/r/distinct.result: log queries mysql-test/r/drop.result: log queries mysql-test/r/empty_table.result: log queries mysql-test/r/explain.result: log queries mysql-test/r/flush.result: log queries mysql-test/r/fulltext.result: log queries mysql-test/r/fulltext_cache.result: log queries mysql-test/r/fulltext_distinct.result: log queries mysql-test/r/fulltext_left_join.result: log queries mysql-test/r/fulltext_multi.result: log queries mysql-test/r/fulltext_order_by.result: log queries mysql-test/r/fulltext_update.result: log queries mysql-test/r/fulltext_var.result: log queries mysql-test/r/func_crypt.result: log queries mysql-test/r/func_date_add.result: log queries mysql-test/r/func_equal.result: log queries mysql-test/r/func_group.result: log queries mysql-test/r/func_in.result: log queries mysql-test/r/func_like.result: log queries mysql-test/r/func_math.result: log queries mysql-test/r/func_misc.result: log queries mysql-test/r/func_op.result: log queries mysql-test/r/func_regexp.result: log queries mysql-test/r/func_set.result: log queries mysql-test/r/func_str.result: log queries mysql-test/r/func_system.result: log queries mysql-test/r/func_test.result: log queries mysql-test/r/func_time.result: log queries mysql-test/r/func_timestamp.result: log queries mysql-test/r/group_by.result: log queries mysql-test/r/handler.result: log queries mysql-test/r/having.result: log queries mysql-test/r/heap.result: log queries mysql-test/r/identity.result: log queries mysql-test/r/ins000001.result: log queries mysql-test/r/insert.result: log queries mysql-test/r/insert_select.result: log queries mysql-test/r/isam.result: log queries mysql-test/r/join.result: log queries mysql-test/r/join_crash.result: log queries mysql-test/r/join_outer.result: log queries mysql-test/r/key.result: log queries mysql-test/r/key_diff.result: log queries mysql-test/r/key_primary.result: log queries mysql-test/r/keywords.result: log queries mysql-test/r/kill.result: log queries mysql-test/r/limit.result: log queries mysql-test/r/lock.result: log queries mysql-test/r/merge.result: log queries mysql-test/r/multi_update.result: log queries mysql-test/r/myisam.result: log queries mysql-test/r/null.result: log queries mysql-test/r/null_key.result: log queries mysql-test/r/odbc.result: log queries mysql-test/r/openssl_1.result: log queries mysql-test/r/openssl_2.result: log queries mysql-test/r/order_by.result: log queries mysql-test/r/order_fill_sortbuf.result: log queries mysql-test/r/raid.result: log queries mysql-test/r/range.result: log queries mysql-test/r/rename.result: log queries mysql-test/r/replace.result: log queries mysql-test/r/rollback.result: log queries mysql-test/r/rpl000001.result: log queries mysql-test/r/rpl000002.result: log queries mysql-test/r/rpl000003.result: log queries mysql-test/r/rpl000004.result: log queries mysql-test/r/rpl000005.result: log queries mysql-test/r/rpl000006.result: log queries mysql-test/r/rpl000007.result: log queries mysql-test/r/rpl000008.result: log queries mysql-test/r/rpl000009.result: log queries mysql-test/r/rpl000010.result: log queries mysql-test/r/rpl000011.result: log queries mysql-test/r/rpl000012.result: log queries mysql-test/r/rpl000013.result: log queries mysql-test/r/rpl000014.result: log queries mysql-test/r/rpl000015.result: log queries mysql-test/r/rpl000016.result: log queries mysql-test/r/rpl000017.result: log queries mysql-test/r/rpl000018.result: log queries mysql-test/r/rpl_get_lock.result: log queries mysql-test/r/rpl_log.result: log queries mysql-test/r/rpl_magic.result: log queries mysql-test/r/rpl_mystery22.result: log queries mysql-test/r/rpl_sporadic_master.result: log queries mysql-test/r/sel000001.result: log queries mysql-test/r/sel000002.result: log queries mysql-test/r/sel000003.result: log queries mysql-test/r/sel000031.result: log queries mysql-test/r/sel000032.result: log queries mysql-test/r/sel000033.result: log queries mysql-test/r/sel000100.result: log queries mysql-test/r/select.result: log queries mysql-test/r/select_found.result: log queries mysql-test/r/select_safe.result: log queries mysql-test/r/show_check.result: log queries mysql-test/r/slave-running.result: log queries mysql-test/r/slave-stopped.result: log queries mysql-test/r/status.result: log queries mysql-test/r/symlink.result: log queries mysql-test/r/tablelock.result: log queries mysql-test/r/temp_table.result: log queries mysql-test/r/truncate.result: log queries mysql-test/r/type_blob.result: log queries mysql-test/r/type_date.result: log queries mysql-test/r/type_datetime.result: log queries mysql-test/r/type_decimal.result: log queries mysql-test/r/type_enum.result: log queries mysql-test/r/type_float.result: log queries mysql-test/r/type_ranges.result: log queries mysql-test/r/type_time.result: log queries mysql-test/r/type_timestamp.result: log queries mysql-test/r/type_uint.result: log queries mysql-test/r/type_year.result: log queries mysql-test/r/union.result: log queries mysql-test/r/update.result: log queries mysql-test/r/user_var.result: log queries mysql-test/r/varbinary.result: log queries mysql-test/r/variables.result: log queries mysql-test/t/bench_count_distinct.test: log queries mysql-test/t/check.test: log queries mysql-test/t/count_distinct2.test: log queries mysql-test/t/flush.test: log queries mysql-test/t/isam.test: log queries mysql-test/t/multi_update.test: log queries mysql-test/t/myisam.test: log queries mysql-test/t/order_fill_sortbuf.test: log queries mysql-test/t/rpl000016.test: log queries tools/managertest1.nc: test for def_exec overwrite tools/mysqlmanager.c: support def_exec overwrite and queries on running server
2001-09-28 07:05:54 +02:00
flush status;
show status like 'Table_lock%';
Variable_name Value
Table_locks_immediate 0
Table_locks_waited 0
WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. mysql-test/r/information_schema.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed test cases result (changes are due to the new tables added). mysql-test/r/information_schema_db.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed test cases result (changes are due to the new tables added). mysql-test/r/status.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed results for added testcases. mysql-test/r/variables.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed results for added test cases. mysql-test/t/status.test: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Added test cases. mysql-test/t/variables.test: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Added test cases. sql/sql_show.cc: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Implementation of the new I_S tables. Also, show_status_array(): argument 'ucase_names' is added (true means that all variable names are to be converted to upper case). sql/table.h: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Implementation of the new I_S tables.
2006-09-14 01:37:40 +02:00
select * from information_schema.session_status where variable_name like 'Table_lock%';
VARIABLE_NAME VARIABLE_VALUE
TABLE_LOCKS_IMMEDIATE 0
TABLE_LOCKS_WAITED 0
set sql_log_bin=0;
set @old_general_log = @@global.general_log;
set global general_log = 'OFF';
client/mysqlmanagerc.c added support for quiet increased line buffer size client/mysqltest.c fixed memory leak added query logging to result file added error message logging to result file added enable_query_log/disable_query_log mysql-test/mysql-test-run.sh converted tests to use mysqlmanager Updated test results BitKeeper/etc/ignore: added *.reject client/mysqlmanagerc.c: added support for quiet increased line buffer size client/mysqltest.c: fixed memory leak added query logging to result file added error message logging to result file added enable_query_log/disable_query_log mysql-test/mysql-test-run.sh: converted tests to use mysqlmanager mysql-test/r/alias.result: log queries mysql-test/r/alter_table.result: log queries mysql-test/r/analyse.result: log queries mysql-test/r/auto_increment.result: log queries mysql-test/r/backup.result: log queries mysql-test/r/bdb-crash.result: log queries mysql-test/r/bench_count_distinct.result: log queries mysql-test/r/bigint.result: log queries mysql-test/r/binary.result: log queries mysql-test/r/bulk_replace.result: log queries mysql-test/r/case.result: log queries mysql-test/r/check.result: log queries mysql-test/r/comments.result: log queries mysql-test/r/compare.result: log queries mysql-test/r/count_distinct.result: log queries mysql-test/r/count_distinct2.result: log queries mysql-test/r/create.result: log queries mysql-test/r/ctype_latin1_de.result: log queries mysql-test/r/delayed.result: log queries mysql-test/r/dirty-close.result: log queries mysql-test/r/distinct.result: log queries mysql-test/r/drop.result: log queries mysql-test/r/empty_table.result: log queries mysql-test/r/explain.result: log queries mysql-test/r/flush.result: log queries mysql-test/r/fulltext.result: log queries mysql-test/r/fulltext_cache.result: log queries mysql-test/r/fulltext_distinct.result: log queries mysql-test/r/fulltext_left_join.result: log queries mysql-test/r/fulltext_multi.result: log queries mysql-test/r/fulltext_order_by.result: log queries mysql-test/r/fulltext_update.result: log queries mysql-test/r/fulltext_var.result: log queries mysql-test/r/func_crypt.result: log queries mysql-test/r/func_date_add.result: log queries mysql-test/r/func_equal.result: log queries mysql-test/r/func_group.result: log queries mysql-test/r/func_in.result: log queries mysql-test/r/func_like.result: log queries mysql-test/r/func_math.result: log queries mysql-test/r/func_misc.result: log queries mysql-test/r/func_op.result: log queries mysql-test/r/func_regexp.result: log queries mysql-test/r/func_set.result: log queries mysql-test/r/func_str.result: log queries mysql-test/r/func_system.result: log queries mysql-test/r/func_test.result: log queries mysql-test/r/func_time.result: log queries mysql-test/r/func_timestamp.result: log queries mysql-test/r/group_by.result: log queries mysql-test/r/handler.result: log queries mysql-test/r/having.result: log queries mysql-test/r/heap.result: log queries mysql-test/r/identity.result: log queries mysql-test/r/ins000001.result: log queries mysql-test/r/insert.result: log queries mysql-test/r/insert_select.result: log queries mysql-test/r/isam.result: log queries mysql-test/r/join.result: log queries mysql-test/r/join_crash.result: log queries mysql-test/r/join_outer.result: log queries mysql-test/r/key.result: log queries mysql-test/r/key_diff.result: log queries mysql-test/r/key_primary.result: log queries mysql-test/r/keywords.result: log queries mysql-test/r/kill.result: log queries mysql-test/r/limit.result: log queries mysql-test/r/lock.result: log queries mysql-test/r/merge.result: log queries mysql-test/r/multi_update.result: log queries mysql-test/r/myisam.result: log queries mysql-test/r/null.result: log queries mysql-test/r/null_key.result: log queries mysql-test/r/odbc.result: log queries mysql-test/r/openssl_1.result: log queries mysql-test/r/openssl_2.result: log queries mysql-test/r/order_by.result: log queries mysql-test/r/order_fill_sortbuf.result: log queries mysql-test/r/raid.result: log queries mysql-test/r/range.result: log queries mysql-test/r/rename.result: log queries mysql-test/r/replace.result: log queries mysql-test/r/rollback.result: log queries mysql-test/r/rpl000001.result: log queries mysql-test/r/rpl000002.result: log queries mysql-test/r/rpl000003.result: log queries mysql-test/r/rpl000004.result: log queries mysql-test/r/rpl000005.result: log queries mysql-test/r/rpl000006.result: log queries mysql-test/r/rpl000007.result: log queries mysql-test/r/rpl000008.result: log queries mysql-test/r/rpl000009.result: log queries mysql-test/r/rpl000010.result: log queries mysql-test/r/rpl000011.result: log queries mysql-test/r/rpl000012.result: log queries mysql-test/r/rpl000013.result: log queries mysql-test/r/rpl000014.result: log queries mysql-test/r/rpl000015.result: log queries mysql-test/r/rpl000016.result: log queries mysql-test/r/rpl000017.result: log queries mysql-test/r/rpl000018.result: log queries mysql-test/r/rpl_get_lock.result: log queries mysql-test/r/rpl_log.result: log queries mysql-test/r/rpl_magic.result: log queries mysql-test/r/rpl_mystery22.result: log queries mysql-test/r/rpl_sporadic_master.result: log queries mysql-test/r/sel000001.result: log queries mysql-test/r/sel000002.result: log queries mysql-test/r/sel000003.result: log queries mysql-test/r/sel000031.result: log queries mysql-test/r/sel000032.result: log queries mysql-test/r/sel000033.result: log queries mysql-test/r/sel000100.result: log queries mysql-test/r/select.result: log queries mysql-test/r/select_found.result: log queries mysql-test/r/select_safe.result: log queries mysql-test/r/show_check.result: log queries mysql-test/r/slave-running.result: log queries mysql-test/r/slave-stopped.result: log queries mysql-test/r/status.result: log queries mysql-test/r/symlink.result: log queries mysql-test/r/tablelock.result: log queries mysql-test/r/temp_table.result: log queries mysql-test/r/truncate.result: log queries mysql-test/r/type_blob.result: log queries mysql-test/r/type_date.result: log queries mysql-test/r/type_datetime.result: log queries mysql-test/r/type_decimal.result: log queries mysql-test/r/type_enum.result: log queries mysql-test/r/type_float.result: log queries mysql-test/r/type_ranges.result: log queries mysql-test/r/type_time.result: log queries mysql-test/r/type_timestamp.result: log queries mysql-test/r/type_uint.result: log queries mysql-test/r/type_year.result: log queries mysql-test/r/union.result: log queries mysql-test/r/update.result: log queries mysql-test/r/user_var.result: log queries mysql-test/r/varbinary.result: log queries mysql-test/r/variables.result: log queries mysql-test/t/bench_count_distinct.test: log queries mysql-test/t/check.test: log queries mysql-test/t/count_distinct2.test: log queries mysql-test/t/flush.test: log queries mysql-test/t/isam.test: log queries mysql-test/t/multi_update.test: log queries mysql-test/t/myisam.test: log queries mysql-test/t/order_fill_sortbuf.test: log queries mysql-test/t/rpl000016.test: log queries tools/managertest1.nc: test for def_exec overwrite tools/mysqlmanager.c: support def_exec overwrite and queries on running server
2001-09-28 07:05:54 +02:00
drop table if exists t1;
WorkLog#1323 Deprecate the use of TYPE=... Preferred syntax is ENGINE= include/mysqld_error.h: New warning for deprecated syntax sql/lex.h: Introduce ENGINE keyword Sort order of symbols sql/share/czech/errmsg.txt: New warning for deprecated syntax sql/share/danish/errmsg.txt: New warning for deprecated syntax sql/share/dutch/errmsg.txt: New warning for deprecated syntax sql/share/english/errmsg.txt: New warning for deprecated syntax sql/share/estonian/errmsg.txt: New warning for deprecated syntax sql/share/french/errmsg.txt: New warning for deprecated syntax sql/share/german/errmsg.txt: New warning for deprecated syntax sql/share/greek/errmsg.txt: New warning for deprecated syntax sql/share/hungarian/errmsg.txt: New warning for deprecated syntax sql/share/italian/errmsg.txt: New warning for deprecated syntax sql/share/japanese/errmsg.txt: New warning for deprecated syntax sql/share/korean/errmsg.txt: New warning for deprecated syntax sql/share/norwegian-ny/errmsg.txt: New warning for deprecated syntax sql/share/norwegian/errmsg.txt: New warning for deprecated syntax sql/share/polish/errmsg.txt: New warning for deprecated syntax sql/share/portuguese/errmsg.txt: New warning for deprecated syntax sql/share/romanian/errmsg.txt: New warning for deprecated syntax sql/share/russian/errmsg.txt: New warning for deprecated syntax sql/share/serbian/errmsg.txt: New warning for deprecated syntax sql/share/slovak/errmsg.txt: New warning for deprecated syntax sql/share/spanish/errmsg.txt: New warning for deprecated syntax sql/share/swedish/errmsg.txt: New warning for deprecated syntax sql/share/ukrainian/errmsg.txt: New warning for deprecated syntax sql/sql_show.cc: Change TYPE= with ENGINE= sql/sql_yacc.yy: Introduce ENGINE keyword, Deprecate TYPE= syntax, Introduce SHOW ENGINE syntax, Deprecate SHOW INNODB/BDB syntax. mysql-test/r/alias.result: Change occurances of TYPE= to ENGINE= mysql-test/r/alter_table.result: Change occurances of TYPE= to ENGINE= mysql-test/r/auto_increment.result: Change occurances of TYPE= to ENGINE= mysql-test/r/bdb-alter-table-1.result: Change occurances of TYPE= to ENGINE= mysql-test/r/bdb-crash.result: Change occurances of TYPE= to ENGINE= mysql-test/r/bdb-deadlock.result: Change occurances of TYPE= to ENGINE= mysql-test/r/bdb.result: Change occurances of TYPE= to ENGINE= mysql-test/r/bdb_cache.result: Change occurances of TYPE= to ENGINE= mysql-test/r/case.result: Change occurances of TYPE= to ENGINE= mysql-test/r/cast.result: Change occurances of TYPE= to ENGINE= mysql-test/r/constraints.result: Change occurances of TYPE= to ENGINE= mysql-test/r/create.result: Change occurances of TYPE= to ENGINE= mysql-test/r/ctype_collate.result: Change occurances of TYPE= to ENGINE= mysql-test/r/ctype_latin1_de.result: Change occurances of TYPE= to ENGINE= mysql-test/r/ctype_many.result: Change occurances of TYPE= to ENGINE= mysql-test/r/ctype_mb.result: Change occurances of TYPE= to ENGINE= mysql-test/r/ctype_recoding.result: Change occurances of TYPE= to ENGINE= mysql-test/r/ctype_ucs.result: Change occurances of TYPE= to ENGINE= mysql-test/r/delete.result: Change occurances of TYPE= to ENGINE= mysql-test/r/distinct.result: Change occurances of TYPE= to ENGINE= mysql-test/r/fulltext.result: Change occurances of TYPE= to ENGINE= mysql-test/r/fulltext2.result: Change occurances of TYPE= to ENGINE= mysql-test/r/fulltext_distinct.result: Change occurances of TYPE= to ENGINE= mysql-test/r/fulltext_left_join.result: Change occurances of TYPE= to ENGINE= mysql-test/r/func_compress.result: Change occurances of TYPE= to ENGINE= mysql-test/r/func_date_add.result: Change occurances of TYPE= to ENGINE= mysql-test/r/func_group.result: Change occurances of TYPE= to ENGINE= mysql-test/r/func_if.result: Change occurances of TYPE= to ENGINE= mysql-test/r/func_str.result: Change occurances of TYPE= to ENGINE= mysql-test/r/func_system.result: Change occurances of TYPE= to ENGINE= mysql-test/r/func_test.result: Change occurances of TYPE= to ENGINE= mysql-test/r/func_time.result: Change occurances of TYPE= to ENGINE= mysql-test/r/gis-rtree.result: Change occurances of TYPE= to ENGINE= mysql-test/r/group_by.result: Change occurances of TYPE= to ENGINE= mysql-test/r/handler.result: Change occurances of TYPE= to ENGINE= mysql-test/r/heap.result: Change occurances of TYPE= to ENGINE= mysql-test/r/heap_auto_increment.result: Change occurances of TYPE= to ENGINE= mysql-test/r/heap_btree.result: Change occurances of TYPE= to ENGINE= mysql-test/r/heap_hash.result: Change occurances of TYPE= to ENGINE= mysql-test/r/help.result: Change occurances of TYPE= to ENGINE= mysql-test/r/innodb-deadlock.result: Change occurances of TYPE= to ENGINE= mysql-test/r/innodb.result: Change occurances of TYPE= to ENGINE= mysql-test/r/innodb_cache.result: Change occurances of TYPE= to ENGINE= mysql-test/r/innodb_handler.result: Change occurances of TYPE= to ENGINE= mysql-test/r/insert_select.result: Change occurances of TYPE= to ENGINE= mysql-test/r/isam.result: Change occurances of TYPE= to ENGINE= mysql-test/r/join.result: Change occurances of TYPE= to ENGINE= mysql-test/r/join_crash.result: Change occurances of TYPE= to ENGINE= mysql-test/r/join_outer.result: Change occurances of TYPE= to ENGINE= mysql-test/r/key.result: Change occurances of TYPE= to ENGINE= mysql-test/r/lock.result: Change occurances of TYPE= to ENGINE= mysql-test/r/lock_tables_lost_commit.result: Change occurances of TYPE= to ENGINE= mysql-test/r/merge.result: Change occurances of TYPE= to ENGINE= mysql-test/r/mix_innodb_myisam_binlog.result: Change occurances of TYPE= to ENGINE= mysql-test/r/multi_update.result: Change occurances of TYPE= to ENGINE= mysql-test/r/myisam.result: Change occurances of TYPE= to ENGINE= mysql-test/r/null.result: Change occurances of TYPE= to ENGINE= mysql-test/r/null_key.result: Change occurances of TYPE= to ENGINE= mysql-test/r/order_by.result: Change occurances of TYPE= to ENGINE= mysql-test/r/query_cache.result: Change occurances of TYPE= to ENGINE= mysql-test/r/range.result: Change occurances of TYPE= to ENGINE= mysql-test/r/repair_part1.result: Change occurances of TYPE= to ENGINE= mysql-test/r/replace.result: Change occurances of TYPE= to ENGINE= mysql-test/r/rollback.result: Change occurances of TYPE= to ENGINE= mysql-test/r/rpl000006.result: Change occurances of TYPE= to ENGINE= mysql-test/r/rpl_flush_tables.result: Change occurances of TYPE= to ENGINE= mysql-test/r/rpl_insert_id.result: Change occurances of TYPE= to ENGINE= mysql-test/r/rpl_relayrotate.result: Change occurances of TYPE= to ENGINE= mysql-test/r/select.result: Change occurances of TYPE= to ENGINE= mysql-test/r/select_found.result: Change occurances of TYPE= to ENGINE= mysql-test/r/show_check.result: Change occurances of TYPE= to ENGINE= mysql-test/r/sql_mode.result: Change occurances of TYPE= to ENGINE= mysql-test/r/status.result: Change occurances of TYPE= to ENGINE= mysql-test/r/subselect.result: Change occurances of TYPE= to ENGINE= mysql-test/r/subselect2.result: Change occurances of TYPE= to ENGINE= mysql-test/r/subselect_innodb.result: Change occurances of TYPE= to ENGINE= mysql-test/r/symlink.result: Change occurances of TYPE= to ENGINE= mysql-test/r/temp_table.result: Change occurances of TYPE= to ENGINE= mysql-test/r/type_blob.result: Change occurances of TYPE= to ENGINE= mysql-test/r/type_datetime.result: Change occurances of TYPE= to ENGINE= mysql-test/r/type_enum.result: Change occurances of TYPE= to ENGINE= mysql-test/r/type_nchar.result: Change occurances of TYPE= to ENGINE= mysql-test/r/type_set.result: Change occurances of TYPE= to ENGINE= mysql-test/r/union.result: Change occurances of TYPE= to ENGINE= mysql-test/r/update.result: Change occurances of TYPE= to ENGINE= mysql-test/r/warnings.result: Change occurances of TYPE= to ENGINE= mysql-test/t/alias.test: Change occurances of TYPE= to ENGINE= mysql-test/t/alter_table.test: Change occurances of TYPE= to ENGINE= mysql-test/t/auto_increment.test: Change occurances of TYPE= to ENGINE= mysql-test/t/bdb-alter-table-1.test: Change occurances of TYPE= to ENGINE= mysql-test/t/bdb-crash.test: Change occurances of TYPE= to ENGINE= mysql-test/t/bdb-deadlock.test: Change occurances of TYPE= to ENGINE= mysql-test/t/bdb.test: Change occurances of TYPE= to ENGINE= mysql-test/t/bdb_cache.test: Change occurances of TYPE= to ENGINE= mysql-test/t/create.test: Change occurances of TYPE= to ENGINE= mysql-test/t/ctype_ucs.test: Change occurances of TYPE= to ENGINE= mysql-test/t/delete.test: Change occurances of TYPE= to ENGINE= mysql-test/t/distinct.test: Change occurances of TYPE= to ENGINE= mysql-test/t/fulltext.test: Change occurances of TYPE= to ENGINE= mysql-test/t/fulltext2.test: Change occurances of TYPE= to ENGINE= mysql-test/t/fulltext_distinct.test: Change occurances of TYPE= to ENGINE= mysql-test/t/fulltext_left_join.test: Change occurances of TYPE= to ENGINE= mysql-test/t/func_compress.test: Change occurances of TYPE= to ENGINE= mysql-test/t/func_date_add.test: Change occurances of TYPE= to ENGINE= mysql-test/t/func_group.test: Change occurances of TYPE= to ENGINE= mysql-test/t/func_if.test: Change occurances of TYPE= to ENGINE= mysql-test/t/func_str.test: Change occurances of TYPE= to ENGINE= mysql-test/t/func_test.test: Change occurances of TYPE= to ENGINE= mysql-test/t/func_time.test: Change occurances of TYPE= to ENGINE= mysql-test/t/gis-rtree.test: Change occurances of TYPE= to ENGINE= mysql-test/t/group_by.test: Change occurances of TYPE= to ENGINE= mysql-test/t/handler.test: Change occurances of TYPE= to ENGINE= mysql-test/t/heap.test: Change occurances of TYPE= to ENGINE= mysql-test/t/heap_auto_increment.test: Change occurances of TYPE= to ENGINE= mysql-test/t/heap_btree.test: Change occurances of TYPE= to ENGINE= mysql-test/t/heap_hash.test: Change occurances of TYPE= to ENGINE= mysql-test/t/help.test: Change occurances of TYPE= to ENGINE= mysql-test/t/innodb-deadlock.test: Change occurances of TYPE= to ENGINE= mysql-test/t/innodb.test: Change occurances of TYPE= to ENGINE= mysql-test/t/innodb_cache.test: Change occurances of TYPE= to ENGINE= mysql-test/t/innodb_handler.test: Change occurances of TYPE= to ENGINE= mysql-test/t/insert_select.test: Change occurances of TYPE= to ENGINE= mysql-test/t/isam.test: Change occurances of TYPE= to ENGINE= mysql-test/t/join.test: Change occurances of TYPE= to ENGINE= mysql-test/t/join_crash.test: Change occurances of TYPE= to ENGINE= mysql-test/t/join_outer.test: Change occurances of TYPE= to ENGINE= mysql-test/t/key.test: Change occurances of TYPE= to ENGINE= mysql-test/t/lock.test: Change occurances of TYPE= to ENGINE= mysql-test/t/lock_tables_lost_commit.test: Change occurances of TYPE= to ENGINE= mysql-test/t/merge.test: Change occurances of TYPE= to ENGINE= mysql-test/t/mix_innodb_myisam_binlog.test: Change occurances of TYPE= to ENGINE= mysql-test/t/multi_update.test: Change occurances of TYPE= to ENGINE= mysql-test/t/myisam.test: Change occurances of TYPE= to ENGINE= mysql-test/t/null.test: Change occurances of TYPE= to ENGINE= mysql-test/t/null_key.test: Change occurances of TYPE= to ENGINE= mysql-test/t/order_by.test: Change occurances of TYPE= to ENGINE= mysql-test/t/outfile.test: Change occurances of TYPE= to ENGINE= mysql-test/t/query_cache.test: Change occurances of TYPE= to ENGINE= mysql-test/t/query_cache_merge.test: Change occurances of TYPE= to ENGINE= mysql-test/t/range.test: Change occurances of TYPE= to ENGINE= mysql-test/t/repair_part1.test: Change occurances of TYPE= to ENGINE= mysql-test/t/replace.test: Change occurances of TYPE= to ENGINE= mysql-test/t/rollback.test: Change occurances of TYPE= to ENGINE= mysql-test/t/rpl000006.test: Change occurances of TYPE= to ENGINE= mysql-test/t/rpl_flush_tables.test: Change occurances of TYPE= to ENGINE= mysql-test/t/rpl_insert_id.test: Change occurances of TYPE= to ENGINE= mysql-test/t/rpl_relayrotate.test: Change occurances of TYPE= to ENGINE= mysql-test/t/select.test: Change occurances of TYPE= to ENGINE= mysql-test/t/select_found.test: Change occurances of TYPE= to ENGINE= mysql-test/t/show_check.test: Change occurances of TYPE= to ENGINE= mysql-test/t/sql_mode.test: Change occurances of TYPE= to ENGINE= mysql-test/t/status.test: Change occurances of TYPE= to ENGINE= mysql-test/t/subselect.test: Change occurances of TYPE= to ENGINE= mysql-test/t/subselect2.test: Change occurances of TYPE= to ENGINE= mysql-test/t/subselect_innodb.test: Change occurances of TYPE= to ENGINE= mysql-test/t/symlink.test: Change occurances of TYPE= to ENGINE= mysql-test/t/temp_table.test: Change occurances of TYPE= to ENGINE= mysql-test/t/type_datetime.test: Change occurances of TYPE= to ENGINE= mysql-test/t/type_set.test: Change occurances of TYPE= to ENGINE= mysql-test/t/union.test: Change occurances of TYPE= to ENGINE= mysql-test/t/update.test: Change occurances of TYPE= to ENGINE= mysql-test/t/warnings.test: Change occurances of TYPE= to ENGINE= New test for deprecated syntax
2003-12-10 05:31:42 +01:00
create table t1(n int) engine=myisam;
client/mysqlmanagerc.c added support for quiet increased line buffer size client/mysqltest.c fixed memory leak added query logging to result file added error message logging to result file added enable_query_log/disable_query_log mysql-test/mysql-test-run.sh converted tests to use mysqlmanager Updated test results BitKeeper/etc/ignore: added *.reject client/mysqlmanagerc.c: added support for quiet increased line buffer size client/mysqltest.c: fixed memory leak added query logging to result file added error message logging to result file added enable_query_log/disable_query_log mysql-test/mysql-test-run.sh: converted tests to use mysqlmanager mysql-test/r/alias.result: log queries mysql-test/r/alter_table.result: log queries mysql-test/r/analyse.result: log queries mysql-test/r/auto_increment.result: log queries mysql-test/r/backup.result: log queries mysql-test/r/bdb-crash.result: log queries mysql-test/r/bench_count_distinct.result: log queries mysql-test/r/bigint.result: log queries mysql-test/r/binary.result: log queries mysql-test/r/bulk_replace.result: log queries mysql-test/r/case.result: log queries mysql-test/r/check.result: log queries mysql-test/r/comments.result: log queries mysql-test/r/compare.result: log queries mysql-test/r/count_distinct.result: log queries mysql-test/r/count_distinct2.result: log queries mysql-test/r/create.result: log queries mysql-test/r/ctype_latin1_de.result: log queries mysql-test/r/delayed.result: log queries mysql-test/r/dirty-close.result: log queries mysql-test/r/distinct.result: log queries mysql-test/r/drop.result: log queries mysql-test/r/empty_table.result: log queries mysql-test/r/explain.result: log queries mysql-test/r/flush.result: log queries mysql-test/r/fulltext.result: log queries mysql-test/r/fulltext_cache.result: log queries mysql-test/r/fulltext_distinct.result: log queries mysql-test/r/fulltext_left_join.result: log queries mysql-test/r/fulltext_multi.result: log queries mysql-test/r/fulltext_order_by.result: log queries mysql-test/r/fulltext_update.result: log queries mysql-test/r/fulltext_var.result: log queries mysql-test/r/func_crypt.result: log queries mysql-test/r/func_date_add.result: log queries mysql-test/r/func_equal.result: log queries mysql-test/r/func_group.result: log queries mysql-test/r/func_in.result: log queries mysql-test/r/func_like.result: log queries mysql-test/r/func_math.result: log queries mysql-test/r/func_misc.result: log queries mysql-test/r/func_op.result: log queries mysql-test/r/func_regexp.result: log queries mysql-test/r/func_set.result: log queries mysql-test/r/func_str.result: log queries mysql-test/r/func_system.result: log queries mysql-test/r/func_test.result: log queries mysql-test/r/func_time.result: log queries mysql-test/r/func_timestamp.result: log queries mysql-test/r/group_by.result: log queries mysql-test/r/handler.result: log queries mysql-test/r/having.result: log queries mysql-test/r/heap.result: log queries mysql-test/r/identity.result: log queries mysql-test/r/ins000001.result: log queries mysql-test/r/insert.result: log queries mysql-test/r/insert_select.result: log queries mysql-test/r/isam.result: log queries mysql-test/r/join.result: log queries mysql-test/r/join_crash.result: log queries mysql-test/r/join_outer.result: log queries mysql-test/r/key.result: log queries mysql-test/r/key_diff.result: log queries mysql-test/r/key_primary.result: log queries mysql-test/r/keywords.result: log queries mysql-test/r/kill.result: log queries mysql-test/r/limit.result: log queries mysql-test/r/lock.result: log queries mysql-test/r/merge.result: log queries mysql-test/r/multi_update.result: log queries mysql-test/r/myisam.result: log queries mysql-test/r/null.result: log queries mysql-test/r/null_key.result: log queries mysql-test/r/odbc.result: log queries mysql-test/r/openssl_1.result: log queries mysql-test/r/openssl_2.result: log queries mysql-test/r/order_by.result: log queries mysql-test/r/order_fill_sortbuf.result: log queries mysql-test/r/raid.result: log queries mysql-test/r/range.result: log queries mysql-test/r/rename.result: log queries mysql-test/r/replace.result: log queries mysql-test/r/rollback.result: log queries mysql-test/r/rpl000001.result: log queries mysql-test/r/rpl000002.result: log queries mysql-test/r/rpl000003.result: log queries mysql-test/r/rpl000004.result: log queries mysql-test/r/rpl000005.result: log queries mysql-test/r/rpl000006.result: log queries mysql-test/r/rpl000007.result: log queries mysql-test/r/rpl000008.result: log queries mysql-test/r/rpl000009.result: log queries mysql-test/r/rpl000010.result: log queries mysql-test/r/rpl000011.result: log queries mysql-test/r/rpl000012.result: log queries mysql-test/r/rpl000013.result: log queries mysql-test/r/rpl000014.result: log queries mysql-test/r/rpl000015.result: log queries mysql-test/r/rpl000016.result: log queries mysql-test/r/rpl000017.result: log queries mysql-test/r/rpl000018.result: log queries mysql-test/r/rpl_get_lock.result: log queries mysql-test/r/rpl_log.result: log queries mysql-test/r/rpl_magic.result: log queries mysql-test/r/rpl_mystery22.result: log queries mysql-test/r/rpl_sporadic_master.result: log queries mysql-test/r/sel000001.result: log queries mysql-test/r/sel000002.result: log queries mysql-test/r/sel000003.result: log queries mysql-test/r/sel000031.result: log queries mysql-test/r/sel000032.result: log queries mysql-test/r/sel000033.result: log queries mysql-test/r/sel000100.result: log queries mysql-test/r/select.result: log queries mysql-test/r/select_found.result: log queries mysql-test/r/select_safe.result: log queries mysql-test/r/show_check.result: log queries mysql-test/r/slave-running.result: log queries mysql-test/r/slave-stopped.result: log queries mysql-test/r/status.result: log queries mysql-test/r/symlink.result: log queries mysql-test/r/tablelock.result: log queries mysql-test/r/temp_table.result: log queries mysql-test/r/truncate.result: log queries mysql-test/r/type_blob.result: log queries mysql-test/r/type_date.result: log queries mysql-test/r/type_datetime.result: log queries mysql-test/r/type_decimal.result: log queries mysql-test/r/type_enum.result: log queries mysql-test/r/type_float.result: log queries mysql-test/r/type_ranges.result: log queries mysql-test/r/type_time.result: log queries mysql-test/r/type_timestamp.result: log queries mysql-test/r/type_uint.result: log queries mysql-test/r/type_year.result: log queries mysql-test/r/union.result: log queries mysql-test/r/update.result: log queries mysql-test/r/user_var.result: log queries mysql-test/r/varbinary.result: log queries mysql-test/r/variables.result: log queries mysql-test/t/bench_count_distinct.test: log queries mysql-test/t/check.test: log queries mysql-test/t/count_distinct2.test: log queries mysql-test/t/flush.test: log queries mysql-test/t/isam.test: log queries mysql-test/t/multi_update.test: log queries mysql-test/t/myisam.test: log queries mysql-test/t/order_fill_sortbuf.test: log queries mysql-test/t/rpl000016.test: log queries tools/managertest1.nc: test for def_exec overwrite tools/mysqlmanager.c: support def_exec overwrite and queries on running server
2001-09-28 07:05:54 +02:00
insert into t1 values(1);
MDEV-11227 - mysqlimport -l doesn't issue UNLOCK TABLES Implementation of MDEV-7660 introduced unwanted incompatible change: modifications under LOCK TABLES with autocommit enabled are rolled back on disconnect. Previously everything was committed, because LOCK TABLES didn't adjust autocommit setting. This patch restores original behavior by reverting some changes done in MDEV-7660: - sql/sql_parse.cc: do not reset autocommit on LOCK TABLES - sql/sql_base.cc: do not set autocommit on UNLOCK TABLES - test cases: main.lock_tables_lost_commit, main.partition_explicit_prune, rpl.rpl_switch_stm_row_mixed, tokudb.nested_txn_implicit_commit, tokudb_bugs.db806 But it makes InnoDB tables under LOCK TABLES ... READ [LOCAL] not protected against DML. To restore protection some changes from WL#6671 were merged, specifically MDL_SHARED_READ_ONLY and test cases. WL#6671 merge highlights: - Not all tests merged. - In MySQL LOCK TABLES ... READ acquires MDL_SHARED_READ_ONLY for all engines, in MariaDB MDL_SHARED_READ is always acquired first and then upgraded to MDL_SHARED_READ_ONLY for InnoDB only. - The above allows us to omit MDL_SHARED_WRITE_LOW_PRIO implementation in MariaDB, which is rather useless with InnoDB. In MySQL it is needed to preserve locking behavior between low priority writes and LOCK TABLES ... READ for non-InnoDB engines (covered by sys_vars.sql_low_priority_updates_func). - Omitted HA_NO_READ_LOCAL_LOCK, we rely on lock_count() instead. - Omitted "piglets": in MariaDB stream of DML against InnoDB table may lead to concurrent LOCK TABLES ... READ starvation. - HANDLER ... OPEN acquires MDL_SHARED_READ instead of MDL_SHARED in MariaDB. - Omitted SNRW->X MDL lock upgrade for IMPORT/DISCARD TABLESPAECE under LOCK TABLES. - Omitted strong locks for views, triggers and SP under LOCK TABLES. - Omitted IX schema lock for LOCK TABLES READ. - Omitted deadlock weight juggling for LOCK TABLES. Full WL#6671 merge status: - innodb.innodb-lock: fully merged - main.alter_table: not merged due to different HANDLER solution - main.debug_sync: fully merged - main.handler_innodb: not merged due to different HANDLER solution - main.handler_myisam: not merged due to different HANDLER solution - main.innodb_mysql_lock: fully merged - main.insert_notembedded: fully merged - main.lock: not merged (due to no strong locks for views) - main.lock_multi: not merged - main.lock_sync: fully merged (partially in MDEV-7660) - main.mdl_sync: not merged - main.partition_debug_sync: not merged due to different HANDLER solution - main.status: fully merged - main.view: fully merged - perfschema.mdl_func: not merged (no such test in MariaDB) - perfschema.table_aggregate_global_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_4u_3t: not merged (didn't fail in MariaDB) - sys_vars.sql_low_priority_updates_func: not merged - include/thr_rwlock.h: not merged, rw_pr_lock_assert_write_owner and rw_pr_lock_assert_not_write_owner are macros in MariaDB - sql/handler.h: not merged (HA_NO_READ_LOCAL_LOCK) - sql/mdl.cc: partially merged (MDL_SHARED_READ_ONLY only) - sql/mdl.h: partially merged (MDL_SHARED_READ_ONLY only) - sql/lock.cc: fully merged - sql/sp_head.cc: not merged - sql/sp_head.h: not merged - sql/sql_base.cc: partially merged (MDL_SHARED_READ_ONLY only) - sql/sql_base.h: not merged - sql/sql_class.cc: fully merged - sql/sql_class.h: fully merged - sql/sql_handler.cc: merged partially (different solution in MariaDB) - sql/sql_parse.cc: partially merged, mostly omitted low priority write part - sql/sql_reload.cc: not merged comment change - sql/sql_table.cc: not merged SNRW->X upgrade for IMPORT/DISCARD TABLESPACE - sql/sql_view.cc: not merged - sql/sql_yacc.yy: not merged (MDL_SHARED_WRITE_LOW_PRIO, MDL_SHARED_READ_ONLY) - sql/table.cc: not merged (MDL_SHARED_WRITE_LOW_PRIO) - sql/table.h: not merged (MDL_SHARED_WRITE_LOW_PRIO) - sql/trigger.cc: not merged - storage/innobase/handler/ha_innodb.cc: merged store_lock()/lock_count() changes (in MDEV-7660), didn't merge HA_NO_READ_LOCAL_LOCK - storage/innobase/handler/ha_innodb.h: fully merged in MDEV-7660 - storage/myisammrg/ha_myisammrg.cc: not merged comment change - storage/perfschema/table_helper.cc: not merged (no MDL support in MariaDB PFS) - unittest/gunit/mdl-t.cc: not merged - unittest/gunit/mdl_sync-t.cc: not merged MariaDB specific changes: - handler.heap: different HANDLER solution, MDEV-7660 - handler.innodb: different HANDLER solution, MDEV-7660 - handler.interface: different HANDLER solution, MDEV-7660 - handler.myisam: different HANDLER solution, MDEV-7660 - main.mdl_sync: MDEV-7660 specific changes - main.partition_debug_sync: removed test due to different HANDLER solution, MDEV-7660 - main.truncate_coverage: removed test due to different HANDLER solution, MDEV-7660 - mysql-test/include/mtr_warnings.sql: additional cleanup, MDEV-7660 - mysql-test/lib/v1/mtr_report.pl: additional cleanup, MDEV-7660 - plugin/metadata_lock_info/metadata_lock_info.cc: not in MySQL - sql/sql_handler.cc: MariaDB specific fix for mysql_ha_read(), MDEV-7660
2016-12-08 11:20:46 +01:00
select get_lock('mysqltest_lock', 100);
get_lock('mysqltest_lock', 100)
1
connection con2;
MDEV-11227 - mysqlimport -l doesn't issue UNLOCK TABLES Implementation of MDEV-7660 introduced unwanted incompatible change: modifications under LOCK TABLES with autocommit enabled are rolled back on disconnect. Previously everything was committed, because LOCK TABLES didn't adjust autocommit setting. This patch restores original behavior by reverting some changes done in MDEV-7660: - sql/sql_parse.cc: do not reset autocommit on LOCK TABLES - sql/sql_base.cc: do not set autocommit on UNLOCK TABLES - test cases: main.lock_tables_lost_commit, main.partition_explicit_prune, rpl.rpl_switch_stm_row_mixed, tokudb.nested_txn_implicit_commit, tokudb_bugs.db806 But it makes InnoDB tables under LOCK TABLES ... READ [LOCAL] not protected against DML. To restore protection some changes from WL#6671 were merged, specifically MDL_SHARED_READ_ONLY and test cases. WL#6671 merge highlights: - Not all tests merged. - In MySQL LOCK TABLES ... READ acquires MDL_SHARED_READ_ONLY for all engines, in MariaDB MDL_SHARED_READ is always acquired first and then upgraded to MDL_SHARED_READ_ONLY for InnoDB only. - The above allows us to omit MDL_SHARED_WRITE_LOW_PRIO implementation in MariaDB, which is rather useless with InnoDB. In MySQL it is needed to preserve locking behavior between low priority writes and LOCK TABLES ... READ for non-InnoDB engines (covered by sys_vars.sql_low_priority_updates_func). - Omitted HA_NO_READ_LOCAL_LOCK, we rely on lock_count() instead. - Omitted "piglets": in MariaDB stream of DML against InnoDB table may lead to concurrent LOCK TABLES ... READ starvation. - HANDLER ... OPEN acquires MDL_SHARED_READ instead of MDL_SHARED in MariaDB. - Omitted SNRW->X MDL lock upgrade for IMPORT/DISCARD TABLESPAECE under LOCK TABLES. - Omitted strong locks for views, triggers and SP under LOCK TABLES. - Omitted IX schema lock for LOCK TABLES READ. - Omitted deadlock weight juggling for LOCK TABLES. Full WL#6671 merge status: - innodb.innodb-lock: fully merged - main.alter_table: not merged due to different HANDLER solution - main.debug_sync: fully merged - main.handler_innodb: not merged due to different HANDLER solution - main.handler_myisam: not merged due to different HANDLER solution - main.innodb_mysql_lock: fully merged - main.insert_notembedded: fully merged - main.lock: not merged (due to no strong locks for views) - main.lock_multi: not merged - main.lock_sync: fully merged (partially in MDEV-7660) - main.mdl_sync: not merged - main.partition_debug_sync: not merged due to different HANDLER solution - main.status: fully merged - main.view: fully merged - perfschema.mdl_func: not merged (no such test in MariaDB) - perfschema.table_aggregate_global_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_4u_3t: not merged (didn't fail in MariaDB) - sys_vars.sql_low_priority_updates_func: not merged - include/thr_rwlock.h: not merged, rw_pr_lock_assert_write_owner and rw_pr_lock_assert_not_write_owner are macros in MariaDB - sql/handler.h: not merged (HA_NO_READ_LOCAL_LOCK) - sql/mdl.cc: partially merged (MDL_SHARED_READ_ONLY only) - sql/mdl.h: partially merged (MDL_SHARED_READ_ONLY only) - sql/lock.cc: fully merged - sql/sp_head.cc: not merged - sql/sp_head.h: not merged - sql/sql_base.cc: partially merged (MDL_SHARED_READ_ONLY only) - sql/sql_base.h: not merged - sql/sql_class.cc: fully merged - sql/sql_class.h: fully merged - sql/sql_handler.cc: merged partially (different solution in MariaDB) - sql/sql_parse.cc: partially merged, mostly omitted low priority write part - sql/sql_reload.cc: not merged comment change - sql/sql_table.cc: not merged SNRW->X upgrade for IMPORT/DISCARD TABLESPACE - sql/sql_view.cc: not merged - sql/sql_yacc.yy: not merged (MDL_SHARED_WRITE_LOW_PRIO, MDL_SHARED_READ_ONLY) - sql/table.cc: not merged (MDL_SHARED_WRITE_LOW_PRIO) - sql/table.h: not merged (MDL_SHARED_WRITE_LOW_PRIO) - sql/trigger.cc: not merged - storage/innobase/handler/ha_innodb.cc: merged store_lock()/lock_count() changes (in MDEV-7660), didn't merge HA_NO_READ_LOCAL_LOCK - storage/innobase/handler/ha_innodb.h: fully merged in MDEV-7660 - storage/myisammrg/ha_myisammrg.cc: not merged comment change - storage/perfschema/table_helper.cc: not merged (no MDL support in MariaDB PFS) - unittest/gunit/mdl-t.cc: not merged - unittest/gunit/mdl_sync-t.cc: not merged MariaDB specific changes: - handler.heap: different HANDLER solution, MDEV-7660 - handler.innodb: different HANDLER solution, MDEV-7660 - handler.interface: different HANDLER solution, MDEV-7660 - handler.myisam: different HANDLER solution, MDEV-7660 - main.mdl_sync: MDEV-7660 specific changes - main.partition_debug_sync: removed test due to different HANDLER solution, MDEV-7660 - main.truncate_coverage: removed test due to different HANDLER solution, MDEV-7660 - mysql-test/include/mtr_warnings.sql: additional cleanup, MDEV-7660 - mysql-test/lib/v1/mtr_report.pl: additional cleanup, MDEV-7660 - plugin/metadata_lock_info/metadata_lock_info.cc: not in MySQL - sql/sql_handler.cc: MariaDB specific fix for mysql_ha_read(), MDEV-7660
2016-12-08 11:20:46 +01:00
# Sending:
update t1 set n = get_lock('mysqltest_lock', 100);
connection con1;
MDEV-11227 - mysqlimport -l doesn't issue UNLOCK TABLES Implementation of MDEV-7660 introduced unwanted incompatible change: modifications under LOCK TABLES with autocommit enabled are rolled back on disconnect. Previously everything was committed, because LOCK TABLES didn't adjust autocommit setting. This patch restores original behavior by reverting some changes done in MDEV-7660: - sql/sql_parse.cc: do not reset autocommit on LOCK TABLES - sql/sql_base.cc: do not set autocommit on UNLOCK TABLES - test cases: main.lock_tables_lost_commit, main.partition_explicit_prune, rpl.rpl_switch_stm_row_mixed, tokudb.nested_txn_implicit_commit, tokudb_bugs.db806 But it makes InnoDB tables under LOCK TABLES ... READ [LOCAL] not protected against DML. To restore protection some changes from WL#6671 were merged, specifically MDL_SHARED_READ_ONLY and test cases. WL#6671 merge highlights: - Not all tests merged. - In MySQL LOCK TABLES ... READ acquires MDL_SHARED_READ_ONLY for all engines, in MariaDB MDL_SHARED_READ is always acquired first and then upgraded to MDL_SHARED_READ_ONLY for InnoDB only. - The above allows us to omit MDL_SHARED_WRITE_LOW_PRIO implementation in MariaDB, which is rather useless with InnoDB. In MySQL it is needed to preserve locking behavior between low priority writes and LOCK TABLES ... READ for non-InnoDB engines (covered by sys_vars.sql_low_priority_updates_func). - Omitted HA_NO_READ_LOCAL_LOCK, we rely on lock_count() instead. - Omitted "piglets": in MariaDB stream of DML against InnoDB table may lead to concurrent LOCK TABLES ... READ starvation. - HANDLER ... OPEN acquires MDL_SHARED_READ instead of MDL_SHARED in MariaDB. - Omitted SNRW->X MDL lock upgrade for IMPORT/DISCARD TABLESPAECE under LOCK TABLES. - Omitted strong locks for views, triggers and SP under LOCK TABLES. - Omitted IX schema lock for LOCK TABLES READ. - Omitted deadlock weight juggling for LOCK TABLES. Full WL#6671 merge status: - innodb.innodb-lock: fully merged - main.alter_table: not merged due to different HANDLER solution - main.debug_sync: fully merged - main.handler_innodb: not merged due to different HANDLER solution - main.handler_myisam: not merged due to different HANDLER solution - main.innodb_mysql_lock: fully merged - main.insert_notembedded: fully merged - main.lock: not merged (due to no strong locks for views) - main.lock_multi: not merged - main.lock_sync: fully merged (partially in MDEV-7660) - main.mdl_sync: not merged - main.partition_debug_sync: not merged due to different HANDLER solution - main.status: fully merged - main.view: fully merged - perfschema.mdl_func: not merged (no such test in MariaDB) - perfschema.table_aggregate_global_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_4u_3t: not merged (didn't fail in MariaDB) - sys_vars.sql_low_priority_updates_func: not merged - include/thr_rwlock.h: not merged, rw_pr_lock_assert_write_owner and rw_pr_lock_assert_not_write_owner are macros in MariaDB - sql/handler.h: not merged (HA_NO_READ_LOCAL_LOCK) - sql/mdl.cc: partially merged (MDL_SHARED_READ_ONLY only) - sql/mdl.h: partially merged (MDL_SHARED_READ_ONLY only) - sql/lock.cc: fully merged - sql/sp_head.cc: not merged - sql/sp_head.h: not merged - sql/sql_base.cc: partially merged (MDL_SHARED_READ_ONLY only) - sql/sql_base.h: not merged - sql/sql_class.cc: fully merged - sql/sql_class.h: fully merged - sql/sql_handler.cc: merged partially (different solution in MariaDB) - sql/sql_parse.cc: partially merged, mostly omitted low priority write part - sql/sql_reload.cc: not merged comment change - sql/sql_table.cc: not merged SNRW->X upgrade for IMPORT/DISCARD TABLESPACE - sql/sql_view.cc: not merged - sql/sql_yacc.yy: not merged (MDL_SHARED_WRITE_LOW_PRIO, MDL_SHARED_READ_ONLY) - sql/table.cc: not merged (MDL_SHARED_WRITE_LOW_PRIO) - sql/table.h: not merged (MDL_SHARED_WRITE_LOW_PRIO) - sql/trigger.cc: not merged - storage/innobase/handler/ha_innodb.cc: merged store_lock()/lock_count() changes (in MDEV-7660), didn't merge HA_NO_READ_LOCAL_LOCK - storage/innobase/handler/ha_innodb.h: fully merged in MDEV-7660 - storage/myisammrg/ha_myisammrg.cc: not merged comment change - storage/perfschema/table_helper.cc: not merged (no MDL support in MariaDB PFS) - unittest/gunit/mdl-t.cc: not merged - unittest/gunit/mdl_sync-t.cc: not merged MariaDB specific changes: - handler.heap: different HANDLER solution, MDEV-7660 - handler.innodb: different HANDLER solution, MDEV-7660 - handler.interface: different HANDLER solution, MDEV-7660 - handler.myisam: different HANDLER solution, MDEV-7660 - main.mdl_sync: MDEV-7660 specific changes - main.partition_debug_sync: removed test due to different HANDLER solution, MDEV-7660 - main.truncate_coverage: removed test due to different HANDLER solution, MDEV-7660 - mysql-test/include/mtr_warnings.sql: additional cleanup, MDEV-7660 - mysql-test/lib/v1/mtr_report.pl: additional cleanup, MDEV-7660 - plugin/metadata_lock_info/metadata_lock_info.cc: not in MySQL - sql/sql_handler.cc: MariaDB specific fix for mysql_ha_read(), MDEV-7660
2016-12-08 11:20:46 +01:00
# Wait for the first UPDATE to get blocked.
# Sending:
client/mysqlmanagerc.c added support for quiet increased line buffer size client/mysqltest.c fixed memory leak added query logging to result file added error message logging to result file added enable_query_log/disable_query_log mysql-test/mysql-test-run.sh converted tests to use mysqlmanager Updated test results BitKeeper/etc/ignore: added *.reject client/mysqlmanagerc.c: added support for quiet increased line buffer size client/mysqltest.c: fixed memory leak added query logging to result file added error message logging to result file added enable_query_log/disable_query_log mysql-test/mysql-test-run.sh: converted tests to use mysqlmanager mysql-test/r/alias.result: log queries mysql-test/r/alter_table.result: log queries mysql-test/r/analyse.result: log queries mysql-test/r/auto_increment.result: log queries mysql-test/r/backup.result: log queries mysql-test/r/bdb-crash.result: log queries mysql-test/r/bench_count_distinct.result: log queries mysql-test/r/bigint.result: log queries mysql-test/r/binary.result: log queries mysql-test/r/bulk_replace.result: log queries mysql-test/r/case.result: log queries mysql-test/r/check.result: log queries mysql-test/r/comments.result: log queries mysql-test/r/compare.result: log queries mysql-test/r/count_distinct.result: log queries mysql-test/r/count_distinct2.result: log queries mysql-test/r/create.result: log queries mysql-test/r/ctype_latin1_de.result: log queries mysql-test/r/delayed.result: log queries mysql-test/r/dirty-close.result: log queries mysql-test/r/distinct.result: log queries mysql-test/r/drop.result: log queries mysql-test/r/empty_table.result: log queries mysql-test/r/explain.result: log queries mysql-test/r/flush.result: log queries mysql-test/r/fulltext.result: log queries mysql-test/r/fulltext_cache.result: log queries mysql-test/r/fulltext_distinct.result: log queries mysql-test/r/fulltext_left_join.result: log queries mysql-test/r/fulltext_multi.result: log queries mysql-test/r/fulltext_order_by.result: log queries mysql-test/r/fulltext_update.result: log queries mysql-test/r/fulltext_var.result: log queries mysql-test/r/func_crypt.result: log queries mysql-test/r/func_date_add.result: log queries mysql-test/r/func_equal.result: log queries mysql-test/r/func_group.result: log queries mysql-test/r/func_in.result: log queries mysql-test/r/func_like.result: log queries mysql-test/r/func_math.result: log queries mysql-test/r/func_misc.result: log queries mysql-test/r/func_op.result: log queries mysql-test/r/func_regexp.result: log queries mysql-test/r/func_set.result: log queries mysql-test/r/func_str.result: log queries mysql-test/r/func_system.result: log queries mysql-test/r/func_test.result: log queries mysql-test/r/func_time.result: log queries mysql-test/r/func_timestamp.result: log queries mysql-test/r/group_by.result: log queries mysql-test/r/handler.result: log queries mysql-test/r/having.result: log queries mysql-test/r/heap.result: log queries mysql-test/r/identity.result: log queries mysql-test/r/ins000001.result: log queries mysql-test/r/insert.result: log queries mysql-test/r/insert_select.result: log queries mysql-test/r/isam.result: log queries mysql-test/r/join.result: log queries mysql-test/r/join_crash.result: log queries mysql-test/r/join_outer.result: log queries mysql-test/r/key.result: log queries mysql-test/r/key_diff.result: log queries mysql-test/r/key_primary.result: log queries mysql-test/r/keywords.result: log queries mysql-test/r/kill.result: log queries mysql-test/r/limit.result: log queries mysql-test/r/lock.result: log queries mysql-test/r/merge.result: log queries mysql-test/r/multi_update.result: log queries mysql-test/r/myisam.result: log queries mysql-test/r/null.result: log queries mysql-test/r/null_key.result: log queries mysql-test/r/odbc.result: log queries mysql-test/r/openssl_1.result: log queries mysql-test/r/openssl_2.result: log queries mysql-test/r/order_by.result: log queries mysql-test/r/order_fill_sortbuf.result: log queries mysql-test/r/raid.result: log queries mysql-test/r/range.result: log queries mysql-test/r/rename.result: log queries mysql-test/r/replace.result: log queries mysql-test/r/rollback.result: log queries mysql-test/r/rpl000001.result: log queries mysql-test/r/rpl000002.result: log queries mysql-test/r/rpl000003.result: log queries mysql-test/r/rpl000004.result: log queries mysql-test/r/rpl000005.result: log queries mysql-test/r/rpl000006.result: log queries mysql-test/r/rpl000007.result: log queries mysql-test/r/rpl000008.result: log queries mysql-test/r/rpl000009.result: log queries mysql-test/r/rpl000010.result: log queries mysql-test/r/rpl000011.result: log queries mysql-test/r/rpl000012.result: log queries mysql-test/r/rpl000013.result: log queries mysql-test/r/rpl000014.result: log queries mysql-test/r/rpl000015.result: log queries mysql-test/r/rpl000016.result: log queries mysql-test/r/rpl000017.result: log queries mysql-test/r/rpl000018.result: log queries mysql-test/r/rpl_get_lock.result: log queries mysql-test/r/rpl_log.result: log queries mysql-test/r/rpl_magic.result: log queries mysql-test/r/rpl_mystery22.result: log queries mysql-test/r/rpl_sporadic_master.result: log queries mysql-test/r/sel000001.result: log queries mysql-test/r/sel000002.result: log queries mysql-test/r/sel000003.result: log queries mysql-test/r/sel000031.result: log queries mysql-test/r/sel000032.result: log queries mysql-test/r/sel000033.result: log queries mysql-test/r/sel000100.result: log queries mysql-test/r/select.result: log queries mysql-test/r/select_found.result: log queries mysql-test/r/select_safe.result: log queries mysql-test/r/show_check.result: log queries mysql-test/r/slave-running.result: log queries mysql-test/r/slave-stopped.result: log queries mysql-test/r/status.result: log queries mysql-test/r/symlink.result: log queries mysql-test/r/tablelock.result: log queries mysql-test/r/temp_table.result: log queries mysql-test/r/truncate.result: log queries mysql-test/r/type_blob.result: log queries mysql-test/r/type_date.result: log queries mysql-test/r/type_datetime.result: log queries mysql-test/r/type_decimal.result: log queries mysql-test/r/type_enum.result: log queries mysql-test/r/type_float.result: log queries mysql-test/r/type_ranges.result: log queries mysql-test/r/type_time.result: log queries mysql-test/r/type_timestamp.result: log queries mysql-test/r/type_uint.result: log queries mysql-test/r/type_year.result: log queries mysql-test/r/union.result: log queries mysql-test/r/update.result: log queries mysql-test/r/user_var.result: log queries mysql-test/r/varbinary.result: log queries mysql-test/r/variables.result: log queries mysql-test/t/bench_count_distinct.test: log queries mysql-test/t/check.test: log queries mysql-test/t/count_distinct2.test: log queries mysql-test/t/flush.test: log queries mysql-test/t/isam.test: log queries mysql-test/t/multi_update.test: log queries mysql-test/t/myisam.test: log queries mysql-test/t/order_fill_sortbuf.test: log queries mysql-test/t/rpl000016.test: log queries tools/managertest1.nc: test for def_exec overwrite tools/mysqlmanager.c: support def_exec overwrite and queries on running server
2001-09-28 07:05:54 +02:00
update t1 set n = 3;
MDEV-11227 - mysqlimport -l doesn't issue UNLOCK TABLES Implementation of MDEV-7660 introduced unwanted incompatible change: modifications under LOCK TABLES with autocommit enabled are rolled back on disconnect. Previously everything was committed, because LOCK TABLES didn't adjust autocommit setting. This patch restores original behavior by reverting some changes done in MDEV-7660: - sql/sql_parse.cc: do not reset autocommit on LOCK TABLES - sql/sql_base.cc: do not set autocommit on UNLOCK TABLES - test cases: main.lock_tables_lost_commit, main.partition_explicit_prune, rpl.rpl_switch_stm_row_mixed, tokudb.nested_txn_implicit_commit, tokudb_bugs.db806 But it makes InnoDB tables under LOCK TABLES ... READ [LOCAL] not protected against DML. To restore protection some changes from WL#6671 were merged, specifically MDL_SHARED_READ_ONLY and test cases. WL#6671 merge highlights: - Not all tests merged. - In MySQL LOCK TABLES ... READ acquires MDL_SHARED_READ_ONLY for all engines, in MariaDB MDL_SHARED_READ is always acquired first and then upgraded to MDL_SHARED_READ_ONLY for InnoDB only. - The above allows us to omit MDL_SHARED_WRITE_LOW_PRIO implementation in MariaDB, which is rather useless with InnoDB. In MySQL it is needed to preserve locking behavior between low priority writes and LOCK TABLES ... READ for non-InnoDB engines (covered by sys_vars.sql_low_priority_updates_func). - Omitted HA_NO_READ_LOCAL_LOCK, we rely on lock_count() instead. - Omitted "piglets": in MariaDB stream of DML against InnoDB table may lead to concurrent LOCK TABLES ... READ starvation. - HANDLER ... OPEN acquires MDL_SHARED_READ instead of MDL_SHARED in MariaDB. - Omitted SNRW->X MDL lock upgrade for IMPORT/DISCARD TABLESPAECE under LOCK TABLES. - Omitted strong locks for views, triggers and SP under LOCK TABLES. - Omitted IX schema lock for LOCK TABLES READ. - Omitted deadlock weight juggling for LOCK TABLES. Full WL#6671 merge status: - innodb.innodb-lock: fully merged - main.alter_table: not merged due to different HANDLER solution - main.debug_sync: fully merged - main.handler_innodb: not merged due to different HANDLER solution - main.handler_myisam: not merged due to different HANDLER solution - main.innodb_mysql_lock: fully merged - main.insert_notembedded: fully merged - main.lock: not merged (due to no strong locks for views) - main.lock_multi: not merged - main.lock_sync: fully merged (partially in MDEV-7660) - main.mdl_sync: not merged - main.partition_debug_sync: not merged due to different HANDLER solution - main.status: fully merged - main.view: fully merged - perfschema.mdl_func: not merged (no such test in MariaDB) - perfschema.table_aggregate_global_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_4u_3t: not merged (didn't fail in MariaDB) - sys_vars.sql_low_priority_updates_func: not merged - include/thr_rwlock.h: not merged, rw_pr_lock_assert_write_owner and rw_pr_lock_assert_not_write_owner are macros in MariaDB - sql/handler.h: not merged (HA_NO_READ_LOCAL_LOCK) - sql/mdl.cc: partially merged (MDL_SHARED_READ_ONLY only) - sql/mdl.h: partially merged (MDL_SHARED_READ_ONLY only) - sql/lock.cc: fully merged - sql/sp_head.cc: not merged - sql/sp_head.h: not merged - sql/sql_base.cc: partially merged (MDL_SHARED_READ_ONLY only) - sql/sql_base.h: not merged - sql/sql_class.cc: fully merged - sql/sql_class.h: fully merged - sql/sql_handler.cc: merged partially (different solution in MariaDB) - sql/sql_parse.cc: partially merged, mostly omitted low priority write part - sql/sql_reload.cc: not merged comment change - sql/sql_table.cc: not merged SNRW->X upgrade for IMPORT/DISCARD TABLESPACE - sql/sql_view.cc: not merged - sql/sql_yacc.yy: not merged (MDL_SHARED_WRITE_LOW_PRIO, MDL_SHARED_READ_ONLY) - sql/table.cc: not merged (MDL_SHARED_WRITE_LOW_PRIO) - sql/table.h: not merged (MDL_SHARED_WRITE_LOW_PRIO) - sql/trigger.cc: not merged - storage/innobase/handler/ha_innodb.cc: merged store_lock()/lock_count() changes (in MDEV-7660), didn't merge HA_NO_READ_LOCAL_LOCK - storage/innobase/handler/ha_innodb.h: fully merged in MDEV-7660 - storage/myisammrg/ha_myisammrg.cc: not merged comment change - storage/perfschema/table_helper.cc: not merged (no MDL support in MariaDB PFS) - unittest/gunit/mdl-t.cc: not merged - unittest/gunit/mdl_sync-t.cc: not merged MariaDB specific changes: - handler.heap: different HANDLER solution, MDEV-7660 - handler.innodb: different HANDLER solution, MDEV-7660 - handler.interface: different HANDLER solution, MDEV-7660 - handler.myisam: different HANDLER solution, MDEV-7660 - main.mdl_sync: MDEV-7660 specific changes - main.partition_debug_sync: removed test due to different HANDLER solution, MDEV-7660 - main.truncate_coverage: removed test due to different HANDLER solution, MDEV-7660 - mysql-test/include/mtr_warnings.sql: additional cleanup, MDEV-7660 - mysql-test/lib/v1/mtr_report.pl: additional cleanup, MDEV-7660 - plugin/metadata_lock_info/metadata_lock_info.cc: not in MySQL - sql/sql_handler.cc: MariaDB specific fix for mysql_ha_read(), MDEV-7660
2016-12-08 11:20:46 +01:00
connection default;
# wait for the second UPDATE to get blocked
select release_lock('mysqltest_lock');
release_lock('mysqltest_lock')
1
connection con2;
MDEV-11227 - mysqlimport -l doesn't issue UNLOCK TABLES Implementation of MDEV-7660 introduced unwanted incompatible change: modifications under LOCK TABLES with autocommit enabled are rolled back on disconnect. Previously everything was committed, because LOCK TABLES didn't adjust autocommit setting. This patch restores original behavior by reverting some changes done in MDEV-7660: - sql/sql_parse.cc: do not reset autocommit on LOCK TABLES - sql/sql_base.cc: do not set autocommit on UNLOCK TABLES - test cases: main.lock_tables_lost_commit, main.partition_explicit_prune, rpl.rpl_switch_stm_row_mixed, tokudb.nested_txn_implicit_commit, tokudb_bugs.db806 But it makes InnoDB tables under LOCK TABLES ... READ [LOCAL] not protected against DML. To restore protection some changes from WL#6671 were merged, specifically MDL_SHARED_READ_ONLY and test cases. WL#6671 merge highlights: - Not all tests merged. - In MySQL LOCK TABLES ... READ acquires MDL_SHARED_READ_ONLY for all engines, in MariaDB MDL_SHARED_READ is always acquired first and then upgraded to MDL_SHARED_READ_ONLY for InnoDB only. - The above allows us to omit MDL_SHARED_WRITE_LOW_PRIO implementation in MariaDB, which is rather useless with InnoDB. In MySQL it is needed to preserve locking behavior between low priority writes and LOCK TABLES ... READ for non-InnoDB engines (covered by sys_vars.sql_low_priority_updates_func). - Omitted HA_NO_READ_LOCAL_LOCK, we rely on lock_count() instead. - Omitted "piglets": in MariaDB stream of DML against InnoDB table may lead to concurrent LOCK TABLES ... READ starvation. - HANDLER ... OPEN acquires MDL_SHARED_READ instead of MDL_SHARED in MariaDB. - Omitted SNRW->X MDL lock upgrade for IMPORT/DISCARD TABLESPAECE under LOCK TABLES. - Omitted strong locks for views, triggers and SP under LOCK TABLES. - Omitted IX schema lock for LOCK TABLES READ. - Omitted deadlock weight juggling for LOCK TABLES. Full WL#6671 merge status: - innodb.innodb-lock: fully merged - main.alter_table: not merged due to different HANDLER solution - main.debug_sync: fully merged - main.handler_innodb: not merged due to different HANDLER solution - main.handler_myisam: not merged due to different HANDLER solution - main.innodb_mysql_lock: fully merged - main.insert_notembedded: fully merged - main.lock: not merged (due to no strong locks for views) - main.lock_multi: not merged - main.lock_sync: fully merged (partially in MDEV-7660) - main.mdl_sync: not merged - main.partition_debug_sync: not merged due to different HANDLER solution - main.status: fully merged - main.view: fully merged - perfschema.mdl_func: not merged (no such test in MariaDB) - perfschema.table_aggregate_global_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_4u_3t: not merged (didn't fail in MariaDB) - sys_vars.sql_low_priority_updates_func: not merged - include/thr_rwlock.h: not merged, rw_pr_lock_assert_write_owner and rw_pr_lock_assert_not_write_owner are macros in MariaDB - sql/handler.h: not merged (HA_NO_READ_LOCAL_LOCK) - sql/mdl.cc: partially merged (MDL_SHARED_READ_ONLY only) - sql/mdl.h: partially merged (MDL_SHARED_READ_ONLY only) - sql/lock.cc: fully merged - sql/sp_head.cc: not merged - sql/sp_head.h: not merged - sql/sql_base.cc: partially merged (MDL_SHARED_READ_ONLY only) - sql/sql_base.h: not merged - sql/sql_class.cc: fully merged - sql/sql_class.h: fully merged - sql/sql_handler.cc: merged partially (different solution in MariaDB) - sql/sql_parse.cc: partially merged, mostly omitted low priority write part - sql/sql_reload.cc: not merged comment change - sql/sql_table.cc: not merged SNRW->X upgrade for IMPORT/DISCARD TABLESPACE - sql/sql_view.cc: not merged - sql/sql_yacc.yy: not merged (MDL_SHARED_WRITE_LOW_PRIO, MDL_SHARED_READ_ONLY) - sql/table.cc: not merged (MDL_SHARED_WRITE_LOW_PRIO) - sql/table.h: not merged (MDL_SHARED_WRITE_LOW_PRIO) - sql/trigger.cc: not merged - storage/innobase/handler/ha_innodb.cc: merged store_lock()/lock_count() changes (in MDEV-7660), didn't merge HA_NO_READ_LOCAL_LOCK - storage/innobase/handler/ha_innodb.h: fully merged in MDEV-7660 - storage/myisammrg/ha_myisammrg.cc: not merged comment change - storage/perfschema/table_helper.cc: not merged (no MDL support in MariaDB PFS) - unittest/gunit/mdl-t.cc: not merged - unittest/gunit/mdl_sync-t.cc: not merged MariaDB specific changes: - handler.heap: different HANDLER solution, MDEV-7660 - handler.innodb: different HANDLER solution, MDEV-7660 - handler.interface: different HANDLER solution, MDEV-7660 - handler.myisam: different HANDLER solution, MDEV-7660 - main.mdl_sync: MDEV-7660 specific changes - main.partition_debug_sync: removed test due to different HANDLER solution, MDEV-7660 - main.truncate_coverage: removed test due to different HANDLER solution, MDEV-7660 - mysql-test/include/mtr_warnings.sql: additional cleanup, MDEV-7660 - mysql-test/lib/v1/mtr_report.pl: additional cleanup, MDEV-7660 - plugin/metadata_lock_info/metadata_lock_info.cc: not in MySQL - sql/sql_handler.cc: MariaDB specific fix for mysql_ha_read(), MDEV-7660
2016-12-08 11:20:46 +01:00
# Reaping first UPDATE
select release_lock('mysqltest_lock');
release_lock('mysqltest_lock')
1
connection con1;
MDEV-11227 - mysqlimport -l doesn't issue UNLOCK TABLES Implementation of MDEV-7660 introduced unwanted incompatible change: modifications under LOCK TABLES with autocommit enabled are rolled back on disconnect. Previously everything was committed, because LOCK TABLES didn't adjust autocommit setting. This patch restores original behavior by reverting some changes done in MDEV-7660: - sql/sql_parse.cc: do not reset autocommit on LOCK TABLES - sql/sql_base.cc: do not set autocommit on UNLOCK TABLES - test cases: main.lock_tables_lost_commit, main.partition_explicit_prune, rpl.rpl_switch_stm_row_mixed, tokudb.nested_txn_implicit_commit, tokudb_bugs.db806 But it makes InnoDB tables under LOCK TABLES ... READ [LOCAL] not protected against DML. To restore protection some changes from WL#6671 were merged, specifically MDL_SHARED_READ_ONLY and test cases. WL#6671 merge highlights: - Not all tests merged. - In MySQL LOCK TABLES ... READ acquires MDL_SHARED_READ_ONLY for all engines, in MariaDB MDL_SHARED_READ is always acquired first and then upgraded to MDL_SHARED_READ_ONLY for InnoDB only. - The above allows us to omit MDL_SHARED_WRITE_LOW_PRIO implementation in MariaDB, which is rather useless with InnoDB. In MySQL it is needed to preserve locking behavior between low priority writes and LOCK TABLES ... READ for non-InnoDB engines (covered by sys_vars.sql_low_priority_updates_func). - Omitted HA_NO_READ_LOCAL_LOCK, we rely on lock_count() instead. - Omitted "piglets": in MariaDB stream of DML against InnoDB table may lead to concurrent LOCK TABLES ... READ starvation. - HANDLER ... OPEN acquires MDL_SHARED_READ instead of MDL_SHARED in MariaDB. - Omitted SNRW->X MDL lock upgrade for IMPORT/DISCARD TABLESPAECE under LOCK TABLES. - Omitted strong locks for views, triggers and SP under LOCK TABLES. - Omitted IX schema lock for LOCK TABLES READ. - Omitted deadlock weight juggling for LOCK TABLES. Full WL#6671 merge status: - innodb.innodb-lock: fully merged - main.alter_table: not merged due to different HANDLER solution - main.debug_sync: fully merged - main.handler_innodb: not merged due to different HANDLER solution - main.handler_myisam: not merged due to different HANDLER solution - main.innodb_mysql_lock: fully merged - main.insert_notembedded: fully merged - main.lock: not merged (due to no strong locks for views) - main.lock_multi: not merged - main.lock_sync: fully merged (partially in MDEV-7660) - main.mdl_sync: not merged - main.partition_debug_sync: not merged due to different HANDLER solution - main.status: fully merged - main.view: fully merged - perfschema.mdl_func: not merged (no such test in MariaDB) - perfschema.table_aggregate_global_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_4u_3t: not merged (didn't fail in MariaDB) - sys_vars.sql_low_priority_updates_func: not merged - include/thr_rwlock.h: not merged, rw_pr_lock_assert_write_owner and rw_pr_lock_assert_not_write_owner are macros in MariaDB - sql/handler.h: not merged (HA_NO_READ_LOCAL_LOCK) - sql/mdl.cc: partially merged (MDL_SHARED_READ_ONLY only) - sql/mdl.h: partially merged (MDL_SHARED_READ_ONLY only) - sql/lock.cc: fully merged - sql/sp_head.cc: not merged - sql/sp_head.h: not merged - sql/sql_base.cc: partially merged (MDL_SHARED_READ_ONLY only) - sql/sql_base.h: not merged - sql/sql_class.cc: fully merged - sql/sql_class.h: fully merged - sql/sql_handler.cc: merged partially (different solution in MariaDB) - sql/sql_parse.cc: partially merged, mostly omitted low priority write part - sql/sql_reload.cc: not merged comment change - sql/sql_table.cc: not merged SNRW->X upgrade for IMPORT/DISCARD TABLESPACE - sql/sql_view.cc: not merged - sql/sql_yacc.yy: not merged (MDL_SHARED_WRITE_LOW_PRIO, MDL_SHARED_READ_ONLY) - sql/table.cc: not merged (MDL_SHARED_WRITE_LOW_PRIO) - sql/table.h: not merged (MDL_SHARED_WRITE_LOW_PRIO) - sql/trigger.cc: not merged - storage/innobase/handler/ha_innodb.cc: merged store_lock()/lock_count() changes (in MDEV-7660), didn't merge HA_NO_READ_LOCAL_LOCK - storage/innobase/handler/ha_innodb.h: fully merged in MDEV-7660 - storage/myisammrg/ha_myisammrg.cc: not merged comment change - storage/perfschema/table_helper.cc: not merged (no MDL support in MariaDB PFS) - unittest/gunit/mdl-t.cc: not merged - unittest/gunit/mdl_sync-t.cc: not merged MariaDB specific changes: - handler.heap: different HANDLER solution, MDEV-7660 - handler.innodb: different HANDLER solution, MDEV-7660 - handler.interface: different HANDLER solution, MDEV-7660 - handler.myisam: different HANDLER solution, MDEV-7660 - main.mdl_sync: MDEV-7660 specific changes - main.partition_debug_sync: removed test due to different HANDLER solution, MDEV-7660 - main.truncate_coverage: removed test due to different HANDLER solution, MDEV-7660 - mysql-test/include/mtr_warnings.sql: additional cleanup, MDEV-7660 - mysql-test/lib/v1/mtr_report.pl: additional cleanup, MDEV-7660 - plugin/metadata_lock_info/metadata_lock_info.cc: not in MySQL - sql/sql_handler.cc: MariaDB specific fix for mysql_ha_read(), MDEV-7660
2016-12-08 11:20:46 +01:00
# Reaping second UPDATE
show status like 'Table_locks_waited';
Variable_name Value
Table_locks_waited 1
MDEV-11227 - mysqlimport -l doesn't issue UNLOCK TABLES Implementation of MDEV-7660 introduced unwanted incompatible change: modifications under LOCK TABLES with autocommit enabled are rolled back on disconnect. Previously everything was committed, because LOCK TABLES didn't adjust autocommit setting. This patch restores original behavior by reverting some changes done in MDEV-7660: - sql/sql_parse.cc: do not reset autocommit on LOCK TABLES - sql/sql_base.cc: do not set autocommit on UNLOCK TABLES - test cases: main.lock_tables_lost_commit, main.partition_explicit_prune, rpl.rpl_switch_stm_row_mixed, tokudb.nested_txn_implicit_commit, tokudb_bugs.db806 But it makes InnoDB tables under LOCK TABLES ... READ [LOCAL] not protected against DML. To restore protection some changes from WL#6671 were merged, specifically MDL_SHARED_READ_ONLY and test cases. WL#6671 merge highlights: - Not all tests merged. - In MySQL LOCK TABLES ... READ acquires MDL_SHARED_READ_ONLY for all engines, in MariaDB MDL_SHARED_READ is always acquired first and then upgraded to MDL_SHARED_READ_ONLY for InnoDB only. - The above allows us to omit MDL_SHARED_WRITE_LOW_PRIO implementation in MariaDB, which is rather useless with InnoDB. In MySQL it is needed to preserve locking behavior between low priority writes and LOCK TABLES ... READ for non-InnoDB engines (covered by sys_vars.sql_low_priority_updates_func). - Omitted HA_NO_READ_LOCAL_LOCK, we rely on lock_count() instead. - Omitted "piglets": in MariaDB stream of DML against InnoDB table may lead to concurrent LOCK TABLES ... READ starvation. - HANDLER ... OPEN acquires MDL_SHARED_READ instead of MDL_SHARED in MariaDB. - Omitted SNRW->X MDL lock upgrade for IMPORT/DISCARD TABLESPAECE under LOCK TABLES. - Omitted strong locks for views, triggers and SP under LOCK TABLES. - Omitted IX schema lock for LOCK TABLES READ. - Omitted deadlock weight juggling for LOCK TABLES. Full WL#6671 merge status: - innodb.innodb-lock: fully merged - main.alter_table: not merged due to different HANDLER solution - main.debug_sync: fully merged - main.handler_innodb: not merged due to different HANDLER solution - main.handler_myisam: not merged due to different HANDLER solution - main.innodb_mysql_lock: fully merged - main.insert_notembedded: fully merged - main.lock: not merged (due to no strong locks for views) - main.lock_multi: not merged - main.lock_sync: fully merged (partially in MDEV-7660) - main.mdl_sync: not merged - main.partition_debug_sync: not merged due to different HANDLER solution - main.status: fully merged - main.view: fully merged - perfschema.mdl_func: not merged (no such test in MariaDB) - perfschema.table_aggregate_global_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_global_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_hist_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_aggregate_thread_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_global_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_hist_4u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_2u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_2u_3t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_4u_2t: not merged (didn't fail in MariaDB) - perfschema.table_lock_aggregate_thread_4u_3t: not merged (didn't fail in MariaDB) - sys_vars.sql_low_priority_updates_func: not merged - include/thr_rwlock.h: not merged, rw_pr_lock_assert_write_owner and rw_pr_lock_assert_not_write_owner are macros in MariaDB - sql/handler.h: not merged (HA_NO_READ_LOCAL_LOCK) - sql/mdl.cc: partially merged (MDL_SHARED_READ_ONLY only) - sql/mdl.h: partially merged (MDL_SHARED_READ_ONLY only) - sql/lock.cc: fully merged - sql/sp_head.cc: not merged - sql/sp_head.h: not merged - sql/sql_base.cc: partially merged (MDL_SHARED_READ_ONLY only) - sql/sql_base.h: not merged - sql/sql_class.cc: fully merged - sql/sql_class.h: fully merged - sql/sql_handler.cc: merged partially (different solution in MariaDB) - sql/sql_parse.cc: partially merged, mostly omitted low priority write part - sql/sql_reload.cc: not merged comment change - sql/sql_table.cc: not merged SNRW->X upgrade for IMPORT/DISCARD TABLESPACE - sql/sql_view.cc: not merged - sql/sql_yacc.yy: not merged (MDL_SHARED_WRITE_LOW_PRIO, MDL_SHARED_READ_ONLY) - sql/table.cc: not merged (MDL_SHARED_WRITE_LOW_PRIO) - sql/table.h: not merged (MDL_SHARED_WRITE_LOW_PRIO) - sql/trigger.cc: not merged - storage/innobase/handler/ha_innodb.cc: merged store_lock()/lock_count() changes (in MDEV-7660), didn't merge HA_NO_READ_LOCAL_LOCK - storage/innobase/handler/ha_innodb.h: fully merged in MDEV-7660 - storage/myisammrg/ha_myisammrg.cc: not merged comment change - storage/perfschema/table_helper.cc: not merged (no MDL support in MariaDB PFS) - unittest/gunit/mdl-t.cc: not merged - unittest/gunit/mdl_sync-t.cc: not merged MariaDB specific changes: - handler.heap: different HANDLER solution, MDEV-7660 - handler.innodb: different HANDLER solution, MDEV-7660 - handler.interface: different HANDLER solution, MDEV-7660 - handler.myisam: different HANDLER solution, MDEV-7660 - main.mdl_sync: MDEV-7660 specific changes - main.partition_debug_sync: removed test due to different HANDLER solution, MDEV-7660 - main.truncate_coverage: removed test due to different HANDLER solution, MDEV-7660 - mysql-test/include/mtr_warnings.sql: additional cleanup, MDEV-7660 - mysql-test/lib/v1/mtr_report.pl: additional cleanup, MDEV-7660 - plugin/metadata_lock_info/metadata_lock_info.cc: not in MySQL - sql/sql_handler.cc: MariaDB specific fix for mysql_ha_read(), MDEV-7660
2016-12-08 11:20:46 +01:00
connection default;
client/mysqlmanagerc.c added support for quiet increased line buffer size client/mysqltest.c fixed memory leak added query logging to result file added error message logging to result file added enable_query_log/disable_query_log mysql-test/mysql-test-run.sh converted tests to use mysqlmanager Updated test results BitKeeper/etc/ignore: added *.reject client/mysqlmanagerc.c: added support for quiet increased line buffer size client/mysqltest.c: fixed memory leak added query logging to result file added error message logging to result file added enable_query_log/disable_query_log mysql-test/mysql-test-run.sh: converted tests to use mysqlmanager mysql-test/r/alias.result: log queries mysql-test/r/alter_table.result: log queries mysql-test/r/analyse.result: log queries mysql-test/r/auto_increment.result: log queries mysql-test/r/backup.result: log queries mysql-test/r/bdb-crash.result: log queries mysql-test/r/bench_count_distinct.result: log queries mysql-test/r/bigint.result: log queries mysql-test/r/binary.result: log queries mysql-test/r/bulk_replace.result: log queries mysql-test/r/case.result: log queries mysql-test/r/check.result: log queries mysql-test/r/comments.result: log queries mysql-test/r/compare.result: log queries mysql-test/r/count_distinct.result: log queries mysql-test/r/count_distinct2.result: log queries mysql-test/r/create.result: log queries mysql-test/r/ctype_latin1_de.result: log queries mysql-test/r/delayed.result: log queries mysql-test/r/dirty-close.result: log queries mysql-test/r/distinct.result: log queries mysql-test/r/drop.result: log queries mysql-test/r/empty_table.result: log queries mysql-test/r/explain.result: log queries mysql-test/r/flush.result: log queries mysql-test/r/fulltext.result: log queries mysql-test/r/fulltext_cache.result: log queries mysql-test/r/fulltext_distinct.result: log queries mysql-test/r/fulltext_left_join.result: log queries mysql-test/r/fulltext_multi.result: log queries mysql-test/r/fulltext_order_by.result: log queries mysql-test/r/fulltext_update.result: log queries mysql-test/r/fulltext_var.result: log queries mysql-test/r/func_crypt.result: log queries mysql-test/r/func_date_add.result: log queries mysql-test/r/func_equal.result: log queries mysql-test/r/func_group.result: log queries mysql-test/r/func_in.result: log queries mysql-test/r/func_like.result: log queries mysql-test/r/func_math.result: log queries mysql-test/r/func_misc.result: log queries mysql-test/r/func_op.result: log queries mysql-test/r/func_regexp.result: log queries mysql-test/r/func_set.result: log queries mysql-test/r/func_str.result: log queries mysql-test/r/func_system.result: log queries mysql-test/r/func_test.result: log queries mysql-test/r/func_time.result: log queries mysql-test/r/func_timestamp.result: log queries mysql-test/r/group_by.result: log queries mysql-test/r/handler.result: log queries mysql-test/r/having.result: log queries mysql-test/r/heap.result: log queries mysql-test/r/identity.result: log queries mysql-test/r/ins000001.result: log queries mysql-test/r/insert.result: log queries mysql-test/r/insert_select.result: log queries mysql-test/r/isam.result: log queries mysql-test/r/join.result: log queries mysql-test/r/join_crash.result: log queries mysql-test/r/join_outer.result: log queries mysql-test/r/key.result: log queries mysql-test/r/key_diff.result: log queries mysql-test/r/key_primary.result: log queries mysql-test/r/keywords.result: log queries mysql-test/r/kill.result: log queries mysql-test/r/limit.result: log queries mysql-test/r/lock.result: log queries mysql-test/r/merge.result: log queries mysql-test/r/multi_update.result: log queries mysql-test/r/myisam.result: log queries mysql-test/r/null.result: log queries mysql-test/r/null_key.result: log queries mysql-test/r/odbc.result: log queries mysql-test/r/openssl_1.result: log queries mysql-test/r/openssl_2.result: log queries mysql-test/r/order_by.result: log queries mysql-test/r/order_fill_sortbuf.result: log queries mysql-test/r/raid.result: log queries mysql-test/r/range.result: log queries mysql-test/r/rename.result: log queries mysql-test/r/replace.result: log queries mysql-test/r/rollback.result: log queries mysql-test/r/rpl000001.result: log queries mysql-test/r/rpl000002.result: log queries mysql-test/r/rpl000003.result: log queries mysql-test/r/rpl000004.result: log queries mysql-test/r/rpl000005.result: log queries mysql-test/r/rpl000006.result: log queries mysql-test/r/rpl000007.result: log queries mysql-test/r/rpl000008.result: log queries mysql-test/r/rpl000009.result: log queries mysql-test/r/rpl000010.result: log queries mysql-test/r/rpl000011.result: log queries mysql-test/r/rpl000012.result: log queries mysql-test/r/rpl000013.result: log queries mysql-test/r/rpl000014.result: log queries mysql-test/r/rpl000015.result: log queries mysql-test/r/rpl000016.result: log queries mysql-test/r/rpl000017.result: log queries mysql-test/r/rpl000018.result: log queries mysql-test/r/rpl_get_lock.result: log queries mysql-test/r/rpl_log.result: log queries mysql-test/r/rpl_magic.result: log queries mysql-test/r/rpl_mystery22.result: log queries mysql-test/r/rpl_sporadic_master.result: log queries mysql-test/r/sel000001.result: log queries mysql-test/r/sel000002.result: log queries mysql-test/r/sel000003.result: log queries mysql-test/r/sel000031.result: log queries mysql-test/r/sel000032.result: log queries mysql-test/r/sel000033.result: log queries mysql-test/r/sel000100.result: log queries mysql-test/r/select.result: log queries mysql-test/r/select_found.result: log queries mysql-test/r/select_safe.result: log queries mysql-test/r/show_check.result: log queries mysql-test/r/slave-running.result: log queries mysql-test/r/slave-stopped.result: log queries mysql-test/r/status.result: log queries mysql-test/r/symlink.result: log queries mysql-test/r/tablelock.result: log queries mysql-test/r/temp_table.result: log queries mysql-test/r/truncate.result: log queries mysql-test/r/type_blob.result: log queries mysql-test/r/type_date.result: log queries mysql-test/r/type_datetime.result: log queries mysql-test/r/type_decimal.result: log queries mysql-test/r/type_enum.result: log queries mysql-test/r/type_float.result: log queries mysql-test/r/type_ranges.result: log queries mysql-test/r/type_time.result: log queries mysql-test/r/type_timestamp.result: log queries mysql-test/r/type_uint.result: log queries mysql-test/r/type_year.result: log queries mysql-test/r/union.result: log queries mysql-test/r/update.result: log queries mysql-test/r/user_var.result: log queries mysql-test/r/varbinary.result: log queries mysql-test/r/variables.result: log queries mysql-test/t/bench_count_distinct.test: log queries mysql-test/t/check.test: log queries mysql-test/t/count_distinct2.test: log queries mysql-test/t/flush.test: log queries mysql-test/t/isam.test: log queries mysql-test/t/multi_update.test: log queries mysql-test/t/myisam.test: log queries mysql-test/t/order_fill_sortbuf.test: log queries mysql-test/t/rpl000016.test: log queries tools/managertest1.nc: test for def_exec overwrite tools/mysqlmanager.c: support def_exec overwrite and queries on running server
2001-09-28 07:05:54 +02:00
drop table t1;
set global general_log = @old_general_log;
disconnect con2;
disconnect con1;
select 1;
1
1
show status like 'last_query_cost';
Variable_name Value
Last_query_cost 0.000000
SHOW STATUS does not anymore change local status variables (except com_show_status). Global status variables are still updated. SHOW STATUS are not anymore put in slow query log because of no index usage. Implemntation done by removing orig_sql_command and moving logic of SHOW STATUS to mysql_excute_command() This simplifies code and allows us to remove some if statements all over the code. Upgraded uc_update_queries[] to sql_command_flags and added more bitmaps to better categorize commands. This allowed some overall simplifaction when testing sql_command. Fixes bugs: Bug#10210: running SHOW STATUS increments counters it shouldn't Bug#19764: SHOW commands end up in the slow log as table scans mysql-test/r/grant_cache.result: Fixed results after SHOW STATUS doesn't anymore affect status variables mysql-test/r/information_schema.result: Added extra test to cover more code mysql-test/r/query_cache.result: Remove resuts from previous tests mysql-test/r/status.result: Added more tests for testing of last_query_cost and how SHOW STATUS affects status variables. (Bug#10210) mysql-test/r/temp_table.result: Fixed results after SHOW STATUS doesn't anymore affect status variables mysql-test/r/union.result: Fixed results after SHOW STATUS is not logged to slow query log (Bug#19764) mysql-test/t/events_microsec.test: Disable warnings at init mysql-test/t/information_schema.test: Added extra test to cover more code mysql-test/t/query_cache.test: Remove resuts from previous tests mysql-test/t/status.test: Added more tests for testing of last_query_cost and how SHOW STATUS affects status variables. (Bug #10210) sql/mysql_priv.h: Added 'sql_command_flags' sql/sql_class.cc: New function add_diff_to_status(), used to update global status variables when using SHOW STATUS sql/sql_class.h: New function 'fill_information_schema_tables()' (One could not anymore use fill_derived_tables() for this as only_view_structures() is not relevant for information schema tables) Added defines for bit flags in sql_command_flags[] sql/sql_lex.cc: Remove orig_sql_command sql/sql_lex.h: Remove orig_sql_command sql/sql_parse.cc: Rename uc_update_queries -> sql_command_flags. Enhanced 'sql_command_flags' to better classify SQL commands uc_update_queries[] != 0 is changed to (sql_command_flags[] & CF_CHANGES_DATA) lex->orig_sql_command == SQLCOM_END is changed to (sql_command_flags[lex->sql_command] & CF_STATUS_COMMAND) == 0) Simplify incrementing of thd->status_var.com_stat[] as we don't have to do special handling for SHOW commands. Split SQLCOM_SELECT handling in mysql_execute_command() to a separate function. Added special handling of SHOW STATUS commands in mysql_execute_command() and call common SQLCOM_SELECT handling. These changes allows us to easily fix that we save and restore status variables during execution of a SHOW STATUS command. Don't log SHOW STATUS commands to slow query log. This fixes Bug#10210 and Bug#19764 without adding additional 'if' code. (The new code is faster than the original as we now have fewer if's than before) sql/sql_prepare.cc: Clean up prepare-check handling of SQLCOM commands by using sql_command_flags[] This simplifes code and ensures that code works even if someone forgets to put a new status commands into the switch statement. sql/sql_select.cc: Remove special handling of SHOW STATUS. (This is now done in SQLCOM_SHOW_STATUS part in mysql_execute_command()) sql/sql_show.cc: Remove orig_sql_command Only change sql_command during 'open_normal_and_derived_tables()' (for views) and not for the full duration of generating data. Changed 'show status' to use thd->initial_status_var to ensure that the current statement is not affecting the to-be-used values. Use thd->fill_information_schema_tables() instead of 'thd->fill_derived_tables()' as the later wrongly checks the value of sql_command. sql/sql_yacc.yy: Remove usage of orig_sql_command. One side effect of this is that we need to test for cursors if the current command is a SELECT or a SHOW command. sql/structs.h: Updated comment
2006-06-20 12:20:32 +02:00
create table t1 (a int);
insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
select * from t1 where a=6;
a
6
6
6
6
6
show status like 'last_query_cost';
Variable_name Value
Last_query_cost 12.084449
show status like 'last_query_cost';
Variable_name Value
Last_query_cost 12.084449
select 1;
1
1
show status like 'last_query_cost';
Variable_name Value
Last_query_cost 0.000000
drop table t1;
FLUSH STATUS;
SHOW STATUS LIKE 'max_used_connections';
Variable_name Value
WL #3337 (Event scheduler new architecture) Cut Nr. 8. All tests pass. Separated Event_scheduler into Event_queue and Event_scheduler. Added new Event_scheduler_ng which is the new scheduler and is used system-wide. Will be moved to the event_scheduler.cc in the future. Using Event_timed in Event_queue as well as cloned during execution. Next step is to have Event_worker_data which will be used during execution and will take ::compile()/::execute() out of Event_timed. mysql-test/r/events.result: update result mysql-test/r/events_bugs.result: update result mysql-test/r/ps_1general.result: update result mysql-test/r/skip_name_resolve.result: update result mysql-test/r/sp-threads.result: update result mysql-test/r/sp_notembedded.result: update result mysql-test/r/status.result: update result mysql-test/t/events_stress.test: Make event_stress a bit longer sql/Makefile.am: Add new event_scheduler_ng.h/cc . These are only to be in the experimental clone. Later their content will be moved to event_scheduler.h/cc sql/event_data_objects.cc: Allocate strings memory on own memory root, instead on the schedulers. Thus don't "leak" memory. This should fix bug#18683 memory leak in event scheduler sql/event_data_objects.h: add mem_root add THD - this is only temporal, will be moved to class Event_job_data once Event_job_data is responsible for the execution. sql/event_db_repository.cc: Remove unused code. Cosmetic changes sql/event_queue.cc: Now use the Event_scheduler_ng (NextGen) sql/event_queue.h: Now use the Event_scheduler_ng (NextGen) sql/event_scheduler.cc: This file is no more used, but will be soon. sql/event_scheduler.h: This file is no more used but will be soon sql/events.cc: Now use the Event_scheduler_ng (NextGen) sql/events.h: Now use the Event_scheduler_ng (NextGen) sql/mysqld.cc: Make it again possible to kill the scheduler thread sql/set_var.cc: Now use the Event_scheduler_ng (NextGen) sql/share/errmsg.txt: Shorten the message. sql/sql_show.cc: Loading is on a own root, then don't use thd->mem_root
2006-07-04 18:44:35 +02:00
Max_used_connections 1
WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. mysql-test/r/information_schema.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed test cases result (changes are due to the new tables added). mysql-test/r/information_schema_db.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed test cases result (changes are due to the new tables added). mysql-test/r/status.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed results for added testcases. mysql-test/r/variables.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed results for added test cases. mysql-test/t/status.test: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Added test cases. mysql-test/t/variables.test: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Added test cases. sql/sql_show.cc: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Implementation of the new I_S tables. Also, show_status_array(): argument 'ucase_names' is added (true means that all variable names are to be converted to upper case). sql/table.h: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Implementation of the new I_S tables.
2006-09-14 01:37:40 +02:00
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_used_connections';
VARIABLE_NAME VARIABLE_VALUE
MAX_USED_CONNECTIONS 1
SET @save_thread_cache_size=@@thread_cache_size;
SET GLOBAL thread_cache_size=3;
connect con1,localhost,root,,;
connect con2,localhost,root,,;
connection con1;
disconnect con2;
SHOW STATUS LIKE 'max_used_connections';
Variable_name Value
WL #3337 (Event scheduler new architecture) Cut Nr. 8. All tests pass. Separated Event_scheduler into Event_queue and Event_scheduler. Added new Event_scheduler_ng which is the new scheduler and is used system-wide. Will be moved to the event_scheduler.cc in the future. Using Event_timed in Event_queue as well as cloned during execution. Next step is to have Event_worker_data which will be used during execution and will take ::compile()/::execute() out of Event_timed. mysql-test/r/events.result: update result mysql-test/r/events_bugs.result: update result mysql-test/r/ps_1general.result: update result mysql-test/r/skip_name_resolve.result: update result mysql-test/r/sp-threads.result: update result mysql-test/r/sp_notembedded.result: update result mysql-test/r/status.result: update result mysql-test/t/events_stress.test: Make event_stress a bit longer sql/Makefile.am: Add new event_scheduler_ng.h/cc . These are only to be in the experimental clone. Later their content will be moved to event_scheduler.h/cc sql/event_data_objects.cc: Allocate strings memory on own memory root, instead on the schedulers. Thus don't "leak" memory. This should fix bug#18683 memory leak in event scheduler sql/event_data_objects.h: add mem_root add THD - this is only temporal, will be moved to class Event_job_data once Event_job_data is responsible for the execution. sql/event_db_repository.cc: Remove unused code. Cosmetic changes sql/event_queue.cc: Now use the Event_scheduler_ng (NextGen) sql/event_queue.h: Now use the Event_scheduler_ng (NextGen) sql/event_scheduler.cc: This file is no more used, but will be soon. sql/event_scheduler.h: This file is no more used but will be soon sql/events.cc: Now use the Event_scheduler_ng (NextGen) sql/events.h: Now use the Event_scheduler_ng (NextGen) sql/mysqld.cc: Make it again possible to kill the scheduler thread sql/set_var.cc: Now use the Event_scheduler_ng (NextGen) sql/share/errmsg.txt: Shorten the message. sql/sql_show.cc: Loading is on a own root, then don't use thd->mem_root
2006-07-04 18:44:35 +02:00
Max_used_connections 3
WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. mysql-test/r/information_schema.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed test cases result (changes are due to the new tables added). mysql-test/r/information_schema_db.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed test cases result (changes are due to the new tables added). mysql-test/r/status.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed results for added testcases. mysql-test/r/variables.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed results for added test cases. mysql-test/t/status.test: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Added test cases. mysql-test/t/variables.test: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Added test cases. sql/sql_show.cc: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Implementation of the new I_S tables. Also, show_status_array(): argument 'ucase_names' is added (true means that all variable names are to be converted to upper case). sql/table.h: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Implementation of the new I_S tables.
2006-09-14 01:37:40 +02:00
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_used_connections';
VARIABLE_NAME VARIABLE_VALUE
MAX_USED_CONNECTIONS 3
FLUSH STATUS;
SHOW STATUS LIKE 'max_used_connections';
Variable_name Value
WL #3337 (Event scheduler new architecture) Cut Nr. 8. All tests pass. Separated Event_scheduler into Event_queue and Event_scheduler. Added new Event_scheduler_ng which is the new scheduler and is used system-wide. Will be moved to the event_scheduler.cc in the future. Using Event_timed in Event_queue as well as cloned during execution. Next step is to have Event_worker_data which will be used during execution and will take ::compile()/::execute() out of Event_timed. mysql-test/r/events.result: update result mysql-test/r/events_bugs.result: update result mysql-test/r/ps_1general.result: update result mysql-test/r/skip_name_resolve.result: update result mysql-test/r/sp-threads.result: update result mysql-test/r/sp_notembedded.result: update result mysql-test/r/status.result: update result mysql-test/t/events_stress.test: Make event_stress a bit longer sql/Makefile.am: Add new event_scheduler_ng.h/cc . These are only to be in the experimental clone. Later their content will be moved to event_scheduler.h/cc sql/event_data_objects.cc: Allocate strings memory on own memory root, instead on the schedulers. Thus don't "leak" memory. This should fix bug#18683 memory leak in event scheduler sql/event_data_objects.h: add mem_root add THD - this is only temporal, will be moved to class Event_job_data once Event_job_data is responsible for the execution. sql/event_db_repository.cc: Remove unused code. Cosmetic changes sql/event_queue.cc: Now use the Event_scheduler_ng (NextGen) sql/event_queue.h: Now use the Event_scheduler_ng (NextGen) sql/event_scheduler.cc: This file is no more used, but will be soon. sql/event_scheduler.h: This file is no more used but will be soon sql/events.cc: Now use the Event_scheduler_ng (NextGen) sql/events.h: Now use the Event_scheduler_ng (NextGen) sql/mysqld.cc: Make it again possible to kill the scheduler thread sql/set_var.cc: Now use the Event_scheduler_ng (NextGen) sql/share/errmsg.txt: Shorten the message. sql/sql_show.cc: Loading is on a own root, then don't use thd->mem_root
2006-07-04 18:44:35 +02:00
Max_used_connections 2
WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. mysql-test/r/information_schema.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed test cases result (changes are due to the new tables added). mysql-test/r/information_schema_db.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed test cases result (changes are due to the new tables added). mysql-test/r/status.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed results for added testcases. mysql-test/r/variables.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed results for added test cases. mysql-test/t/status.test: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Added test cases. mysql-test/t/variables.test: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Added test cases. sql/sql_show.cc: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Implementation of the new I_S tables. Also, show_status_array(): argument 'ucase_names' is added (true means that all variable names are to be converted to upper case). sql/table.h: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Implementation of the new I_S tables.
2006-09-14 01:37:40 +02:00
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_used_connections';
VARIABLE_NAME VARIABLE_VALUE
MAX_USED_CONNECTIONS 2
connect con2,localhost,root,,;
SHOW STATUS LIKE 'max_used_connections';
Variable_name Value
WL #3337 (Event scheduler new architecture) Cut Nr. 8. All tests pass. Separated Event_scheduler into Event_queue and Event_scheduler. Added new Event_scheduler_ng which is the new scheduler and is used system-wide. Will be moved to the event_scheduler.cc in the future. Using Event_timed in Event_queue as well as cloned during execution. Next step is to have Event_worker_data which will be used during execution and will take ::compile()/::execute() out of Event_timed. mysql-test/r/events.result: update result mysql-test/r/events_bugs.result: update result mysql-test/r/ps_1general.result: update result mysql-test/r/skip_name_resolve.result: update result mysql-test/r/sp-threads.result: update result mysql-test/r/sp_notembedded.result: update result mysql-test/r/status.result: update result mysql-test/t/events_stress.test: Make event_stress a bit longer sql/Makefile.am: Add new event_scheduler_ng.h/cc . These are only to be in the experimental clone. Later their content will be moved to event_scheduler.h/cc sql/event_data_objects.cc: Allocate strings memory on own memory root, instead on the schedulers. Thus don't "leak" memory. This should fix bug#18683 memory leak in event scheduler sql/event_data_objects.h: add mem_root add THD - this is only temporal, will be moved to class Event_job_data once Event_job_data is responsible for the execution. sql/event_db_repository.cc: Remove unused code. Cosmetic changes sql/event_queue.cc: Now use the Event_scheduler_ng (NextGen) sql/event_queue.h: Now use the Event_scheduler_ng (NextGen) sql/event_scheduler.cc: This file is no more used, but will be soon. sql/event_scheduler.h: This file is no more used but will be soon sql/events.cc: Now use the Event_scheduler_ng (NextGen) sql/events.h: Now use the Event_scheduler_ng (NextGen) sql/mysqld.cc: Make it again possible to kill the scheduler thread sql/set_var.cc: Now use the Event_scheduler_ng (NextGen) sql/share/errmsg.txt: Shorten the message. sql/sql_show.cc: Loading is on a own root, then don't use thd->mem_root
2006-07-04 18:44:35 +02:00
Max_used_connections 3
WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. mysql-test/r/information_schema.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed test cases result (changes are due to the new tables added). mysql-test/r/information_schema_db.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed test cases result (changes are due to the new tables added). mysql-test/r/status.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed results for added testcases. mysql-test/r/variables.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed results for added test cases. mysql-test/t/status.test: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Added test cases. mysql-test/t/variables.test: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Added test cases. sql/sql_show.cc: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Implementation of the new I_S tables. Also, show_status_array(): argument 'ucase_names' is added (true means that all variable names are to be converted to upper case). sql/table.h: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Implementation of the new I_S tables.
2006-09-14 01:37:40 +02:00
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_used_connections';
VARIABLE_NAME VARIABLE_VALUE
MAX_USED_CONNECTIONS 3
connect con3,localhost,root,,;
SHOW STATUS LIKE 'max_used_connections';
Variable_name Value
WL #3337 (Event scheduler new architecture) Cut Nr. 8. All tests pass. Separated Event_scheduler into Event_queue and Event_scheduler. Added new Event_scheduler_ng which is the new scheduler and is used system-wide. Will be moved to the event_scheduler.cc in the future. Using Event_timed in Event_queue as well as cloned during execution. Next step is to have Event_worker_data which will be used during execution and will take ::compile()/::execute() out of Event_timed. mysql-test/r/events.result: update result mysql-test/r/events_bugs.result: update result mysql-test/r/ps_1general.result: update result mysql-test/r/skip_name_resolve.result: update result mysql-test/r/sp-threads.result: update result mysql-test/r/sp_notembedded.result: update result mysql-test/r/status.result: update result mysql-test/t/events_stress.test: Make event_stress a bit longer sql/Makefile.am: Add new event_scheduler_ng.h/cc . These are only to be in the experimental clone. Later their content will be moved to event_scheduler.h/cc sql/event_data_objects.cc: Allocate strings memory on own memory root, instead on the schedulers. Thus don't "leak" memory. This should fix bug#18683 memory leak in event scheduler sql/event_data_objects.h: add mem_root add THD - this is only temporal, will be moved to class Event_job_data once Event_job_data is responsible for the execution. sql/event_db_repository.cc: Remove unused code. Cosmetic changes sql/event_queue.cc: Now use the Event_scheduler_ng (NextGen) sql/event_queue.h: Now use the Event_scheduler_ng (NextGen) sql/event_scheduler.cc: This file is no more used, but will be soon. sql/event_scheduler.h: This file is no more used but will be soon sql/events.cc: Now use the Event_scheduler_ng (NextGen) sql/events.h: Now use the Event_scheduler_ng (NextGen) sql/mysqld.cc: Make it again possible to kill the scheduler thread sql/set_var.cc: Now use the Event_scheduler_ng (NextGen) sql/share/errmsg.txt: Shorten the message. sql/sql_show.cc: Loading is on a own root, then don't use thd->mem_root
2006-07-04 18:44:35 +02:00
Max_used_connections 4
WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. mysql-test/r/information_schema.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed test cases result (changes are due to the new tables added). mysql-test/r/information_schema_db.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed test cases result (changes are due to the new tables added). mysql-test/r/status.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed results for added testcases. mysql-test/r/variables.result: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Fixed results for added test cases. mysql-test/t/status.test: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Added test cases. mysql-test/t/variables.test: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Added test cases. sql/sql_show.cc: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Implementation of the new I_S tables. Also, show_status_array(): argument 'ucase_names' is added (true means that all variable names are to be converted to upper case). sql/table.h: WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES tables to INFORMATION_SCHEMA. Implementation of the new I_S tables.
2006-09-14 01:37:40 +02:00
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_used_connections';
VARIABLE_NAME VARIABLE_VALUE
MAX_USED_CONNECTIONS 4
connection default;
SET GLOBAL thread_cache_size=@save_thread_cache_size;
disconnect con3;
disconnect con2;
disconnect con1;
CREATE TABLE t1 ( a INT );
INSERT INTO t1 VALUES (1), (2);
SELECT a FROM t1 LIMIT 1;
a
1
SHOW SESSION STATUS LIKE 'Last_query_cost';
Variable_name Value
Last_query_cost 2.402418
EXPLAIN SELECT a FROM t1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 2
SHOW SESSION STATUS LIKE 'Last_query_cost';
Variable_name Value
Last_query_cost 2.402418
SELECT a FROM t1 UNION SELECT a FROM t1 ORDER BY a;
a
1
2
SHOW SESSION STATUS LIKE 'Last_query_cost';
Variable_name Value
Last_query_cost 0.000000
EXPLAIN SELECT a FROM t1 UNION SELECT a FROM t1 ORDER BY a;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 2
2 UNION t1 ALL NULL NULL NULL NULL 2
NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL NULL Using filesort
SHOW SESSION STATUS LIKE 'Last_query_cost';
Variable_name Value
Last_query_cost 0.000000
SELECT a IN (SELECT a FROM t1) FROM t1 LIMIT 1;
a IN (SELECT a FROM t1)
1
SHOW SESSION STATUS LIKE 'Last_query_cost';
Variable_name Value
Last_query_cost 0.000000
SELECT (SELECT a FROM t1 LIMIT 1) x FROM t1 LIMIT 1;
x
1
SHOW SESSION STATUS LIKE 'Last_query_cost';
Variable_name Value
Last_query_cost 0.000000
SELECT * FROM t1 a, t1 b LIMIT 1;
a a
1 1
SHOW SESSION STATUS LIKE 'Last_query_cost';
Variable_name Value
Back-ported the patch of the mysql-5.6 code line that fixed several defects in the greedy optimization: 1) The greedy optimizer calculated the 'compare-cost' (CPU-cost) for iterating over the partial plan result at each level in the query plan as 'record_count / (double) TIME_FOR_COMPARE' This cost was only used locally for 'best' calculation at each level, and *not* accumulated into the total cost for the query plan. This fix added the 'CPU-cost' of processing 'current_record_count' records at each level to 'current_read_time' *before* it is used as 'accumulated cost' argument to recursive best_extension_by_limited_search() calls. This ensured that the cost of a huge join-fanout early in the QEP was correctly reflected in the cost of the final QEP. To get identical cost for a 'best' optimized query and a straight_join with the same join order, the same change was also applied to optimize_straight_join() and get_partial_join_cost() 2) Furthermore to get equal cost for 'best' optimized query and a straight_join the new code substrcated the same '0.001' in optimize_straight_join() as it had been already done in best_extension_by_limited_search() 3) When best_extension_by_limited_search() aggregated the 'best' plan a plan was 'best' by the check : 'if ((search_depth == 1) || (current_read_time < join->best_read))' The term '(search_depth == 1' incorrectly caused a new best plan to be collected whenever the specified 'search_depth' was reached - even if this partial query plan was more expensive than what we had already found.
2011-12-24 17:55:10 +01:00
Last_query_cost 5.205836
DROP TABLE t1;
connect con1,localhost,root,,;
SHOW STATUS does not anymore change local status variables (except com_show_status). Global status variables are still updated. SHOW STATUS are not anymore put in slow query log because of no index usage. Implemntation done by removing orig_sql_command and moving logic of SHOW STATUS to mysql_excute_command() This simplifies code and allows us to remove some if statements all over the code. Upgraded uc_update_queries[] to sql_command_flags and added more bitmaps to better categorize commands. This allowed some overall simplifaction when testing sql_command. Fixes bugs: Bug#10210: running SHOW STATUS increments counters it shouldn't Bug#19764: SHOW commands end up in the slow log as table scans mysql-test/r/grant_cache.result: Fixed results after SHOW STATUS doesn't anymore affect status variables mysql-test/r/information_schema.result: Added extra test to cover more code mysql-test/r/query_cache.result: Remove resuts from previous tests mysql-test/r/status.result: Added more tests for testing of last_query_cost and how SHOW STATUS affects status variables. (Bug#10210) mysql-test/r/temp_table.result: Fixed results after SHOW STATUS doesn't anymore affect status variables mysql-test/r/union.result: Fixed results after SHOW STATUS is not logged to slow query log (Bug#19764) mysql-test/t/events_microsec.test: Disable warnings at init mysql-test/t/information_schema.test: Added extra test to cover more code mysql-test/t/query_cache.test: Remove resuts from previous tests mysql-test/t/status.test: Added more tests for testing of last_query_cost and how SHOW STATUS affects status variables. (Bug #10210) sql/mysql_priv.h: Added 'sql_command_flags' sql/sql_class.cc: New function add_diff_to_status(), used to update global status variables when using SHOW STATUS sql/sql_class.h: New function 'fill_information_schema_tables()' (One could not anymore use fill_derived_tables() for this as only_view_structures() is not relevant for information schema tables) Added defines for bit flags in sql_command_flags[] sql/sql_lex.cc: Remove orig_sql_command sql/sql_lex.h: Remove orig_sql_command sql/sql_parse.cc: Rename uc_update_queries -> sql_command_flags. Enhanced 'sql_command_flags' to better classify SQL commands uc_update_queries[] != 0 is changed to (sql_command_flags[] & CF_CHANGES_DATA) lex->orig_sql_command == SQLCOM_END is changed to (sql_command_flags[lex->sql_command] & CF_STATUS_COMMAND) == 0) Simplify incrementing of thd->status_var.com_stat[] as we don't have to do special handling for SHOW commands. Split SQLCOM_SELECT handling in mysql_execute_command() to a separate function. Added special handling of SHOW STATUS commands in mysql_execute_command() and call common SQLCOM_SELECT handling. These changes allows us to easily fix that we save and restore status variables during execution of a SHOW STATUS command. Don't log SHOW STATUS commands to slow query log. This fixes Bug#10210 and Bug#19764 without adding additional 'if' code. (The new code is faster than the original as we now have fewer if's than before) sql/sql_prepare.cc: Clean up prepare-check handling of SQLCOM commands by using sql_command_flags[] This simplifes code and ensures that code works even if someone forgets to put a new status commands into the switch statement. sql/sql_select.cc: Remove special handling of SHOW STATUS. (This is now done in SQLCOM_SHOW_STATUS part in mysql_execute_command()) sql/sql_show.cc: Remove orig_sql_command Only change sql_command during 'open_normal_and_derived_tables()' (for views) and not for the full duration of generating data. Changed 'show status' to use thd->initial_status_var to ensure that the current statement is not affecting the to-be-used values. Use thd->fill_information_schema_tables() instead of 'thd->fill_derived_tables()' as the later wrongly checks the value of sql_command. sql/sql_yacc.yy: Remove usage of orig_sql_command. One side effect of this is that we need to test for cursors if the current command is a SELECT or a SHOW command. sql/structs.h: Updated comment
2006-06-20 12:20:32 +02:00
show status like 'com_show_status';
Variable_name Value
Com_show_status 3
show status like 'hand%write%';
Variable_name Value
New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write Split status variable Rows_read to Rows_read and Rows_tmp_read so that one can see how much real data is read. Same was done with with Handler_update and Handler_write. Fixed bug in MEMORY tables where some variables was counted twice. Added new internal handler call 'ha_close()' to have one place to gather statistics. Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() mysql-test/r/status.result: Updated test results and added new tests mysql-test/r/status_user.result: Udated test results mysql-test/t/status.test: Added new test for temporary table status variables sql/ha_partition.cc: Changed to call ha_close() instead of close() sql/handler.cc: Added internal_tmp_table variable for easy checking of temporary tables. Added new internal handler call 'ha_close()' to have one place to gather statistics. Gather statistics for internal temporary tables. sql/handler.h: Added handler variables internal_tmp_table, rows_tmp_read. Split function update_index_statistics() to two. Added ha_update_tmp_row() for faster tmp table handling with more statistics. sql/item_sum.cc: ha_write_row() -> ha_write_tmp_row() sql/multi_range_read.cc: close() -> ha_close() sql/mysqld.cc: New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write sql/opt_range.cc: close() -> ha_close() sql/sql_base.cc: close() -> ha_close() sql/sql_class.cc: Added handling of rows_tmp_read sql/sql_class.h: Added new satistics variables. rows_read++ -> update_rows_read() to be able to correctly count reads to internal temp tables. Added handler::ha_update_tmp_row() sql/sql_connect.cc: Added comment sql/sql_expression_cache.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_select.cc: close() -> ha_close() ha_update_row() -> ha_update_tmp_row() sql/sql_show.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_table.cc: Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() sql/sql_union.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_update.cc: ha_write_row() -> ha_write_tmp_row() sql/table.cc: close() -> ha_close() storage/heap/ha_heap.cc: Removed double counting of statistic variables. close -> ha_close() to get tmp table statistics. storage/maria/ha_maria.cc: close -> ha_close() to get tmp table statistics.
2011-06-27 18:07:24 +02:00
Handler_tmp_write 0
Handler_write 0
SHOW STATUS does not anymore change local status variables (except com_show_status). Global status variables are still updated. SHOW STATUS are not anymore put in slow query log because of no index usage. Implemntation done by removing orig_sql_command and moving logic of SHOW STATUS to mysql_excute_command() This simplifies code and allows us to remove some if statements all over the code. Upgraded uc_update_queries[] to sql_command_flags and added more bitmaps to better categorize commands. This allowed some overall simplifaction when testing sql_command. Fixes bugs: Bug#10210: running SHOW STATUS increments counters it shouldn't Bug#19764: SHOW commands end up in the slow log as table scans mysql-test/r/grant_cache.result: Fixed results after SHOW STATUS doesn't anymore affect status variables mysql-test/r/information_schema.result: Added extra test to cover more code mysql-test/r/query_cache.result: Remove resuts from previous tests mysql-test/r/status.result: Added more tests for testing of last_query_cost and how SHOW STATUS affects status variables. (Bug#10210) mysql-test/r/temp_table.result: Fixed results after SHOW STATUS doesn't anymore affect status variables mysql-test/r/union.result: Fixed results after SHOW STATUS is not logged to slow query log (Bug#19764) mysql-test/t/events_microsec.test: Disable warnings at init mysql-test/t/information_schema.test: Added extra test to cover more code mysql-test/t/query_cache.test: Remove resuts from previous tests mysql-test/t/status.test: Added more tests for testing of last_query_cost and how SHOW STATUS affects status variables. (Bug #10210) sql/mysql_priv.h: Added 'sql_command_flags' sql/sql_class.cc: New function add_diff_to_status(), used to update global status variables when using SHOW STATUS sql/sql_class.h: New function 'fill_information_schema_tables()' (One could not anymore use fill_derived_tables() for this as only_view_structures() is not relevant for information schema tables) Added defines for bit flags in sql_command_flags[] sql/sql_lex.cc: Remove orig_sql_command sql/sql_lex.h: Remove orig_sql_command sql/sql_parse.cc: Rename uc_update_queries -> sql_command_flags. Enhanced 'sql_command_flags' to better classify SQL commands uc_update_queries[] != 0 is changed to (sql_command_flags[] & CF_CHANGES_DATA) lex->orig_sql_command == SQLCOM_END is changed to (sql_command_flags[lex->sql_command] & CF_STATUS_COMMAND) == 0) Simplify incrementing of thd->status_var.com_stat[] as we don't have to do special handling for SHOW commands. Split SQLCOM_SELECT handling in mysql_execute_command() to a separate function. Added special handling of SHOW STATUS commands in mysql_execute_command() and call common SQLCOM_SELECT handling. These changes allows us to easily fix that we save and restore status variables during execution of a SHOW STATUS command. Don't log SHOW STATUS commands to slow query log. This fixes Bug#10210 and Bug#19764 without adding additional 'if' code. (The new code is faster than the original as we now have fewer if's than before) sql/sql_prepare.cc: Clean up prepare-check handling of SQLCOM commands by using sql_command_flags[] This simplifes code and ensures that code works even if someone forgets to put a new status commands into the switch statement. sql/sql_select.cc: Remove special handling of SHOW STATUS. (This is now done in SQLCOM_SHOW_STATUS part in mysql_execute_command()) sql/sql_show.cc: Remove orig_sql_command Only change sql_command during 'open_normal_and_derived_tables()' (for views) and not for the full duration of generating data. Changed 'show status' to use thd->initial_status_var to ensure that the current statement is not affecting the to-be-used values. Use thd->fill_information_schema_tables() instead of 'thd->fill_derived_tables()' as the later wrongly checks the value of sql_command. sql/sql_yacc.yy: Remove usage of orig_sql_command. One side effect of this is that we need to test for cursors if the current command is a SELECT or a SHOW command. sql/structs.h: Updated comment
2006-06-20 12:20:32 +02:00
show status like '%tmp%';
Variable_name Value
Created_tmp_disk_tables 0
Created_tmp_files 0
Created_tmp_tables 0
Handler_tmp_delete 0
New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write Split status variable Rows_read to Rows_read and Rows_tmp_read so that one can see how much real data is read. Same was done with with Handler_update and Handler_write. Fixed bug in MEMORY tables where some variables was counted twice. Added new internal handler call 'ha_close()' to have one place to gather statistics. Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() mysql-test/r/status.result: Updated test results and added new tests mysql-test/r/status_user.result: Udated test results mysql-test/t/status.test: Added new test for temporary table status variables sql/ha_partition.cc: Changed to call ha_close() instead of close() sql/handler.cc: Added internal_tmp_table variable for easy checking of temporary tables. Added new internal handler call 'ha_close()' to have one place to gather statistics. Gather statistics for internal temporary tables. sql/handler.h: Added handler variables internal_tmp_table, rows_tmp_read. Split function update_index_statistics() to two. Added ha_update_tmp_row() for faster tmp table handling with more statistics. sql/item_sum.cc: ha_write_row() -> ha_write_tmp_row() sql/multi_range_read.cc: close() -> ha_close() sql/mysqld.cc: New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write sql/opt_range.cc: close() -> ha_close() sql/sql_base.cc: close() -> ha_close() sql/sql_class.cc: Added handling of rows_tmp_read sql/sql_class.h: Added new satistics variables. rows_read++ -> update_rows_read() to be able to correctly count reads to internal temp tables. Added handler::ha_update_tmp_row() sql/sql_connect.cc: Added comment sql/sql_expression_cache.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_select.cc: close() -> ha_close() ha_update_row() -> ha_update_tmp_row() sql/sql_show.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_table.cc: Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() sql/sql_union.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_update.cc: ha_write_row() -> ha_write_tmp_row() sql/table.cc: close() -> ha_close() storage/heap/ha_heap.cc: Removed double counting of statistic variables. close -> ha_close() to get tmp table statistics. storage/maria/ha_maria.cc: close -> ha_close() to get tmp table statistics.
2011-06-27 18:07:24 +02:00
Handler_tmp_update 0
Handler_tmp_write 0
Rows_tmp_read 5
SHOW STATUS does not anymore change local status variables (except com_show_status). Global status variables are still updated. SHOW STATUS are not anymore put in slow query log because of no index usage. Implemntation done by removing orig_sql_command and moving logic of SHOW STATUS to mysql_excute_command() This simplifies code and allows us to remove some if statements all over the code. Upgraded uc_update_queries[] to sql_command_flags and added more bitmaps to better categorize commands. This allowed some overall simplifaction when testing sql_command. Fixes bugs: Bug#10210: running SHOW STATUS increments counters it shouldn't Bug#19764: SHOW commands end up in the slow log as table scans mysql-test/r/grant_cache.result: Fixed results after SHOW STATUS doesn't anymore affect status variables mysql-test/r/information_schema.result: Added extra test to cover more code mysql-test/r/query_cache.result: Remove resuts from previous tests mysql-test/r/status.result: Added more tests for testing of last_query_cost and how SHOW STATUS affects status variables. (Bug#10210) mysql-test/r/temp_table.result: Fixed results after SHOW STATUS doesn't anymore affect status variables mysql-test/r/union.result: Fixed results after SHOW STATUS is not logged to slow query log (Bug#19764) mysql-test/t/events_microsec.test: Disable warnings at init mysql-test/t/information_schema.test: Added extra test to cover more code mysql-test/t/query_cache.test: Remove resuts from previous tests mysql-test/t/status.test: Added more tests for testing of last_query_cost and how SHOW STATUS affects status variables. (Bug #10210) sql/mysql_priv.h: Added 'sql_command_flags' sql/sql_class.cc: New function add_diff_to_status(), used to update global status variables when using SHOW STATUS sql/sql_class.h: New function 'fill_information_schema_tables()' (One could not anymore use fill_derived_tables() for this as only_view_structures() is not relevant for information schema tables) Added defines for bit flags in sql_command_flags[] sql/sql_lex.cc: Remove orig_sql_command sql/sql_lex.h: Remove orig_sql_command sql/sql_parse.cc: Rename uc_update_queries -> sql_command_flags. Enhanced 'sql_command_flags' to better classify SQL commands uc_update_queries[] != 0 is changed to (sql_command_flags[] & CF_CHANGES_DATA) lex->orig_sql_command == SQLCOM_END is changed to (sql_command_flags[lex->sql_command] & CF_STATUS_COMMAND) == 0) Simplify incrementing of thd->status_var.com_stat[] as we don't have to do special handling for SHOW commands. Split SQLCOM_SELECT handling in mysql_execute_command() to a separate function. Added special handling of SHOW STATUS commands in mysql_execute_command() and call common SQLCOM_SELECT handling. These changes allows us to easily fix that we save and restore status variables during execution of a SHOW STATUS command. Don't log SHOW STATUS commands to slow query log. This fixes Bug#10210 and Bug#19764 without adding additional 'if' code. (The new code is faster than the original as we now have fewer if's than before) sql/sql_prepare.cc: Clean up prepare-check handling of SQLCOM commands by using sql_command_flags[] This simplifes code and ensures that code works even if someone forgets to put a new status commands into the switch statement. sql/sql_select.cc: Remove special handling of SHOW STATUS. (This is now done in SQLCOM_SHOW_STATUS part in mysql_execute_command()) sql/sql_show.cc: Remove orig_sql_command Only change sql_command during 'open_normal_and_derived_tables()' (for views) and not for the full duration of generating data. Changed 'show status' to use thd->initial_status_var to ensure that the current statement is not affecting the to-be-used values. Use thd->fill_information_schema_tables() instead of 'thd->fill_derived_tables()' as the later wrongly checks the value of sql_command. sql/sql_yacc.yy: Remove usage of orig_sql_command. One side effect of this is that we need to test for cursors if the current command is a SELECT or a SHOW command. sql/structs.h: Updated comment
2006-06-20 12:20:32 +02:00
show status like 'hand%write%';
Variable_name Value
New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write Split status variable Rows_read to Rows_read and Rows_tmp_read so that one can see how much real data is read. Same was done with with Handler_update and Handler_write. Fixed bug in MEMORY tables where some variables was counted twice. Added new internal handler call 'ha_close()' to have one place to gather statistics. Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() mysql-test/r/status.result: Updated test results and added new tests mysql-test/r/status_user.result: Udated test results mysql-test/t/status.test: Added new test for temporary table status variables sql/ha_partition.cc: Changed to call ha_close() instead of close() sql/handler.cc: Added internal_tmp_table variable for easy checking of temporary tables. Added new internal handler call 'ha_close()' to have one place to gather statistics. Gather statistics for internal temporary tables. sql/handler.h: Added handler variables internal_tmp_table, rows_tmp_read. Split function update_index_statistics() to two. Added ha_update_tmp_row() for faster tmp table handling with more statistics. sql/item_sum.cc: ha_write_row() -> ha_write_tmp_row() sql/multi_range_read.cc: close() -> ha_close() sql/mysqld.cc: New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write sql/opt_range.cc: close() -> ha_close() sql/sql_base.cc: close() -> ha_close() sql/sql_class.cc: Added handling of rows_tmp_read sql/sql_class.h: Added new satistics variables. rows_read++ -> update_rows_read() to be able to correctly count reads to internal temp tables. Added handler::ha_update_tmp_row() sql/sql_connect.cc: Added comment sql/sql_expression_cache.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_select.cc: close() -> ha_close() ha_update_row() -> ha_update_tmp_row() sql/sql_show.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_table.cc: Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() sql/sql_union.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_update.cc: ha_write_row() -> ha_write_tmp_row() sql/table.cc: close() -> ha_close() storage/heap/ha_heap.cc: Removed double counting of statistic variables. close -> ha_close() to get tmp table statistics. storage/maria/ha_maria.cc: close -> ha_close() to get tmp table statistics.
2011-06-27 18:07:24 +02:00
Handler_tmp_write 0
Handler_write 0
SHOW STATUS does not anymore change local status variables (except com_show_status). Global status variables are still updated. SHOW STATUS are not anymore put in slow query log because of no index usage. Implemntation done by removing orig_sql_command and moving logic of SHOW STATUS to mysql_excute_command() This simplifies code and allows us to remove some if statements all over the code. Upgraded uc_update_queries[] to sql_command_flags and added more bitmaps to better categorize commands. This allowed some overall simplifaction when testing sql_command. Fixes bugs: Bug#10210: running SHOW STATUS increments counters it shouldn't Bug#19764: SHOW commands end up in the slow log as table scans mysql-test/r/grant_cache.result: Fixed results after SHOW STATUS doesn't anymore affect status variables mysql-test/r/information_schema.result: Added extra test to cover more code mysql-test/r/query_cache.result: Remove resuts from previous tests mysql-test/r/status.result: Added more tests for testing of last_query_cost and how SHOW STATUS affects status variables. (Bug#10210) mysql-test/r/temp_table.result: Fixed results after SHOW STATUS doesn't anymore affect status variables mysql-test/r/union.result: Fixed results after SHOW STATUS is not logged to slow query log (Bug#19764) mysql-test/t/events_microsec.test: Disable warnings at init mysql-test/t/information_schema.test: Added extra test to cover more code mysql-test/t/query_cache.test: Remove resuts from previous tests mysql-test/t/status.test: Added more tests for testing of last_query_cost and how SHOW STATUS affects status variables. (Bug #10210) sql/mysql_priv.h: Added 'sql_command_flags' sql/sql_class.cc: New function add_diff_to_status(), used to update global status variables when using SHOW STATUS sql/sql_class.h: New function 'fill_information_schema_tables()' (One could not anymore use fill_derived_tables() for this as only_view_structures() is not relevant for information schema tables) Added defines for bit flags in sql_command_flags[] sql/sql_lex.cc: Remove orig_sql_command sql/sql_lex.h: Remove orig_sql_command sql/sql_parse.cc: Rename uc_update_queries -> sql_command_flags. Enhanced 'sql_command_flags' to better classify SQL commands uc_update_queries[] != 0 is changed to (sql_command_flags[] & CF_CHANGES_DATA) lex->orig_sql_command == SQLCOM_END is changed to (sql_command_flags[lex->sql_command] & CF_STATUS_COMMAND) == 0) Simplify incrementing of thd->status_var.com_stat[] as we don't have to do special handling for SHOW commands. Split SQLCOM_SELECT handling in mysql_execute_command() to a separate function. Added special handling of SHOW STATUS commands in mysql_execute_command() and call common SQLCOM_SELECT handling. These changes allows us to easily fix that we save and restore status variables during execution of a SHOW STATUS command. Don't log SHOW STATUS commands to slow query log. This fixes Bug#10210 and Bug#19764 without adding additional 'if' code. (The new code is faster than the original as we now have fewer if's than before) sql/sql_prepare.cc: Clean up prepare-check handling of SQLCOM commands by using sql_command_flags[] This simplifes code and ensures that code works even if someone forgets to put a new status commands into the switch statement. sql/sql_select.cc: Remove special handling of SHOW STATUS. (This is now done in SQLCOM_SHOW_STATUS part in mysql_execute_command()) sql/sql_show.cc: Remove orig_sql_command Only change sql_command during 'open_normal_and_derived_tables()' (for views) and not for the full duration of generating data. Changed 'show status' to use thd->initial_status_var to ensure that the current statement is not affecting the to-be-used values. Use thd->fill_information_schema_tables() instead of 'thd->fill_derived_tables()' as the later wrongly checks the value of sql_command. sql/sql_yacc.yy: Remove usage of orig_sql_command. One side effect of this is that we need to test for cursors if the current command is a SELECT or a SHOW command. sql/structs.h: Updated comment
2006-06-20 12:20:32 +02:00
show status like '%tmp%';
Variable_name Value
Created_tmp_disk_tables 0
Created_tmp_files 0
Created_tmp_tables 0
Handler_tmp_delete 0
New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write Split status variable Rows_read to Rows_read and Rows_tmp_read so that one can see how much real data is read. Same was done with with Handler_update and Handler_write. Fixed bug in MEMORY tables where some variables was counted twice. Added new internal handler call 'ha_close()' to have one place to gather statistics. Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() mysql-test/r/status.result: Updated test results and added new tests mysql-test/r/status_user.result: Udated test results mysql-test/t/status.test: Added new test for temporary table status variables sql/ha_partition.cc: Changed to call ha_close() instead of close() sql/handler.cc: Added internal_tmp_table variable for easy checking of temporary tables. Added new internal handler call 'ha_close()' to have one place to gather statistics. Gather statistics for internal temporary tables. sql/handler.h: Added handler variables internal_tmp_table, rows_tmp_read. Split function update_index_statistics() to two. Added ha_update_tmp_row() for faster tmp table handling with more statistics. sql/item_sum.cc: ha_write_row() -> ha_write_tmp_row() sql/multi_range_read.cc: close() -> ha_close() sql/mysqld.cc: New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write sql/opt_range.cc: close() -> ha_close() sql/sql_base.cc: close() -> ha_close() sql/sql_class.cc: Added handling of rows_tmp_read sql/sql_class.h: Added new satistics variables. rows_read++ -> update_rows_read() to be able to correctly count reads to internal temp tables. Added handler::ha_update_tmp_row() sql/sql_connect.cc: Added comment sql/sql_expression_cache.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_select.cc: close() -> ha_close() ha_update_row() -> ha_update_tmp_row() sql/sql_show.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_table.cc: Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() sql/sql_union.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_update.cc: ha_write_row() -> ha_write_tmp_row() sql/table.cc: close() -> ha_close() storage/heap/ha_heap.cc: Removed double counting of statistic variables. close -> ha_close() to get tmp table statistics. storage/maria/ha_maria.cc: close -> ha_close() to get tmp table statistics.
2011-06-27 18:07:24 +02:00
Handler_tmp_update 0
Handler_tmp_write 0
Rows_tmp_read 14
SHOW STATUS does not anymore change local status variables (except com_show_status). Global status variables are still updated. SHOW STATUS are not anymore put in slow query log because of no index usage. Implemntation done by removing orig_sql_command and moving logic of SHOW STATUS to mysql_excute_command() This simplifies code and allows us to remove some if statements all over the code. Upgraded uc_update_queries[] to sql_command_flags and added more bitmaps to better categorize commands. This allowed some overall simplifaction when testing sql_command. Fixes bugs: Bug#10210: running SHOW STATUS increments counters it shouldn't Bug#19764: SHOW commands end up in the slow log as table scans mysql-test/r/grant_cache.result: Fixed results after SHOW STATUS doesn't anymore affect status variables mysql-test/r/information_schema.result: Added extra test to cover more code mysql-test/r/query_cache.result: Remove resuts from previous tests mysql-test/r/status.result: Added more tests for testing of last_query_cost and how SHOW STATUS affects status variables. (Bug#10210) mysql-test/r/temp_table.result: Fixed results after SHOW STATUS doesn't anymore affect status variables mysql-test/r/union.result: Fixed results after SHOW STATUS is not logged to slow query log (Bug#19764) mysql-test/t/events_microsec.test: Disable warnings at init mysql-test/t/information_schema.test: Added extra test to cover more code mysql-test/t/query_cache.test: Remove resuts from previous tests mysql-test/t/status.test: Added more tests for testing of last_query_cost and how SHOW STATUS affects status variables. (Bug #10210) sql/mysql_priv.h: Added 'sql_command_flags' sql/sql_class.cc: New function add_diff_to_status(), used to update global status variables when using SHOW STATUS sql/sql_class.h: New function 'fill_information_schema_tables()' (One could not anymore use fill_derived_tables() for this as only_view_structures() is not relevant for information schema tables) Added defines for bit flags in sql_command_flags[] sql/sql_lex.cc: Remove orig_sql_command sql/sql_lex.h: Remove orig_sql_command sql/sql_parse.cc: Rename uc_update_queries -> sql_command_flags. Enhanced 'sql_command_flags' to better classify SQL commands uc_update_queries[] != 0 is changed to (sql_command_flags[] & CF_CHANGES_DATA) lex->orig_sql_command == SQLCOM_END is changed to (sql_command_flags[lex->sql_command] & CF_STATUS_COMMAND) == 0) Simplify incrementing of thd->status_var.com_stat[] as we don't have to do special handling for SHOW commands. Split SQLCOM_SELECT handling in mysql_execute_command() to a separate function. Added special handling of SHOW STATUS commands in mysql_execute_command() and call common SQLCOM_SELECT handling. These changes allows us to easily fix that we save and restore status variables during execution of a SHOW STATUS command. Don't log SHOW STATUS commands to slow query log. This fixes Bug#10210 and Bug#19764 without adding additional 'if' code. (The new code is faster than the original as we now have fewer if's than before) sql/sql_prepare.cc: Clean up prepare-check handling of SQLCOM commands by using sql_command_flags[] This simplifes code and ensures that code works even if someone forgets to put a new status commands into the switch statement. sql/sql_select.cc: Remove special handling of SHOW STATUS. (This is now done in SQLCOM_SHOW_STATUS part in mysql_execute_command()) sql/sql_show.cc: Remove orig_sql_command Only change sql_command during 'open_normal_and_derived_tables()' (for views) and not for the full duration of generating data. Changed 'show status' to use thd->initial_status_var to ensure that the current statement is not affecting the to-be-used values. Use thd->fill_information_schema_tables() instead of 'thd->fill_derived_tables()' as the later wrongly checks the value of sql_command. sql/sql_yacc.yy: Remove usage of orig_sql_command. One side effect of this is that we need to test for cursors if the current command is a SELECT or a SHOW command. sql/structs.h: Updated comment
2006-06-20 12:20:32 +02:00
show status like 'com_show_status';
Variable_name Value
Com_show_status 8
rnd_diff tmp_table_diff
30 8
disconnect con1;
connection default;
flush status;
show status like 'Com%function';
Variable_name Value
Com_alter_function 0
Com_create_function 0
Com_drop_function 0
create function f1 (x INTEGER) returns integer
begin
declare ret integer;
set ret = x * 10;
return ret;
end //
drop function f1;
show status like 'Com%function';
Variable_name Value
Com_alter_function 0
Com_create_function 1
Com_drop_function 1
connect root, localhost, root,,test;
connection root;
create database db37908;
create table db37908.t1(f1 int);
insert into db37908.t1 values(1);
create user mysqltest_1@localhost;
grant usage,execute on test.* to mysqltest_1@localhost;
create procedure proc37908() begin select 1; end |
create function func37908() returns int sql security invoker
return (select * from db37908.t1 limit 1)|
connect user1,localhost,mysqltest_1,,test;
connection user1;
select * from db37908.t1;
ERROR 42000: SELECT command denied to user 'mysqltest_1'@'localhost' for table 't1'
show status where variable_name ='uptime' and 2 in (select * from db37908.t1);
ERROR 42000: SELECT command denied to user 'mysqltest_1'@'localhost' for table 't1'
show procedure status where name ='proc37908' and 1 in (select f1 from db37908.t1);
ERROR 42000: SELECT command denied to user 'mysqltest_1'@'localhost' for table 't1'
show function status where name ='func37908' and 1 in (select func37908());
ERROR 42000: SELECT command denied to user 'mysqltest_1'@'localhost' for table 't1'
connection default;
disconnect user1;
disconnect root;
drop database db37908;
drop procedure proc37908;
drop function func37908;
BUG#38350: Many tests don't clean up after themselves on exit. Problem: Many test cases don't clean up after themselves (fail to drop tables or fail to reset variables). This implies that: (1) check-testcase in the new mtr that currently lives in 5.1-rpl failed. (2) it may cause unexpected results in subsequent tests. Fix: make all tests clean up. Also: cleaned away unnecessary output in rpl_packet.result Also: fixed bug where rpl_log called RESET MASTER with a running slave. This is not supposed to work. Also: removed unnecessary code from rpl_stm_EE_err2 and made it verify that an error occurred. Also: removed unnecessary code from rpl_ndb_ctype_ucs2_def. mysql-test/extra/rpl_tests/rpl_loaddata.test: Made test clean up after itself. mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test: Made test clean up after itself. Also removed unnecessary save_master_pos. Also made test verify that an error occurred. mysql-test/extra/rpl_tests/rpl_truncate_helper.test: Made test clean up after itself. mysql-test/include/query_cache.inc: Made test clean up after itself. mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test: Made test clean up after itself. mysql-test/suite/rpl/t/rpl_alter_db.test: Made test clean up after itself. Easiest to refactor the test a little, to use an auxiliary database instead of mysql: Then we don't need to read the collation at the start of the test and reset it at the end of the test. We can just drop the database. mysql-test/suite/rpl/t/rpl_drop_db.test: Made test clean up after itself. mysql-test/suite/rpl/t/rpl_drop_view.test: Made test clean up after itself. mysql-test/suite/rpl/t/rpl_events.test: Made test clean up after itself. mysql-test/suite/rpl/t/rpl_idempotency.test: Made test clean up after itself. mysql-test/suite/rpl/t/rpl_ignore_table.test: Made test clean up after itself. The existing cleanup code didn't work, because the --replicate-* options prevented the "drop table" from being replicated. Moved "drop table t4" to a statement of its own. mysql-test/suite/rpl/t/rpl_packet.test: Made test clean up after itself. Also replaced SHOW SLAVE STATUS by query_get_value(SHOW SLAVE STATUS...), since only one column of the result was interesting. mysql-test/suite/rpl/t/rpl_row_max_relay_size.test: Made test clean up after itself. Instead of setting binlog format at the beginning of the test, we just do 'source include/have_binlog_format_row.inc' like all other tests. mysql-test/suite/rpl_ndb/t/rpl_ndb_2other.test: Made test clean up after itself. mysql-test/suite/rpl_ndb/t/rpl_ndb_ctype_ucs2_def.test: Made test clean up after itself. Also removed unnecessary 'create table; drop table' Also removed unnecessary use of --command mysql-test/suite/rpl_ndb/t/rpl_ndb_multi.test: Made test clean up after itself. mysql-test/t/innodb-autoinc-optimize.test: Made test clean up after itself. mysql-test/t/innodb.test: Made test clean up after itself. mysql-test/t/log_tables.test: Made test clean up after itself. mysql-test/t/mysql_client_test.test: Made test clean up after itself. mysql-test/t/partition.test: Made test clean up after itself. mysql-test/t/status.test: Made test clean up after itself.
2008-11-13 20:19:00 +01:00
REVOKE ALL PRIVILEGES, GRANT OPTION FROM mysqltest_1@localhost;
DROP USER mysqltest_1@localhost;
connect con1,localhost,root,,;
connection con1;
DROP PROCEDURE IF EXISTS p1;
DROP FUNCTION IF EXISTS f1;
CREATE FUNCTION f1() RETURNS INTEGER
BEGIN
DECLARE foo INTEGER;
DECLARE bar INTEGER;
SET foo=1;
SET bar=2;
RETURN foo;
END $$
CREATE PROCEDURE p1()
BEGIN
SELECT 1;
END $$
SELECT f1();
f1()
1
CALL p1();
1
1
SELECT 9;
9
9
disconnect con1;
connection default;
DROP PROCEDURE p1;
DROP FUNCTION f1;
New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write Split status variable Rows_read to Rows_read and Rows_tmp_read so that one can see how much real data is read. Same was done with with Handler_update and Handler_write. Fixed bug in MEMORY tables where some variables was counted twice. Added new internal handler call 'ha_close()' to have one place to gather statistics. Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() mysql-test/r/status.result: Updated test results and added new tests mysql-test/r/status_user.result: Udated test results mysql-test/t/status.test: Added new test for temporary table status variables sql/ha_partition.cc: Changed to call ha_close() instead of close() sql/handler.cc: Added internal_tmp_table variable for easy checking of temporary tables. Added new internal handler call 'ha_close()' to have one place to gather statistics. Gather statistics for internal temporary tables. sql/handler.h: Added handler variables internal_tmp_table, rows_tmp_read. Split function update_index_statistics() to two. Added ha_update_tmp_row() for faster tmp table handling with more statistics. sql/item_sum.cc: ha_write_row() -> ha_write_tmp_row() sql/multi_range_read.cc: close() -> ha_close() sql/mysqld.cc: New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write sql/opt_range.cc: close() -> ha_close() sql/sql_base.cc: close() -> ha_close() sql/sql_class.cc: Added handling of rows_tmp_read sql/sql_class.h: Added new satistics variables. rows_read++ -> update_rows_read() to be able to correctly count reads to internal temp tables. Added handler::ha_update_tmp_row() sql/sql_connect.cc: Added comment sql/sql_expression_cache.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_select.cc: close() -> ha_close() ha_update_row() -> ha_update_tmp_row() sql/sql_show.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_table.cc: Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() sql/sql_union.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_update.cc: ha_write_row() -> ha_write_tmp_row() sql/table.cc: close() -> ha_close() storage/heap/ha_heap.cc: Removed double counting of statistic variables. close -> ha_close() to get tmp table statistics. storage/maria/ha_maria.cc: close -> ha_close() to get tmp table statistics.
2011-06-27 18:07:24 +02:00
flush status;
create table t1 (a int not null auto_increment primary key, g int, b blob);
insert into t1 (g,b) values (1,'a'), (2, 'b'), (3, 'b'), (1, 'c');
select * from t1;
a g b
1 1 a
2 2 b
3 3 b
4 1 c
select b, count(*) from t1 group by b;
b count(*)
a 1
b 2
c 1
select g, count(*) from t1 group by g;
g count(*)
1 2
2 1
3 1
show status like 'Row%';
Variable_name Value
Rows_read 12
Rows_sent 10
Rows_tmp_read 14
show status like 'Handler%';
Variable_name Value
Handler_commit 0
Handler_delete 0
Handler_discover 0
Handler_external_lock 0
Handler_icp_attempts 0
Handler_icp_match 0
Handler_mrr_init 0
Handler_mrr_key_refills 0
Handler_mrr_rowid_refills 0
New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write Split status variable Rows_read to Rows_read and Rows_tmp_read so that one can see how much real data is read. Same was done with with Handler_update and Handler_write. Fixed bug in MEMORY tables where some variables was counted twice. Added new internal handler call 'ha_close()' to have one place to gather statistics. Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() mysql-test/r/status.result: Updated test results and added new tests mysql-test/r/status_user.result: Udated test results mysql-test/t/status.test: Added new test for temporary table status variables sql/ha_partition.cc: Changed to call ha_close() instead of close() sql/handler.cc: Added internal_tmp_table variable for easy checking of temporary tables. Added new internal handler call 'ha_close()' to have one place to gather statistics. Gather statistics for internal temporary tables. sql/handler.h: Added handler variables internal_tmp_table, rows_tmp_read. Split function update_index_statistics() to two. Added ha_update_tmp_row() for faster tmp table handling with more statistics. sql/item_sum.cc: ha_write_row() -> ha_write_tmp_row() sql/multi_range_read.cc: close() -> ha_close() sql/mysqld.cc: New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write sql/opt_range.cc: close() -> ha_close() sql/sql_base.cc: close() -> ha_close() sql/sql_class.cc: Added handling of rows_tmp_read sql/sql_class.h: Added new satistics variables. rows_read++ -> update_rows_read() to be able to correctly count reads to internal temp tables. Added handler::ha_update_tmp_row() sql/sql_connect.cc: Added comment sql/sql_expression_cache.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_select.cc: close() -> ha_close() ha_update_row() -> ha_update_tmp_row() sql/sql_show.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_table.cc: Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() sql/sql_union.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_update.cc: ha_write_row() -> ha_write_tmp_row() sql/table.cc: close() -> ha_close() storage/heap/ha_heap.cc: Removed double counting of statistic variables. close -> ha_close() to get tmp table statistics. storage/maria/ha_maria.cc: close -> ha_close() to get tmp table statistics.
2011-06-27 18:07:24 +02:00
Handler_prepare 0
Handler_read_first 0
Handler_read_key 4
Handler_read_last 0
New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write Split status variable Rows_read to Rows_read and Rows_tmp_read so that one can see how much real data is read. Same was done with with Handler_update and Handler_write. Fixed bug in MEMORY tables where some variables was counted twice. Added new internal handler call 'ha_close()' to have one place to gather statistics. Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() mysql-test/r/status.result: Updated test results and added new tests mysql-test/r/status_user.result: Udated test results mysql-test/t/status.test: Added new test for temporary table status variables sql/ha_partition.cc: Changed to call ha_close() instead of close() sql/handler.cc: Added internal_tmp_table variable for easy checking of temporary tables. Added new internal handler call 'ha_close()' to have one place to gather statistics. Gather statistics for internal temporary tables. sql/handler.h: Added handler variables internal_tmp_table, rows_tmp_read. Split function update_index_statistics() to two. Added ha_update_tmp_row() for faster tmp table handling with more statistics. sql/item_sum.cc: ha_write_row() -> ha_write_tmp_row() sql/multi_range_read.cc: close() -> ha_close() sql/mysqld.cc: New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write sql/opt_range.cc: close() -> ha_close() sql/sql_base.cc: close() -> ha_close() sql/sql_class.cc: Added handling of rows_tmp_read sql/sql_class.h: Added new satistics variables. rows_read++ -> update_rows_read() to be able to correctly count reads to internal temp tables. Added handler::ha_update_tmp_row() sql/sql_connect.cc: Added comment sql/sql_expression_cache.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_select.cc: close() -> ha_close() ha_update_row() -> ha_update_tmp_row() sql/sql_show.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_table.cc: Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() sql/sql_union.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_update.cc: ha_write_row() -> ha_write_tmp_row() sql/table.cc: close() -> ha_close() storage/heap/ha_heap.cc: Removed double counting of statistic variables. close -> ha_close() to get tmp table statistics. storage/maria/ha_maria.cc: close -> ha_close() to get tmp table statistics.
2011-06-27 18:07:24 +02:00
Handler_read_next 0
Handler_read_prev 0
Handler_read_retry 0
New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write Split status variable Rows_read to Rows_read and Rows_tmp_read so that one can see how much real data is read. Same was done with with Handler_update and Handler_write. Fixed bug in MEMORY tables where some variables was counted twice. Added new internal handler call 'ha_close()' to have one place to gather statistics. Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() mysql-test/r/status.result: Updated test results and added new tests mysql-test/r/status_user.result: Udated test results mysql-test/t/status.test: Added new test for temporary table status variables sql/ha_partition.cc: Changed to call ha_close() instead of close() sql/handler.cc: Added internal_tmp_table variable for easy checking of temporary tables. Added new internal handler call 'ha_close()' to have one place to gather statistics. Gather statistics for internal temporary tables. sql/handler.h: Added handler variables internal_tmp_table, rows_tmp_read. Split function update_index_statistics() to two. Added ha_update_tmp_row() for faster tmp table handling with more statistics. sql/item_sum.cc: ha_write_row() -> ha_write_tmp_row() sql/multi_range_read.cc: close() -> ha_close() sql/mysqld.cc: New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write sql/opt_range.cc: close() -> ha_close() sql/sql_base.cc: close() -> ha_close() sql/sql_class.cc: Added handling of rows_tmp_read sql/sql_class.h: Added new satistics variables. rows_read++ -> update_rows_read() to be able to correctly count reads to internal temp tables. Added handler::ha_update_tmp_row() sql/sql_connect.cc: Added comment sql/sql_expression_cache.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_select.cc: close() -> ha_close() ha_update_row() -> ha_update_tmp_row() sql/sql_show.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_table.cc: Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() sql/sql_union.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_update.cc: ha_write_row() -> ha_write_tmp_row() sql/table.cc: close() -> ha_close() storage/heap/ha_heap.cc: Removed double counting of statistic variables. close -> ha_close() to get tmp table statistics. storage/maria/ha_maria.cc: close -> ha_close() to get tmp table statistics.
2011-06-27 18:07:24 +02:00
Handler_read_rnd 7
Handler_read_rnd_deleted 0
New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write Split status variable Rows_read to Rows_read and Rows_tmp_read so that one can see how much real data is read. Same was done with with Handler_update and Handler_write. Fixed bug in MEMORY tables where some variables was counted twice. Added new internal handler call 'ha_close()' to have one place to gather statistics. Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() mysql-test/r/status.result: Updated test results and added new tests mysql-test/r/status_user.result: Udated test results mysql-test/t/status.test: Added new test for temporary table status variables sql/ha_partition.cc: Changed to call ha_close() instead of close() sql/handler.cc: Added internal_tmp_table variable for easy checking of temporary tables. Added new internal handler call 'ha_close()' to have one place to gather statistics. Gather statistics for internal temporary tables. sql/handler.h: Added handler variables internal_tmp_table, rows_tmp_read. Split function update_index_statistics() to two. Added ha_update_tmp_row() for faster tmp table handling with more statistics. sql/item_sum.cc: ha_write_row() -> ha_write_tmp_row() sql/multi_range_read.cc: close() -> ha_close() sql/mysqld.cc: New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write sql/opt_range.cc: close() -> ha_close() sql/sql_base.cc: close() -> ha_close() sql/sql_class.cc: Added handling of rows_tmp_read sql/sql_class.h: Added new satistics variables. rows_read++ -> update_rows_read() to be able to correctly count reads to internal temp tables. Added handler::ha_update_tmp_row() sql/sql_connect.cc: Added comment sql/sql_expression_cache.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_select.cc: close() -> ha_close() ha_update_row() -> ha_update_tmp_row() sql/sql_show.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_table.cc: Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() sql/sql_union.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_update.cc: ha_write_row() -> ha_write_tmp_row() sql/table.cc: close() -> ha_close() storage/heap/ha_heap.cc: Removed double counting of statistic variables. close -> ha_close() to get tmp table statistics. storage/maria/ha_maria.cc: close -> ha_close() to get tmp table statistics.
2011-06-27 18:07:24 +02:00
Handler_read_rnd_next 23
Handler_rollback 0
Handler_savepoint 0
Handler_savepoint_rollback 0
Handler_tmp_delete 0
New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write Split status variable Rows_read to Rows_read and Rows_tmp_read so that one can see how much real data is read. Same was done with with Handler_update and Handler_write. Fixed bug in MEMORY tables where some variables was counted twice. Added new internal handler call 'ha_close()' to have one place to gather statistics. Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() mysql-test/r/status.result: Updated test results and added new tests mysql-test/r/status_user.result: Udated test results mysql-test/t/status.test: Added new test for temporary table status variables sql/ha_partition.cc: Changed to call ha_close() instead of close() sql/handler.cc: Added internal_tmp_table variable for easy checking of temporary tables. Added new internal handler call 'ha_close()' to have one place to gather statistics. Gather statistics for internal temporary tables. sql/handler.h: Added handler variables internal_tmp_table, rows_tmp_read. Split function update_index_statistics() to two. Added ha_update_tmp_row() for faster tmp table handling with more statistics. sql/item_sum.cc: ha_write_row() -> ha_write_tmp_row() sql/multi_range_read.cc: close() -> ha_close() sql/mysqld.cc: New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write sql/opt_range.cc: close() -> ha_close() sql/sql_base.cc: close() -> ha_close() sql/sql_class.cc: Added handling of rows_tmp_read sql/sql_class.h: Added new satistics variables. rows_read++ -> update_rows_read() to be able to correctly count reads to internal temp tables. Added handler::ha_update_tmp_row() sql/sql_connect.cc: Added comment sql/sql_expression_cache.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_select.cc: close() -> ha_close() ha_update_row() -> ha_update_tmp_row() sql/sql_show.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_table.cc: Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() sql/sql_union.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_update.cc: ha_write_row() -> ha_write_tmp_row() sql/table.cc: close() -> ha_close() storage/heap/ha_heap.cc: Removed double counting of statistic variables. close -> ha_close() to get tmp table statistics. storage/maria/ha_maria.cc: close -> ha_close() to get tmp table statistics.
2011-06-27 18:07:24 +02:00
Handler_tmp_update 2
Handler_tmp_write 7
Handler_update 0
Handler_write 4
show status like '%tmp%';
Variable_name Value
Created_tmp_disk_tables 1
Created_tmp_files 0
Created_tmp_tables 2
Handler_tmp_delete 0
New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write Split status variable Rows_read to Rows_read and Rows_tmp_read so that one can see how much real data is read. Same was done with with Handler_update and Handler_write. Fixed bug in MEMORY tables where some variables was counted twice. Added new internal handler call 'ha_close()' to have one place to gather statistics. Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() mysql-test/r/status.result: Updated test results and added new tests mysql-test/r/status_user.result: Udated test results mysql-test/t/status.test: Added new test for temporary table status variables sql/ha_partition.cc: Changed to call ha_close() instead of close() sql/handler.cc: Added internal_tmp_table variable for easy checking of temporary tables. Added new internal handler call 'ha_close()' to have one place to gather statistics. Gather statistics for internal temporary tables. sql/handler.h: Added handler variables internal_tmp_table, rows_tmp_read. Split function update_index_statistics() to two. Added ha_update_tmp_row() for faster tmp table handling with more statistics. sql/item_sum.cc: ha_write_row() -> ha_write_tmp_row() sql/multi_range_read.cc: close() -> ha_close() sql/mysqld.cc: New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write sql/opt_range.cc: close() -> ha_close() sql/sql_base.cc: close() -> ha_close() sql/sql_class.cc: Added handling of rows_tmp_read sql/sql_class.h: Added new satistics variables. rows_read++ -> update_rows_read() to be able to correctly count reads to internal temp tables. Added handler::ha_update_tmp_row() sql/sql_connect.cc: Added comment sql/sql_expression_cache.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_select.cc: close() -> ha_close() ha_update_row() -> ha_update_tmp_row() sql/sql_show.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_table.cc: Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() sql/sql_union.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_update.cc: ha_write_row() -> ha_write_tmp_row() sql/table.cc: close() -> ha_close() storage/heap/ha_heap.cc: Removed double counting of statistic variables. close -> ha_close() to get tmp table statistics. storage/maria/ha_maria.cc: close -> ha_close() to get tmp table statistics.
2011-06-27 18:07:24 +02:00
Handler_tmp_update 2
Handler_tmp_write 7
Rows_tmp_read 44
drop table t1;
CREATE TABLE t1 (i int(11) DEFAULT NULL, KEY i (i) ) ENGINE=MyISAM;
insert into t1 values (1),(2),(3),(4),(5);
flush status;
select * from t1 where i=5 union select * from t1 where i=5;
i
5
show status like "handler%";
Variable_name Value
Handler_commit 0
Handler_delete 0
Handler_discover 0
Handler_external_lock 0
Handler_icp_attempts 0
Handler_icp_match 0
Handler_mrr_init 0
Handler_mrr_key_refills 0
Handler_mrr_rowid_refills 0
Handler_prepare 0
Handler_read_first 0
Handler_read_key 2
2012-02-15 18:08:08 +01:00
Handler_read_last 0
Handler_read_next 2
Handler_read_prev 0
Handler_read_retry 0
Handler_read_rnd 0
Handler_read_rnd_deleted 1
Handler_read_rnd_next 2
Handler_rollback 0
Handler_savepoint 0
Handler_savepoint_rollback 0
Handler_tmp_delete 0
Handler_tmp_update 0
Handler_tmp_write 2
Handler_update 0
Handler_write 0
New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write Split status variable Rows_read to Rows_read and Rows_tmp_read so that one can see how much real data is read. Same was done with with Handler_update and Handler_write. Fixed bug in MEMORY tables where some variables was counted twice. Added new internal handler call 'ha_close()' to have one place to gather statistics. Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() mysql-test/r/status.result: Updated test results and added new tests mysql-test/r/status_user.result: Udated test results mysql-test/t/status.test: Added new test for temporary table status variables sql/ha_partition.cc: Changed to call ha_close() instead of close() sql/handler.cc: Added internal_tmp_table variable for easy checking of temporary tables. Added new internal handler call 'ha_close()' to have one place to gather statistics. Gather statistics for internal temporary tables. sql/handler.h: Added handler variables internal_tmp_table, rows_tmp_read. Split function update_index_statistics() to two. Added ha_update_tmp_row() for faster tmp table handling with more statistics. sql/item_sum.cc: ha_write_row() -> ha_write_tmp_row() sql/multi_range_read.cc: close() -> ha_close() sql/mysqld.cc: New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write sql/opt_range.cc: close() -> ha_close() sql/sql_base.cc: close() -> ha_close() sql/sql_class.cc: Added handling of rows_tmp_read sql/sql_class.h: Added new satistics variables. rows_read++ -> update_rows_read() to be able to correctly count reads to internal temp tables. Added handler::ha_update_tmp_row() sql/sql_connect.cc: Added comment sql/sql_expression_cache.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_select.cc: close() -> ha_close() ha_update_row() -> ha_update_tmp_row() sql/sql_show.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_table.cc: Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table() sql/sql_union.cc: ha_write_row() -> ha_write_tmp_row() sql/sql_update.cc: ha_write_row() -> ha_write_tmp_row() sql/table.cc: close() -> ha_close() storage/heap/ha_heap.cc: Removed double counting of statistic variables. close -> ha_close() to get tmp table statistics. storage/maria/ha_maria.cc: close -> ha_close() to get tmp table statistics.
2011-06-27 18:07:24 +02:00
drop table t1;
connection default;
set @@global.concurrent_insert= @old_concurrent_insert;
SET GLOBAL log_output = @old_log_output;