summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-11227 - mysqlimport -l doesn't issue UNLOCK TABLESmariadb-10.2.3Sergey Vojtovich2016-12-222-1/+6
| | | | Merged fix for innodb_mysql from 5.7.
* update libmariadb, and fix debian packaging for client libsVladislav Vaintroub2016-12-224-6/+5
|
* Updated test resultsSergey Vojtovich2016-12-212-2/+2
|
* MDEV-11227 - mysqlimport -l doesn't issue UNLOCK TABLESSergey Vojtovich2016-12-2130-350/+535
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Revert "Merge pull request #275 from ↵Marko Mäkelä2016-12-202-22/+4
| | | | | | | grooverdan/10.2-MDEV-11075-crc32-runtime-detect-getauxval" This reverts commit edf4cc7519b84a2e00b5284761781352b3d376f3, reversing changes made to 9320d8ae30c18420bef659618175836221d363ea.
* MDEV-11585 Hard-code the shared InnoDB temporary tablespace IDMarko Mäkelä2016-12-201-1/+1
| | | | | Try hard-coding the ID as -2 instead of -1, so that they will not be confused with ULINT_UNDEFINED on 32-bit platforms.
* Fixed bug mdev-11608.Igor Babaev2016-12-203-8/+104
| | | | | | | | | | | The fix for bug mdev-11488 introduced the virtual method convert_to_basic_const_item for the class Item_cache. The implementation of this method for the class Item_cache_str was not quite correct: the server could crash if the cached item was null. A similar problem could appear for the implementation of this method for the class Item_cache_decimal. Although I could not reproduce the problem I decided to change the code appropriately.
* MDEV-11570 JSON_MERGE returns incorrect result.Alexey Botchkov2016-12-203-10/+36
| | | | JSON merging fixed.
* MDEV-11487 Revert InnoDB internal temporary tables from WL#7682Marko Mäkelä2016-12-201-146/+0
| | | | Post-push fix: Remove the orphaned file sess0sess.h.
* Corrected a test from func_date_add.testIgor Babaev2016-12-202-0/+3
|
* Fixed bug mdev-11593.Igor Babaev2016-12-203-0/+65
| | | | | | | When a condition containing NULLIF is pushed into a materialized view/derived table the clone of the Item_func_nullif item must be processed in a special way to guarantee that the first argument points to the same item as the third argument.
* MDEV-10993: wsrep.mdev_10186 result depends on location ofNirbhay Choubey2016-12-192-2/+2
| | | | | | ... galera library Update test case.
* MDEV-11152: wsrep_replicate_myisam: SELECT gets replicatedNirbhay Choubey2016-12-194-8/+40
| | | | | | | ... using TO Fixed the 'wsrep_replicate_myisam' check to allow only limited set of commands. Added a debug assert to discover such cases.
* MDEV-10957: Assertion failure when dropping a myisam tableNirbhay Choubey2016-12-193-0/+20
| | | | | | | | | | ... with wsrep_replicate_myisam enabled Internal updates to system statistical tables could wrongly trigger an additional total-order replication if wsrep_repli -cate_myisam is enabled. Fixed by adding a check to skip total-order replication for stat tables.
* MDEV-11082: Fix mysql_client_test.c (by Elena)Nirbhay Choubey2016-12-191-0/+3
|
* Fix failing galera tests.Nirbhay Choubey2016-12-1913-98/+97
|
* MDEV-11602 InnoDB leaks foreign key metadata on DDL operationsMarko Mäkelä2016-12-194-12/+12
| | | | | | | | | Essentially revert MDEV-6759, which addressed a double free of memory by removing the freeing altogether, introducing the memory leaks. No double free was observed when running the test suite -DWITH_ASAN. Replace some mem_heap_free(foreign->heap) with dict_foreign_free(foreign) so that the calls can be located and instrumented more easily when needed.
* MDEV-11585 Hard-code the shared InnoDB temporary tablespace ID at -1Marko Mäkelä2016-12-1917-98/+76
| | | | | | | | | | | | | | | | | | | MySQL 5.7 supports only one shared temporary tablespace. MariaDB 10.2 does not support any other shared InnoDB tablespaces than the two predefined tablespaces: the persistent InnoDB system tablespace (default file name ibdata1) and the temporary tablespace (default file name ibtmp1). InnoDB is unnecessarily allocating a tablespace ID for the predefined temporary tablespace on every startup, and it is in several places testing whether a tablespace ID matches this dynamically generated ID. We should use a compile-time constant to reduce code size and to avoid unnecessary updates to the DICT_HDR page at every startup. Using a hard-coded tablespace ID will should make it easier to remove the TEMPORARY flag from FSP_SPACE_FLAGS in MDEV-11202.
* Travis: parallel_jobs=3Daniel Black2016-12-171-1/+1
|
* MDEV-11572 JSON_DEPTH returns wrong results.Alexey Botchkov2016-12-163-0/+5
| | | | JSON depth calculation fixed.
* MDEV-11569 JSON_ARRAY_INSERT produces an invalid result.Alexey Botchkov2016-12-163-27/+34
| | | | String insertion fixed.
* MDEV-JSON_CONTAINS_PATH returns incorrect results and produces wrong warning.Alexey Botchkov2016-12-163-2/+6
| | | | | The Item_func_json_contains_path was mistakenly set with the no '*' paths limitation.
* MDEV-11562 Assertion `js->state == JST_VALUE' failed in ↵Alexey Botchkov2016-12-165-24/+36
| | | | | | | | check_contains(json_engine_t*, json_engine_t*). check_contains() fixed. When an item of an array is a complex structure, it can be half-read after the end of the recursive check_contains() call. So we just manually get to it's ending.
* InnoDB: don't stop purge threads if there's work to doSergei Golubchik2016-12-151-1/+1
| | | | | in slow shutdown mode don't stop purge threads until they've purged everything there is
* InnoDB purge thread and other bg threadsSergei Golubchik2016-12-153-6/+27
| | | | | in slow shutdown mode stop all bg threads that might generate new undo records to purge before stopping purge threads.
* sporadic crashes of innodb.innodb_prefix_index_restart_serverSergei Golubchik2016-12-152-0/+12
| | | | | | | in slow shutdown mode purge threads really must exit only when there is nothing to purge. Restore the trx_commit_disallowed check and don't stop purge threads until all connection thread transactions are gone.
* Travis: add refs for future capability - when travis catches upDaniel Black2016-12-151-0/+4
|
* travis: gcc-5 and gcc-6Daniel Black2016-12-151-1/+14
|
* Follow-up for a411d7f4f6 - change in formatting of SHOW CREATE TABLEElena Stepanova2016-12-1528-393/+393
|
* Follow-up for 180065ebb0 - removal of redundant parenthesesElena Stepanova2016-12-151-24/+24
|
* Adjusted test results after merge.Igor Babaev2016-12-141-14/+14
|
* Fixed bug mdev-11488.Igor Babaev2016-12-144-9/+566
| | | | | | | | | | | | The patch for bug mdev-10882 tried to fix it by providing an implementation of the virtual method build_clone for the class Item_cache. It's turned out that it is not easy provide a valid implementation for Item_cache::build_clone(). At the same time if the condition that can be pushed into a materialized view contains a cached item this item can be substituted for a basic constant of the same value. In such a way we can avoid building proper clones for Item_cache objects when constructing pushdown conditions.
* Travis: add lib{stemmer,xml2,pcre3}-devDaniel Black2016-12-141-0/+8
|
* buildbot issuesSergei Golubchik2016-12-133-4/+4
| | | | | | * rpm upgrade fix * update test results * valgrind warning
* Merge the test innodb.innodb_misc1 into innodb.innodb.Marko Mäkelä2016-12-135-2166/+55
|
* MDEV-11470 JSON_KEYS accepts arguments in invalid format.Alexey Botchkov2016-12-136-131/+351
| | | | Now JSON functions return warnings if arguments are invalid.
* MDEV-11540 Unexpected system threads in the process listbb-10.2-vcolsSergei Golubchik2016-12-122-0/+4
| | | | name innodb background threads as such
* MDEV-11518 Assertion `!table || (!table->read_set || ↵Sergei Golubchik2016-12-123-3/+23
| | | | | | | bitmap_is_set(table->read_set, field_index))' failed in Field_long::val_int() QUICK_RANGE_SELECT::init_ror_merged_scan() should also set and restore TABLE::vcol_set
* cleanup: remove unused handler table flagSergei Golubchik2016-12-122-7/+2
|
* bugfix: reset MODE_NO_BACKSLASH_ESCAPES during vcol parsingSergei Golubchik2016-12-123-0/+44
|
* Aria: test for ER_KEY_BASED_ON_GENERATED_VIRTUAL_COLUMNSergei Golubchik2016-12-125-0/+13
| | | | | Aria supports virtual columns, but does not support indexes on virtual columns. Let's issue an appropriate error in this case.
* CONNECT: simple vcol testSergei Golubchik2016-12-122-0/+55
|
* weird compilation fixSergei Golubchik2016-12-121-3/+5
| | | | | | | strangely enough, ?: variant does not link in some older gcc versions: sql/sql_table.cc:6409: undefined reference to `Alter_inplace_info::ALTER_STORED_GCOL_EXPR' sql/sql_table.cc:6409: undefined reference to `Alter_inplace_info::ALTER_VIRTUAL_GCOL_EXPR'
* Item_func_like: print a not like b instead of !(a like b)Sergei Golubchik2016-12-1215-27/+37
|
* Item::print(): remove redundant parenthesesSergei Golubchik2016-12-12188-2553/+2684
| | | | | by introducing new Item::precedence() method and using it to decide whether parentheses are required
* MDEV-11066 use MySQL terminology for "virtual columns"Sergei Golubchik2016-12-1267-1110/+1116
|
* bugfix: InnoDB doesn't support ICP on vcolsSergei Golubchik2016-12-123-0/+7
|
* bugfix: partitioning and keyread on an indexed vcolSergei Golubchik2016-12-123-1/+41
|
* bugfix: non-deterministic vcols in partitioningSergei Golubchik2016-12-126-0/+34
|
* bugfix: non-deterministic vcols in indexesSergei Golubchik2016-12-124-9/+73
|