summaryrefslogtreecommitdiff
path: root/sql
Commit message (Collapse)AuthorAgeFilesLines
* Merge 10.1 into 10.2Marko Mäkelä2019-05-13399-401/+401
|\
| * Merge branch '5.5' into 10.1Vicențiu Ciorbaru2019-05-11350-350/+350
| |\
| | * Update FSF AddressVicențiu Ciorbaru2019-05-11322-322/+322
| | | | | | | | | | | | * Update wrong zip-code
| * | Update FSF addressVicențiu Ciorbaru2019-05-1119-19/+19
| | |
| * | Merge branch '5.5' into 10.1Vicențiu Ciorbaru2019-05-1129-31/+31
| |\ \ | | |/
| | * Follow-up to changing FSF addressVicențiu Ciorbaru2019-05-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some places didn't match the previous rules, making the Floor address wrong. Additional sed rules: sed -i -e 's/Place.*Suite .*, Boston/Street, Fifth Floor, Boston/g' sed -i -e 's/Suite .*, Boston/Fifth Floor, Boston/g'
| | * Update FSF addressMichal Schorm2019-05-1028-28/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit is based on the work of Michal Schorm, rebased on the earliest MariaDB version. Th command line used to generate this diff was: find ./ -type f \ -exec sed -i -e 's/Foundation, Inc., 59 Temple Place, Suite 330, Boston, /Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, /g' {} \; \ -exec sed -i -e 's/Foundation, Inc. 59 Temple Place.* Suite 330, Boston, /Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, /g' {} \; \ -exec sed -i -e 's/MA.*.....-1307.*USA/MA 02110-1335 USA/g' {} \; \ -exec sed -i -e 's/Foundation, Inc., 59 Temple/Foundation, Inc., 51 Franklin/g' {} \; \ -exec sed -i -e 's/Place, Suite 330, Boston, MA.*02111-1307.*USA/Street, Fifth Floor, Boston, MA 02110-1335 USA/g' {} \; \ -exec sed -i -e 's/MA.*.....-1307/MA 02110-1335/g' {} \;
* | | Merge 10.1 into 10.2Marko Mäkelä2019-05-103-51/+49
|\ \ \ | |/ /
| * | MDEV-19399 do not call slow my_timer_init() several timesEugene Kosov2019-05-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No functional change. Call my_timer_init() only once and then reuse it from InnoDB and perfschema storage engines. This patch speeds up empty test for me like this: ./mtr -mem innodb.kevg,xtradb 1.21s user 0.84s system 34% cpu 5.999 total ./mtr -mem innodb.kevg,xtradb 1.12s user 0.60s system 31% cpu 5.385 total
| * | MDEV-19427 mysql_upgrade_service throws exception upgrading from 10.0 to 10.3Vladislav Vaintroub2019-05-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The crash happens when writing into log file. The reason is likely that the call to WriteFile() was missing a valid parameter for lpNumberOfBytesWritten. This seems only to happen on ancient version of Windows. Since the fix to MDEV-16430 in 141bc58ac992, null pointer was passed instead of valid pointer. The fix is to provide a valid lpNumberOfBytesWritten parameter.
| * | MDEV-16060 - InnoDB: Failing assertion: ut_strcmp(index->name, key->name)Sergey Vojtovich2019-05-091-46/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A sequel to 9180e86 and 149b754. ALTER TABLE ... ADD FOREIGN KEY may crash if parent table is updated concurrently. Block FK parent table updates even earlier, before intermediate child table is created. Use proper charset info for my_casedn_str() and don't update original identifiers so that lower_cast_table_names == 2 is honoured.
* | | MDEV-19139: pushdown condition with Item_func_set_user_varGalina Shalygina2019-05-081-0/+1
| | | | | | | | | | | | | | | | | | | | | The bug occurs because Item_func_set_user var is allowed to be pushed into materialized derived table/view. To fix it excl_dep_on_table() as added to Item_func_set_user_var class to prevent pushdown.
* | | Merge branch '10.1' into 10.2Oleksandr Byelkin2019-05-061-4/+5
|\ \ \ | |/ /
| * | MDEV-17883: CREATE TABLE IF NOT EXISTS locking changes in 10.3.10Jan Lindström2019-05-031-4/+5
| | | | | | | | | | | | | | | Based on pull request https://github.com/MariaDB/server/pull/999 by mkaruza@galeracluster.com
* | | Merge branch '10.1' into 10.2Oleksandr Byelkin2019-05-0432-170/+555
|\ \ \ | |/ /
| * | Merge branch '5.5' into 10.1Oleksandr Byelkin2019-05-021-2/+1
| |\ \ | | |/
| | * MDEV-19349 mysql_install_db: segfault at tmp_file_prefix checkAleksey Midenkov2019-05-011-7/+1
| | |
| * | MDEV-19352: Server crash in alloc_histograms_for_table_share upon query from ↵Varun Gupta2019-05-021-2/+3
| | | | | | | | | | | | | | | | | | | | | information schema To read histograms for a table, we should check if the allocation of statistics was done or not, if not done we should not try to read histograms for such a table.
| * | Adjusting sql_command to align with higher version, this is an adjustmentVarun Gupta2019-05-021-5/+4
| | | | | | | | | | | | to the patch for MDEV-17605
| * | MDEV-14572: Assertion `! is_set()' failed in ↵Oleksandr Byelkin2019-04-301-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | Diagnostics_area::set_eof_status upon EXPLAIN UPDATE in PS Restore EXPAIN flag in SELECT_LEX before execution multi-update by flag in LEX (the same but in other way made before INSERT/DELETE/SELECT) Without it, mysql_update() didn't know that there will be EXPLAIN result set and was sending OK at the end of the update, which conflicted with the EOF sent later by EXPLAIN.
| * | MDEV-19243 Fix timezone handling on Windows to report standard timezone namesVladislav Vaintroub2019-04-303-13/+183
| | |
| * | MDEV-18738 ASAN heap-use-after-free in copy_if_not_alloced / copy_fieldsAlexander Barkov2019-04-301-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | copy_if_not_alloced() did not handle situations when "from" is a constant string pointing to a substring of "to", so this code part freed "to" but then tried to copy its old (already freed) content to a new buffer: if (to->realloc(from_length)) return from; if ((to->str_length=MY_MIN(from->str_length,from_length))) memcpy(to->Ptr,from->Ptr,to->str_length); Adding a new code piece that catches such constant substrings and propery reallocs "to" to preserve its important part referenced by "from".
| * | MDEV-19265 Server should throw warning if event is created and ↵Vladislav Vaintroub2019-04-281-0/+6
| | | | | | | | | | | | event_scheduler = OFF
| * | MDEV-19276 during connect, write error log warning for ER_DBACCESS_DENIED_ERROR,Vladislav Vaintroub2019-04-283-18/+34
| | | | | | | | | | | | | | | | | | | | | if log_warnings > 1. This makes ER_DBACCESS_DENIED_ERROR handling the same as we do for other "access denied"
| * | MDEV-19262 Server error message is unclear if event is created and ↵Vladislav Vaintroub2019-04-281-2/+2
| | | | | | | | | | | | | | | | | | event_scheduler = DISABLED Change error message.
| * | MDEV-19351 statistics_for_command_is_needed: Conditional jump or moveIgor Babaev2019-04-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | depends on uninitialised value Initialized THD::force_read_stats introduced in the patch for MDEV-17605. Leaving this field uninitialized in the constructor of the THD class may trigger reading statistical data that is not needed.
| * | MDEV-19350 Server crashes in delete_tree_element / ... / ↵Sergei Golubchik2019-04-271-2/+2
| | | | | | | | | | | | | | | | | | | | | Item_func_group_concat::repack_tree Item_func_group_concat stores values in `tree`, which is often, but not always the same as `&tree_base`.
| * | MDEV-19334: bool is_eits_usable(Field*): Assertion ↵Varun Gupta2019-04-271-4/+11
| | | | | | | | | | | | | | | | | | `field->table->stats_is_read' failed. Fixed the assert by making sure that not to use EITS if the column statistics was not allocated.
| * | MDEV-11015 Assertion failed: precision > 0 in decimal_bin_size upon SELECT ↵Alexander Barkov2019-04-271-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with DISTINCT, CAST and other functions Item_func_min_max::fix_length_and_dec() erroneously set max_length to UINT32_MAX. Merge notes: In 10.3 this problem had been fixed earlier. During merge to 10.3, do a "null merge" in item_func.cc
| * | Merge branch '5.5' into 10.1Sergei Golubchik2019-04-2614-107/+162
| |\ \ | | |/
| | * Bug#28986737: RENAMING AND REPLACING MYSQL.USER TABLE CAN LEAD TO A SERVER CRASHSergei Golubchik2019-04-251-0/+8
| | |
| | * ProblemVenkatesh Venugopal2019-04-252-21/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ------- MySQL abnormally exits on KILL command. Fix --- The abnormal exit has been fixed. RB: 20971, 21129, 21237
| | * MDEV-15907 ASAN heap-use-after-freeRobert Bindar2019-04-242-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes an invalid read in fill_effective_table_privileges triggered by a grant_version increase between a PREPARE for a statement creating a view from I_S and EXECUTE. A tmp table was created and free'd while preparing the statement, TABLE_LIST::table_name was set to point to the tmp table TABLE_SHARE::table_name which no longer existed after preparing was done. The grant version increase made fill_effective_table_privileges called during EXECUTE to try fetch the updated grant info and this is where the dangling table name was used.
| | * MDEV-18507 can't update temporary table when joined with table with triggers ↵Sergei Golubchik2019-04-245-7/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on read-only triggers are opened and tables used in triggers are prelocked in open_tables(). But multi-update can detect what tables will actually be updated only later, after all main tables are opened. Meaning, if a table is used in multi-update, but is not actually updated, its on-update treggers will be opened and tables will be prelocked, even if it's unnecessary. This can cause more tables to be write-locked than needed, causing read_only errors, privilege errors and lock waits. Fix: don't open/prelock triggers unless table->updating is true. In multi-update after setting table->updating=true, do a second open_tables() for newly added tables, if any.
| | * bugfix: multi-update checked privileges on views incorrectlySergei Golubchik2019-04-244-13/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it always required UPDATE privilege on views, not being able to detect when a views was not actually updated in multi-update. fix: instead of marking all tables as "updating" by default, only set "updating" on tables that will actually be updated by multi-update. And mark the view "updating" if any of the view's tables is.
| | * MDEV-18241 Downgrade from 10.4 to 10.3 crashesSergei Golubchik2019-04-241-0/+4
| | | | | | | | | | | | | | | privilege tables can never be views or temporary tables, don't even try to open them, if they are.
| | * cleanupSergei Golubchik2019-04-244-92/+119
| | |
| | * MDEV-18923 Assertion `!lex_string_cmp(system_charset_info, ↵Sergei Golubchik2019-04-241-9/+5
| | | | | | | | | | | | | | | | | | | | | fk_info->referenced_table, &table->s->table_name)' failed in fk_truncate_illegal_if_parent don't assert the correctness of FK constraints, as it can be broken under `SET FOREIGN_KEY_CHECKS= OFF`
| * | Bug#28573894 ALTER PARTITIONED TABLE ADD AUTO_INCREMENT DIFF RESULT ↵Marko Mäkelä2019-04-252-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DEPENDING ON ALGORITHM For partitioned table, ensure that the AUTO_INCREMENT values will be assigned from the same sequence. This is based on the following change in MySQL 5.6.44: commit aaba359c13d9200747a609730dafafc3b63cd4d6 Author: Rahul Malik <rahul.m.malik@oracle.com> Date: Mon Feb 4 13:31:41 2019 +0530 Bug#28573894 ALTER PARTITIONED TABLE ADD AUTO_INCREMENT DIFF RESULT DEPENDING ON ALGORITHM Problem: When a partition table is in-place altered to add an auto-increment column, then its values are starting over for each partition. Analysis: In the case of in-place alter, InnoDB is creating a new sequence object for each partition. It is default initialized. So auto-increment columns start over for each partition. Fix: Assign old sequence of the partition to the sequence of next partition so it won't start over. RB#21148 Reviewed by Bin Su <bin.x.su@oracle.com>
| * | MDEV-18452 ASAN unknown-crash in Field::set_default upon SET bit_column = ↵Alexander Barkov2019-04-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DEFAULT Field_bit for BIT(20) uses 2 full bytes in the record, with additional 4 uneven bits in the "null bit area". Field::set_default() called from Field_bit::set_default() erroneously copied 3 bytes instead of 2 bytes from the record with default values. Changing Field::set_default() to copy pack_length_in_rec() bytes instead of pack_length() bytes.
| * | MDEV-9531 GROUP_CONCAT with ORDER BY inside takes a lot of memory while it's ↵Sergei Golubchik2019-04-242-4/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | executed group concat tree is allocated in a memroot, so the only way to free memory is to copy a part of the tree into a new memroot. track the accumilated length of the result, and when it crosses the threshold - copy the result into a new tree, free the old one.
| * | don't cast random items to Item_result_field*Sergei Golubchik2019-04-241-9/+9
| | | | | | | | | | | | do it only for items that inherit from Item_result_field*
| * | cleanup: cosmetic fixesSergei Golubchik2019-04-242-4/+5
| | |
* | | MDEV-18373: DENSE_RANK is not calculated correctlyVarun Gupta2019-05-041-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | Need to call split_sum_func if an aggregate function is part of order by or partition by clause so that we have the required fields inside the temporary table, as all the fields inside the partition by and order by clause of the window function needs to be there in the temp table used for window function computation.
* | | MDEV-14791: Crash with order by expression containing window functionsVarun Gupta2019-05-042-23/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The issue here is that for a window function in the ORDER BY clause, we were not creating an extra field in the temporary table for the window function (which is contained in an expression). So a call to split_sum_func is added to handle this case Also we need to update all items that contain a window function in the temp table during window function computation as filesort would need these values to be updated to calculate the ORDER BY clause of the select.
* | | MDEV-17781: Server crashes in next_linear_tabVarun Gupta2019-05-041-1/+1
| | | | | | | | | | | | | | | | | | For degenerate joins we may have JOIN::table_list as NULL, so instead of using JOIN::top_join_tab_count use the function JOIN::exec_join_tab_cnt to get the number of tables joined at the top level.
* | | MDEV-17654 Incorrect syntax returned for column with CHECK constraint in the ↵Anel Husakovic2019-05-011-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | "SHOW CREATE TABLE ..." result Prepend COMMENT before CHECK constraint in SHOW CREATE Closes #924
* | | MDEV-15051: signal handler - output information about the core generationDaniel Black2019-05-011-4/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The working directory, resource limits and core pattern will aid the user finding a core file in the case of failure. While the core file size is most relevant however other resource limits may give a clue as the the cause of the fatal signal so include them also. As signal handler functions are limited, proc filesystem reads/ readlink calls are used instead of the more obvious getcwd/getrlimits functions which aren't listed as signal safe. Results in output of the form: Writing a core file: working directory at /tmp/datadir Resource Limits: Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 8388608 unlimited bytes Max core file size unlimited unlimited bytes Max resident set unlimited unlimited bytes Max processes 47194 47194 processes Max open files 1024 4096 files Max locked memory 65536 65536 bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 47194 47194 signals Max msgqueue size 819200 819200 bytes Max nice priority 0 0 Max realtime priority 0 0 Max realtime timeout unlimited unlimited us Core pattern: |/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t %P %I Segmentation fault (core dumped) Closes #537
* | | compilation fixes for VS 2019Sergei Golubchik2019-05-011-5/+5
| | |
* | | MDEV-19188 Server Crash When Using a Trigger With A Number of Virtual ↵Nikita Malyavin2019-04-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Columns on INSERT/UPDATE use s->fields instead of s->stored_fields. extra_null_bitmap is allocated in Table_triggers_list::prepare_record_accessors with respect to virtual fields, so it will not overflow Closes #1292