summaryrefslogtreecommitdiff
path: root/sql/sql_update.cc
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch '5.5' into 10.0Sergei Golubchik2015-05-041-2/+2
|\
| * MDEV-8018: main.multi_update fails with --ps-protocolOleksandr Byelkin2015-04-221-1/+1
| | | | | | | | | | | | save_prep_leaf_tables() made recursive to work with underlying view Arena restoiring fixed in case of EOM.
* | MDEV-7144 Warnings "bytes lost" during server shutdown after running ↵Sergei Golubchik2014-11-221-0/+3
| | | | | | | | connect.part_file test in buildbot
* | MDEV-6849 ON UPDATE CURRENT_TIMESTAMP doesn't always workSergei Golubchik2014-11-131-0/+3
| | | | | | | | | | | | | | | | | | reset default fields not for every modified row, but only once, at the beginning, as the set of modified fields doesn't change. exception: INSERT ... ON DUPLICATE KEY UPDATE - the set of fields does change per row and in that case we reset default fields per row.
* | sql_update.cc: always update default fields *after* compare_record()Sergei Golubchik2014-11-111-2/+5
| | | | | | | | (it was *after* in two cases and *before* in one case)
* | MDEV-5120 Test suite test maria-no-logging failsMichael Widenius2014-09-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The reason for the failure was a bug in an include file on debian that causes 'struct stat' to have different sized depending on the environment. This patch fixes so that we always include my_global.h or my_config.h before we include any other files. Other things: - Removed #include <my_global.h> in some include files; Better to always do this at the top level to have as few "always-include-this-file-first' files as possible. - Removed usage of some include files that where already included by my_global.h or by other files. client/mysql_plugin.c: Use my_global.h first client/mysqlslap.c: Remove duplicated include files extra/comp_err.c: Remove duplicated include files include/m_string.h: Remove duplicated include files include/maria.h: Remove duplicated include files libmysqld/emb_qcache.cc: Use my_global.h first plugin/semisync/semisync.h: Use my_pthread.h first sql/datadict.cc: Use my_global.h first sql/debug_sync.cc: Use my_global.h first sql/derror.cc: Use my_global.h first sql/des_key_file.cc: Use my_global.h first sql/discover.cc: Use my_global.h first sql/event_data_objects.cc: Use my_global.h first sql/event_db_repository.cc: Use my_global.h first sql/event_parse_data.cc: Use my_global.h first sql/event_queue.cc: Use my_global.h first sql/event_scheduler.cc: Use my_global.h first sql/events.cc: Use my_global.h first sql/field.cc: Use my_global.h first Remove duplicated include files sql/field_conv.cc: Use my_global.h first sql/filesort.cc: Use my_global.h first Remove duplicated include files sql/gstream.cc: Use my_global.h first sql/ha_ndbcluster.cc: Use my_global.h first sql/ha_ndbcluster_binlog.cc: Use my_global.h first sql/ha_ndbcluster_cond.cc: Use my_global.h first sql/ha_partition.cc: Use my_global.h first sql/handler.cc: Use my_global.h first sql/hash_filo.cc: Use my_global.h first sql/hostname.cc: Use my_global.h first sql/init.cc: Use my_global.h first sql/item.cc: Use my_global.h first sql/item_buff.cc: Use my_global.h first sql/item_cmpfunc.cc: Use my_global.h first sql/item_create.cc: Use my_global.h first sql/item_geofunc.cc: Use my_global.h first sql/item_inetfunc.cc: Use my_global.h first sql/item_row.cc: Use my_global.h first sql/item_strfunc.cc: Use my_global.h first sql/item_subselect.cc: Use my_global.h first sql/item_sum.cc: Use my_global.h first sql/item_timefunc.cc: Use my_global.h first sql/item_xmlfunc.cc: Use my_global.h first sql/key.cc: Use my_global.h first sql/lock.cc: Use my_global.h first sql/log.cc: Use my_global.h first sql/log_event.cc: Use my_global.h first sql/log_event_old.cc: Use my_global.h first sql/mf_iocache.cc: Use my_global.h first sql/mysql_install_db.cc: Remove duplicated include files sql/mysqld.cc: Remove duplicated include files sql/net_serv.cc: Remove duplicated include files sql/opt_range.cc: Use my_global.h first sql/opt_subselect.cc: Use my_global.h first sql/opt_sum.cc: Use my_global.h first sql/parse_file.cc: Use my_global.h first sql/partition_info.cc: Use my_global.h first sql/procedure.cc: Use my_global.h first sql/protocol.cc: Use my_global.h first sql/records.cc: Use my_global.h first sql/records.h: Don't include my_global.h Better to do this at the upper level sql/repl_failsafe.cc: Use my_global.h first sql/rpl_filter.cc: Use my_global.h first sql/rpl_gtid.cc: Use my_global.h first sql/rpl_handler.cc: Use my_global.h first sql/rpl_injector.cc: Use my_global.h first sql/rpl_record.cc: Use my_global.h first sql/rpl_record_old.cc: Use my_global.h first sql/rpl_reporting.cc: Use my_global.h first sql/rpl_rli.cc: Use my_global.h first sql/rpl_tblmap.cc: Use my_global.h first sql/rpl_utility.cc: Use my_global.h first sql/set_var.cc: Added comment sql/slave.cc: Use my_global.h first sql/sp.cc: Use my_global.h first sql/sp_cache.cc: Use my_global.h first sql/sp_head.cc: Use my_global.h first sql/sp_pcontext.cc: Use my_global.h first sql/sp_rcontext.cc: Use my_global.h first sql/spatial.cc: Use my_global.h first sql/sql_acl.cc: Use my_global.h first sql/sql_admin.cc: Use my_global.h first sql/sql_analyse.cc: Use my_global.h first sql/sql_audit.cc: Use my_global.h first sql/sql_base.cc: Use my_global.h first sql/sql_binlog.cc: Use my_global.h first sql/sql_bootstrap.cc: Use my_global.h first Use my_global.h first sql/sql_cache.cc: Use my_global.h first sql/sql_class.cc: Use my_global.h first sql/sql_client.cc: Use my_global.h first sql/sql_connect.cc: Use my_global.h first sql/sql_crypt.cc: Use my_global.h first sql/sql_cursor.cc: Use my_global.h first sql/sql_db.cc: Use my_global.h first sql/sql_delete.cc: Use my_global.h first sql/sql_derived.cc: Use my_global.h first sql/sql_do.cc: Use my_global.h first sql/sql_error.cc: Use my_global.h first sql/sql_explain.cc: Use my_global.h first sql/sql_expression_cache.cc: Use my_global.h first sql/sql_handler.cc: Use my_global.h first sql/sql_help.cc: Use my_global.h first sql/sql_insert.cc: Use my_global.h first sql/sql_lex.cc: Use my_global.h first sql/sql_load.cc: Use my_global.h first sql/sql_locale.cc: Use my_global.h first sql/sql_manager.cc: Use my_global.h first sql/sql_parse.cc: Use my_global.h first sql/sql_partition.cc: Use my_global.h first sql/sql_plugin.cc: Added comment sql/sql_prepare.cc: Use my_global.h first sql/sql_priv.h: Added error if we use this before including my_global.h This check is here becasue so many files includes sql_priv.h first. sql/sql_profile.cc: Use my_global.h first sql/sql_reload.cc: Use my_global.h first sql/sql_rename.cc: Use my_global.h first sql/sql_repl.cc: Use my_global.h first sql/sql_select.cc: Use my_global.h first sql/sql_servers.cc: Use my_global.h first sql/sql_show.cc: Added comment sql/sql_signal.cc: Use my_global.h first sql/sql_statistics.cc: Use my_global.h first sql/sql_table.cc: Use my_global.h first sql/sql_tablespace.cc: Use my_global.h first sql/sql_test.cc: Use my_global.h first sql/sql_time.cc: Use my_global.h first sql/sql_trigger.cc: Use my_global.h first sql/sql_udf.cc: Use my_global.h first sql/sql_union.cc: Use my_global.h first sql/sql_update.cc: Use my_global.h first sql/sql_view.cc: Use my_global.h first sql/sys_vars.cc: Added comment sql/table.cc: Use my_global.h first sql/thr_malloc.cc: Use my_global.h first sql/transaction.cc: Use my_global.h first sql/uniques.cc: Use my_global.h first sql/unireg.cc: Use my_global.h first sql/unireg.h: Removed inclusion of my_global.h storage/archive/ha_archive.cc: Added comment storage/blackhole/ha_blackhole.cc: Use my_global.h first storage/csv/ha_tina.cc: Use my_global.h first storage/csv/transparent_file.cc: Use my_global.h first storage/federated/ha_federated.cc: Use my_global.h first storage/federatedx/federatedx_io.cc: Use my_global.h first storage/federatedx/federatedx_io_mysql.cc: Use my_global.h first storage/federatedx/federatedx_io_null.cc: Use my_global.h first storage/federatedx/federatedx_txn.cc: Use my_global.h first storage/heap/ha_heap.cc: Use my_global.h first storage/innobase/handler/handler0alter.cc: Use my_global.h first storage/maria/ha_maria.cc: Use my_global.h first storage/maria/unittest/ma_maria_log_cleanup.c: Remove duplicated include files storage/maria/unittest/test_file.c: Added comment storage/myisam/ha_myisam.cc: Move sql_plugin.h first as this includes my_global.h storage/myisammrg/ha_myisammrg.cc: Use my_global.h first storage/oqgraph/oqgraph_thunk.cc: Use my_config.h and my_global.h first One could not include my_global.h before oqgraph_thunk.h (don't know why) storage/spider/ha_spider.cc: Use my_global.h first storage/spider/hs_client/config.cpp: Use my_global.h first storage/spider/hs_client/escape.cpp: Use my_global.h first storage/spider/hs_client/fatal.cpp: Use my_global.h first storage/spider/hs_client/hstcpcli.cpp: Use my_global.h first storage/spider/hs_client/socket.cpp: Use my_global.h first storage/spider/hs_client/string_util.cpp: Use my_global.h first storage/spider/spd_conn.cc: Use my_global.h first storage/spider/spd_copy_tables.cc: Use my_global.h first storage/spider/spd_db_conn.cc: Use my_global.h first storage/spider/spd_db_handlersocket.cc: Use my_global.h first storage/spider/spd_db_mysql.cc: Use my_global.h first storage/spider/spd_db_oracle.cc: Use my_global.h first storage/spider/spd_direct_sql.cc: Use my_global.h first storage/spider/spd_i_s.cc: Use my_global.h first storage/spider/spd_malloc.cc: Use my_global.h first storage/spider/spd_param.cc: Use my_global.h first storage/spider/spd_ping_table.cc: Use my_global.h first storage/spider/spd_sys_table.cc: Use my_global.h first storage/spider/spd_table.cc: Use my_global.h first storage/spider/spd_trx.cc: Use my_global.h first storage/xtradb/handler/handler0alter.cc: Use my_global.h first storage/xtradb/handler/i_s.cc: Use my_global.h first
* | MDEV-6050 MySQL Bug#13036505 62540: TABLE LOCKS WITHIN STORED FUNCTIONS ARE ↵Sergei Golubchik2014-07-311-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | BACK IN 5.5 WITH MIXED AND ROW BI cherry-pick revno 4053 committer: Gopal Shankar <gopal.shankar@oracle.com> branch nick: sf_mysql-5.6 timestamp: Fri 2012-07-20 12:25:34 +0530 message: Bug#13036505 62540: TABLE LOCKS WITHIN STORED FUNCTIONS ARE BACK IN 5.5 WITH MIXED AND ROW BI.
* | 5.5.38 mergeSergei Golubchik2014-06-061-0/+7
|\ \ | |/
| * MDEV-6163: Error while executing an update query that has the same table in ↵unknown2014-06-041-0/+7
| | | | | | | | | | | | a sub-query We have to run the derived table prepare before the unique table check to mark the derived table (in this case the unique table check can turn that table to materialized one).
* | 5.5 mergeSergei Golubchik2014-05-091-4/+4
|\ \ | |/
| * MDEV-6193: Problems with multi-table updates that JOIN against read-only tableunknown2014-05-081-4/+4
| | | | | | | | All underlying tables should share the same lock type.
| * rename handler::ha_set_lock_type() -> handler::set_lock_type(),Sergei Golubchik2014-04-281-1/+1
| | | | | | | | because it's not a handler convenience wrapper
| * MDEV-6139: UPDATE w/ join against MRG_MyISAM table with read-only sub-table ↵unknown2014-04-281-1/+1
| | | | | | | | | | | | | | | | | | | | failsUPDATE w/ join against MRG_MyISAM table with read-only sub-table fails The problem was that on opening all tables TL_WRITE, than local tables which is not updated set to TL_READ, but underlying tables of MyISAMmrg left untouched. Prartition engine has not this problem. All cases where lock_type assigned is not changed because call of virtual function is not cheap.
* | Fixed the problem of mdev-5970: Igor Babaev2014-04-171-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | back-ported the patch for bug #13256831 from mysql-5.6 code line. Here's the comment this patch was provided with: Fixed bug#13256831 - ERROR 1032 (HY000): CAN'T FIND RECORD. This bug only occurs if a user tries to update a base table using an updatable view and this view was created as a join for which the clause 'WITH CHECK OPTION' was specified. The reason for the bug was that when such an update was executed, row positions were not properly handled for tables that were not updated but had constraints that had to be checked due to the 'WITH CHECK OPTION' clause. The reason for the bug was that when such update is executed then for tables specified in the view definition and also listed in the 'WITH CHECK OPTION' clause the positioning to row being updated is not performed.
* | MDEV-5876: MySQL bug #11766767 - "59957: VIEW USING MERGE PERMISSIONS IN ↵Michael Widenius2014-03-241-11/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MULTI-TABLE UPDATE" Backported multi_update_check_table_access() from 5.6 The code is slightly different in MariaDB, becasue we instansiate fields in merged tables earlier. mysql-test/mysql-test-run.pl: Fixed comment mysql-test/r/view_grant.result: Merged test case from 5.6 mysql-test/t/view_grant.test: Merged test case from 5.6 sql/sql_parse.cc: Reset orig_want_privilege as this will be rechecked later. If not, we will have a problem in mysql_multi_update_prepare() for the call to mysql_handle_derived() sql/sql_update.cc: Backport multi_update_check_table_access() from 5.6
* | MDEV-5433 select_result::send_error() is unusedSergei Golubchik2014-03-261-8/+1
| | | | | | | | remove dead code
* | MDEV-9095: Executing triggers on slave in row-based replicationunknown2014-03-191-20/+2
| |
* | MDEV-4410: update does not want to use a covering index, but select uses itSergey Petrunya2014-03-161-1/+1
| | | | | | | | | | | | - If an UPDATE 1) modifies the key it is using, and 2) has ORDER BY ... LIMIT which matches the key it is using, Then we should use "Using buffer", not "Using filesort".
* | MDEV-5314 - Compiling fails on OSX using clangSergey Vojtovich2014-02-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | This is port of fix for MySQL BUG#17647863. revno: 5572 revision-id: jon.hauglid@oracle.com-20131030232243-b0pw98oy72uka2sj committer: Jon Olav Hauglid <jon.hauglid@oracle.com> timestamp: Thu 2013-10-31 00:22:43 +0100 message: Bug#17647863: MYSQL DOES NOT COMPILE ON OSX 10.9 GM Rename test() macro to MY_TEST() to avoid conflict with libc++.
* | Fixes to get valgrind to work with jemallocMichael Widenius2014-01-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Added MALLOC_LIBRARY variable to hold name of malloc library - Back ported valgrind related fixes from jemalloc 3.4.1 to the included jemalloc 3.3.1 - Renamed bitmap_init() and bitmap_free() to my_bitmap_init() and my_bitmap_free() to avoid clash with jemalloc 3.4.1 - Use option --soname-synonyms=somalloc=NON to valgrind when using jemalloc - Show version related variables in mysqld --help -- Added SHOW_VALUE_IN_HELP marker Increased back_log to 150 as the original value was a bit too small CMakeLists.txt: Added MALLOC_LIBRARY variable to hold name of malloc library cmake/jemalloc.cmake: Added MALLOC_LIBRARY variable to hold name of malloc library config.h.cmake: Added MALLOC_LIBRARY variable to hold name of malloc library extra/jemalloc/ChangeLog: Updates changelog extra/jemalloc/include/jemalloc/internal/arena.h: Backported valgrind fixes from jemalloc 3.4.1 extra/jemalloc/include/jemalloc/internal/jemalloc_internal.h.in: Backported valgrind fixes from jemalloc 3.4.1 extra/jemalloc/include/jemalloc/internal/private_namespace.h: Backported valgrind fixes from jemalloc 3.4.1 extra/jemalloc/include/jemalloc/internal/tcache.h: Backported valgrind fixes from jemalloc 3.4.1 extra/jemalloc/src/arena.c: Backported valgrind fixes from jemalloc 3.4.1 include/my_bitmap.h: Renamed bitmap_init() and bitmap_free() to my_bitmap_init() and my_bitmap_free() to avoid clash with jemalloc 3.4.1 mysql-test/mysql-test-run.pl: Use option --soname-synonyms=somalloc=NON to valgrind when using jemalloc mysql-test/valgrind.supp: Supression of memory leak in OpenSuse 12.3 mysys/my_bitmap.c: Renamed bitmap_init() and bitmap_free() to my_bitmap_init() and my_bitmap_free() sql/ha_ndbcluster_binlog.cc: Renames sql/ha_ndbcluster_cond.h: Renames sql/ha_partition.cc: Renames sql/handler.cc: Renames sql/item_subselect.cc: Renames sql/log_event.cc: Renames sql/log_event_old.cc: Renames sql/mysqld.cc: Renames Show version related variables in mysqld --help sql/opt_range.cc: Renames sql/opt_table_elimination.cc: Renames sql/partition_info.cc: Renames sql/rpl_injector.h: Renames sql/set_var.h: Renames sql/slave.cc: Renames sql/sql_bitmap.h: Renames sql/sql_insert.cc: Renames sql/sql_lex.h: Renames sql/sql_parse.cc: Renames sql/sql_partition.cc: Renames sql/sql_select.cc: Renames sql/sql_show.cc: Renames sql/sql_update.cc: Renames sql/sys_vars.cc: Show version related variables in mysqld --help sql/sys_vars.h: Added SHOW_VALUE_IN_HELP marker for variables that should be shown in --help sql/table.cc: Renames sql/table.h: Removed not used bitmap_init_value storage/connect/ha_connect.cc: Removed compiler warning storage/maria/ma_open.c: Renames unittest/mysys/bitmap-t.c: Renames
* | Merge 10.0-base -> 10.0Sergey Petrunya2013-10-161-23/+98
|\ \
| * | MDEV-3798: [SHOW] EXPLAIN UPDATE/DELETE, Memory leak in ↵Sergey Petrunya2013-10-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | binlog.binlog_base64_flag: - It turns out, there are statements that will call lex_start(thd->lex) after parsing has been finished. lex_start() will set lex->explain=NULL, which will lose the pointer to already allocated Explain_plan object. - To get rid of this, switch to lazy creation of lex->explain. Now, it is created only when we get a part ot query plan.
| * | MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-151-31/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fix a problem with EXPLAIN multi_table UPDATE: = Do use multi_update object, because multi_update::prepare() does various setup, e.g. it disables index-only for the tables to be updated. = Protect multi_update::prepare() from being invoked multiple times. If the query has subqueries, they may try to invoke it, for some reason.
| * | MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-141-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the SHOW EXPLAIN code to work with the new architecture (part#1): Before, SHOW EXPLAIN operated on real query plan structures, which meant it had to check when SELECTs are created/deleted. SELECTs would call apc_target->enable() when they got a query plan and disable() when their query plan was deleted. Now, Explain data structure becomes available at once (and we call apc_target->enable()) and then it stays until it is deleted (when that happens, we call apc_target->disable()).
| * | MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-091-3/+9
| | | | | | | | | | | | | | | - Produce correct #rows for ORDER BY ... LIMIT N queries that take advantage of ordered index read to read only N rows.
| * | MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-091-9/+15
| | | | | | | | | | | | | | | - Generate correct contents of `Extra` column for UPDATEs/DELETEs that use quick selects - UPDATEs with used_key_is_modified=true will show "Using buffer"
| * | MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-081-1/+1
| | | | | | | | | | | | | | | - Update test results after last few csets - Generate correct value for `possible_keys` column for single table UPDATE/DELETE.
| * | MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-071-14/+3
| | | | | | | | | | | | | | | - Add support for EXPLAIN INSERT.
| * | Better commentsSergey Petrunya2013-10-051-2/+0
| | |
| * | MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-051-0/+5
| | | | | | | | | | | | - Handle the case when EXPLAIN UPDATE/DELETE has pruned away all partitions.
| * | MDEV-3798: EXPLAIN UPDATE/DELETESergey Petrunya2013-10-051-4/+4
| | | | | | | | | | | | - Address review feedback: rename nearly any name used by the new EXPLAIN code.
| * | EXPLAIN UPDATE/DELETE Sergey Petrunya2013-10-011-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | - Make EXPLAIN UPDATE/DELETE work inside SPs - Return correct error code from mysql_delete() - EXPLAIN <multi-DELETE> will create a multi_delete object (as it affects the optimization). select_result will be only used for producing EXPLAIN output.
| * | Code cleanup.Sergey Petrunya2013-09-171-3/+2
| | |
| * | [SHOW] EXPLAIN UPDATE/DELETE, code re-structuringSergey Petrunya2013-08-241-23/+120
| |\ \ | | | | | | | | | | | | - Merge with current 10.0-base
| | * | Code cleanupSergey Petrunya2013-06-271-1/+0
| | | |
| | * | [SHOW] EXPLAIN UPDATE/DELETE, code re-structuringSergey Petrunya2013-06-201-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Single table UPDATE/DELETE - Correctly print type=SIMPLE vs type=PRIMARY - Handle UPDATE/DELETE of mergeable VIEWs: we get the VIEW's select as the first subquery. (MySQL 5.6 doesn't print it because it finds that the subquery is not attached to any select)
| | * | [SHOW] EXPLAIN UPDATE/DELETE, code re-structuringSergey Petrunya2013-06-201-51/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Introduce back QueryPlan/QueryPlanFootprint separation for single-table UPDATEs/DELETEs - Create an empty QueryPlanFootprint for all kinds of queries
| | * | [SHOW] EXPLAIN UPDATE/DELETE, code re-structuringSergey Petrunya2013-06-181-28/+40
| | | | | | | | | | | | | | | | | | | | - Make EXPLAIN UPDATE/DELETE use "Query Plan Footprints", too.
| | * | [SHOW] EXPLAIN UPDATE/DELETE, code re-structuringSergey Petrunya2013-06-181-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Part 2 of: - Pass more tests - select with subselects is now shown with type=PRIMARY where it used to be (incorrectly) 'SIMPLE'
| | * | SHOW EXPLAIN DELETE, post merge fixesSergey Petrunya2013-05-271-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fix asserts, make sure that mysql_delete() operates on thd->apc_target correctly* in all kinds of special cases * - correctly means that one must switch it OFF iff it was switched ON. - Added a few asserts to catch similar errors.
| | * | [SHOW] EXPLAIN UPDATE/DELETE - Merge with 10.0-baseSergey Petrunya2013-05-271-23/+108
| | |\ \
| | | * | SHOW EXPLAIN for MariaDBSergey Petrunya2013-02-121-26/+108
| | | | | | | | | | | | | | | | | | | | - Support [SHOW] EXPLAIN UPDATE (needs code cleanup).
| | | * | EXPLAIN DELETE for MariaDBSergey Petrunya2013-02-121-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | - Backported the code to 10.0-base - Removed incorrect assert
* | | | | 10.0-monty mergeSergei Golubchik2013-07-211-4/+4
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | includes: * remove some remnants of "Bug#14521864: MYSQL 5.1 TO 5.5 BUGS PARTITIONING" * introduce LOCK_share, now LOCK_ha_data is strictly for engines * rea_create_table() always creates .par file (even in "frm-only" mode) * fix a 5.6 bug, temp file leak on dummy ALTER TABLE
| * | | | | A fix of unions with duplicate rows and returning bug fix for lp:732124 ↵unknown2013-06-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | union + limit returns wrong result
| * | | | | Finished merging wl5986 started by Igor.unknown2013-06-191-1/+1
| | | | | |
| * | | | | Fixed some merge issues:Michael Widenius2013-06-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - temporary tables now works - mysql-system_tables updated to not use temporary tables - PASSWORD() function fixed - Support for STATS_AUTO_RECALC, STATS_PERSISTENT and STATS_SAMPLE_PAGES table options
| * | | | | Applied all changes from Igor and SanjaMichael Widenius2013-06-151-4/+4
| | | | | |
* | | | | | 10.0-base mergeSergei Golubchik2013-07-181-5/+22
|\ \ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | 5.5 mergeSergei Golubchik2013-07-171-5/+22
| |\ \ \ \ \ | | |_|/ / / | |/| | | / | | | |_|/ | | |/| |