summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-13440 mysql_install_db fails with hard-coded langdirSergei Golubchik2017-10-171-4/+4
| | | | | | | always search in compile-time specified paths INSTALL_BINDIR, INSTALL_SBINDIR, INSTALL_MYSQLSHAREDIR. User can set them to arbitrary values, it's not enough to search only in their usual values of bin, sbin and libexec, share and share/mysql.
* cleanup mysql_install_dbSergei Golubchik2017-10-172-23/+30
| | | | | | | | | | 1. detect resolveip location, don' assume it's in $basedir/bin 2. don't guess $scriptdir to (incorrectly) construct the $0 path 3. rename find_in_basedir -> find_in_dirs, don't prepend $basedir automatically. This allows to use identical path lists in find_in_dirs and in cannot_find_file. 4. move search path lists to CMakeLists.txt to avoid specifying the same path list twice (in find_in_dirs and in cannot_find_file).
* MDEV-13459 Warnings, when compiling with gcc-7.xSergei Golubchik2017-10-1753-124/+170
| | | | mostly caused by -Wimplicit-fallthrough
* Cleanup usage of DBUG_ASSERTS.Oleksandr Byelkin2017-10-131-2/+1
|
* MDEV-9619: Assertion `null_ref_table' failed in virtual table_map ↵Oleksandr Byelkin2017-10-1316-33/+332
| | | | | | Item_direct_view_ref::used_tables() const on 2nd execution of PS Refer left expression indirectly in case it changes from execution to execution.
* Fixed the bug mdev-13135.Igor Babaev2017-10-133-4/+53
| | | | | | | | | | | | For each SELECT the list sj_nests is built by the function simplify_joins() when scanning different join nests. This function may be called several times for the same join nest. That's why before adding a new member to sj_nests it is necessary to check if it's already in the list. The code of simplify_joins() lacked this check and as a result it could cause memory overwright for some queries.
* MDEV-10892 - rpl.rpl_semi_sync_uninstall_plugin fails with Assertion `0' failureSergey Vojtovich2017-10-132-36/+26
| | | | | | | | | | | | | | in buildbot Removed plugin_array_version: it is being checked without mutex protection and thus is prone to data race and race conditions. In effect plugins are not protected from concurrent destruction. Removed state_mask inversion: doesn't seem to make any sense. When collecting local plugins list, only add plugins that match state_mask. Use plugin ref counting to protect against concurrent plugin destruction.
* MDEV-9208: Function->Function->View = Mysqld segfault (Server crashes in ↵Oleksandr Byelkin2017-10-133-1/+61
| | | | | | Dependency_marker::visit_field on 2nd execution with merged subquery) Prevent crossing name resolution border in finding item tables.
* MDEV-13530 VARBINARY doesn't convert to to BLOB for sizes 65533, 65534 and 65535Alexander Barkov2017-10-1320-18/+266
|
* MDEV-13149 -- show function status now works with PAD_CHAR_TO_FULL_LENGTHVesa Pentti2017-10-103-0/+52
|
* MDEV-13972 crash in Item_func_sec_to_time::get_dateAlexander Barkov2017-10-105-3/+62
|
* MDEV-11819 NO_ZERO_IN_DATE: Incorrect generated column valueAlexander Barkov2017-10-065-1/+78
|
* MDEV-13595: mariadb-10.2.8/storage/maria/ma_loghandler.c:2730]: (style) ↵Oleksandr Byelkin2017-10-051-1/+1
| | | | | | Array index 'chunk_offset' is used before limits check. In fact just a cosmetic fix, code was safe because translog_get_first_chunk_offset return offsets inside the page.
* MDEV-13980 InnoDB fails to discard record lock when discarding an index pageMarko Mäkelä2017-10-022-10/+10
| | | | | | | | btr_cur_pessimistic_delete(): Discard a possible record lock also in the case when the record was the only one in the page. Failure to do this would corrupt the record lock data structures in a partial rollback (ROLLBACK TO SAVEPOINT or rolling back a row operation due to some error, such as a duplicate key in a unique secondary index).
* MDEV-13137 MySQL 5.6.23 Crashes when SET GLOBAL server_audit_logging=OFF;Alexey Botchkov2017-09-191-2/+8
| | | | | | The MySQL 5.6 doesn't always send the MYSQL_AUDIT_GENERAL_LOG notification. So we have to suppress the log_current_query() in this case.
* Merge remote-tracking branch 'merge/merge-xtradb-5.5' into 5.5Vicențiu Ciorbaru2017-09-192-2/+2
|\
| * 5.5.57-38.9merge-xtradb-5.5Vicențiu Ciorbaru2017-09-192-2/+2
| |
* | Do not stop repeating a test even if some executions are skippedElena Stepanova2017-08-181-2/+1
| |
* | MDEV-11240: Server crashes in check_view_single_update or Assertion ↵Oleksandr Byelkin2017-08-163-9/+3
| | | | | | | | | | | | `derived->table' failed in mysql_derived_merge_for_insert Before "merge" view shoud be inited to maintaing transitive attributes like "multitable".
* | MTR's internal check of main.log_tables-big failedElena Stepanova2017-08-152-8/+10
| | | | | | | | | | | | The test wasn't restoring log_output properly. Also added output of query_time in case of wrong result, to investigate the failure described in MDEV-13408
* | MDEV-13458: Wrong result for aggregate function with distinct clause when ↵Varun Gupta2017-08-094-5/+63
| | | | | | | | | | | | | | the value for tmp_table_size is small Fixed by making sure that the sort buffer would have atleast MERGEBUFF2 keys. Also fixed MDEV-13457 by making sure that an empty tree is never dumped to the disk
* | bump the VERSIONDaniel Bartholomew2017-07-191-1/+1
| |
* | MDEV-13065 rpl.rpl_mdev-11092 fails sporadically in buildbotSachin Setiya2017-07-191-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem rpl.rpl_mdev-11092 fails in buildbot because after starting slave in wait_for_slave_sql_error_and_skip.inc slave is started but there may be chances that we have not skipped the last error and Last_SQL_Errno is still not zero untill the end of rpl_end.inc , which will compare Last_SQL_Errno to 0. So in this this case rpl_mdev-11092 fails. Solution After starting slave in wait_for_slave_sql_error_and_skip.inc we will wait for Last_SQL_Errno to become 0.
* | Merge branch 'merge-xtradb-5.5' into 5.5mariadb-5.5.57Sergei Golubchik2017-07-1830-203/+244
|\ \ | |/
| * 5.5.55-38.8Sergei Golubchik2017-07-1835-214/+255
| |
| * 5.5.53-38.5Sergei Golubchik2016-12-221-1/+1
| |
* | ensure that filename in COM_BINLOG_DUMP isn't too longSergei Golubchik2017-07-181-3/+6
| |
* | MDEV-12646: Apply fixes found by Coverity static analysis toolDaniel Black2017-07-182-4/+4
| | | | | | | | Inspired by: https://github.com/devexp-db/mariadb/blob/f27/mariadb-covscan-stroverflow.patch
* | MDEV-658: debian debug symbols require compat 9Daniel Black2017-07-181-1/+1
| | | | | | | | Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
* | Bug #24595639: INCORRECT BEHAVIOR IN QUERY WITH UNION AND GROUP BYSergei Golubchik2017-07-182-0/+33
| | | | | | | | test case
* | BUG#25250768: WRITING ON A READ_ONLY=ON SERVER WITHOUT SUPER PRIVILEGESergei Golubchik2017-07-183-17/+14
| | | | | | | | | | simplify. add a test case.
* | test case for loadxml and spacesSergei Golubchik2017-07-182-12/+12
| |
* | Merge remote-tracking branch 'mysql/5.5' into 5.5Sergei Golubchik2017-07-1835-112/+530
|\ \
| * | Bug#26171638 MYSQL 5.5.57 - MSI COMMUNITY PACKAGES NOT GETTING INSTALLEDmysql-5.5.57Piotr Obrzut2017-06-052-26/+31
| | | | | | | | | | | | | | | | | | Corrected the revert. (cherry picked from commit f637e524bf9b692c3ed46d856e2beac193b42a3e)
| * | Bug#26171638 MYSQL 5.5.57 - MSI COMMUNITY PACKAGES NOT GETTING INSTALLEDPiotr Obrzut2017-06-021-31/+0
| | | | | | | | | | | | | | | | | | Temporary revert of the VS2008 redist check. (cherry picked from commit 36ec550fe5fa6b2a997cb39d3b9e33988f525c96)
| * | Bug#26181622 MSI BUILD FAIL DUE TO DUPLICATED FILE IDPiotr Obrzut2017-06-021-7/+22
| | | | | | | | | | | | | | | | | | Fixed generated mysql_server.wxs not to contain duplicates, or too long ids (cherry picked from commit bf47fb74dcc3e84057314817c56e6f8e05af094c)
| * | Bug#18950197 RPL_SEMI_SYNC_UNINSTALL_PLUGIN FAILS BECAUSEVenkatesh Duggirala2017-05-252-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RPL_SEMI_SYNC_MASTER_CLIENTS=1 Analysis: Uninstalling rpl_semi_sync_slave on slave will trigger removing the slave logic on Master which will reduce Rpl_semi_sync_master_clients by one number. But it happens asynchronously on Master. Having assert to check this value with zero will have problems on slow pb2 machines. Fix: Change assert into wait_for_status_var condition.
| * | Bug #25658832 VALIDATION CHECK FOR MSVC REDIST NEEDED IN SERVER COMMUNITY MSIPiotr Obrzut2017-05-242-2/+29
| | | | | | | | | | | | Added matching redist prerequisite check to the server msi installer.
| * | Bug #24595639: INCORRECT BEHAVIOR IN QUERY WITH UNION ANDSreeharsha Ramanavarapu2017-05-242-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GROUP BY Issue 1: -------- This problem occurs in the following conditions: 1) A UNION is present in the subquery of select list and handles multiple columns. 2) Query has a GROUP BY. A temporary table is created to handle the UNION. Item_field objects are based on the expressions of the result of the UNION (ie. the fake_select_lex). While checking validity of the columns in the GROUP BY list, the columns of the temporary table are checked in Item_ident::local_column. But the Item_field objects created for the temporary table don't have information like the Name_resolution_context that they belong to or whether they are dependent on an outer query. Since these members are null, incorrect behavior is caused. This can happen when such Item objects are cached to apply the IN-to-EXISTS transform for Item_row. Solution to Issue 1: -------------------- Context information of the first select in the UNION will be assigned to the new Item_field objects. Issue 2: -------- This problem occurs in the following conditions: 1) A UNION is present in the subquery of select list. 2) A column in the UNION's first SELECT refers to a table in the outer-query making it a dependent union. 3) GROUP BY column refers to the outer-referencing column. While resolving the select list with an outer-reference, an Item_outer_ref object is created to handle the outer-query's GROUP BY list. The Item_outer_ref object replaces the Item_field object in the item tree. Item_outer_ref::fix_fields will be called only while fixing the inner references of the outer query. Before resolving the outer-query, an Item_type_holder object needs to be created to handle the UNION. But as explained above, the Item_outer_ref object has not been fixed yet. Having a fixed Item object is a pre-condition for creating an Item_type_holder. Solution to Issue 2: -------------------- Use the reference (real_item()) of an Item_outer_ref object instead of the object itself while creating an Item_type_holder.
| * | (no commit message)mysql-builder@oracle.com2017-05-230-0/+0
| | |
| * | Bug#25988681: USE-AFTER-FREE IN MYSQL_STMT_CLOSE()Harin Vadodaria2017-05-231-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Description: If mysql_stmt_close() encountered error, it recorded error in prepared statement but then frees memory assigned to prepared statement. If mysql_stmt_error() is used to get error information, it will result into use after free. In all cases where mysql_stmt_close() can fail, error would have been set by cli_advanced_command in MYSQL structure. Solution: Don't copy error from MYSQL using set_stmt_errmsg. There is no automated way to test the fix since it is in mysql_stmt_close() which does not expect any reply from server. Reviewed-By: Georgi Kodinov <georgi.kodinov@oracle.com> Reviewed-By: Ramil Kalimullin <ramil.kalimullin@oracle.com>
| * | Bug#16212207 - LOAD XML INFILE PERFORMANCE WITH INDENTEDShishir Jaiswal2017-05-231-1/+3
| | | | | | | | | | | | | | | | | | | | | XML Post-push fix for build failure on Linux machine sles11-x86-64bit
| * | Bug# 25998635: Client does not escape the USE statementIvo Roylev2017-05-221-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When there are quotes in the USE statement, the mysql client does not correctly escape them. The USE statement is processed line by line from the client's parser, and cannot handle multi-line commands as the server. The fix is to escape the USE parameters whenever quotes are used.
| * | Bug#16212207 - LOAD XML INFILE PERFORMANCE WITH INDENTEDShishir Jaiswal2017-05-161-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | XML DESCRIPTION =========== LOAD XML INFILE performance becomes painfully slow if the tags' value has any space(s) in between them. They're usually kept intentionally for indentation purpose. ANALYSIS ======== The extra spaces are calling clear_level() many a times which is having overhead of clearing taglist etc. This can be avoided altogether by skipping all such spaces. FIX === Trim all the starting whitespaces from the value before passing it to read_value()
| * | Bug #25436469: BUILDS ARE NOT REPRODUCIBLETor Didriksen2017-05-162-0/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport to 5.5 Current MySQL builds, even on Pushbuild, are not reproducible; they return different results depending on which directory they are built from (and Pushbuild uses several different directories). This is because absolute paths leak into debug information, and even worse, __FILE__. The latter moves code around enough that we've actually seen sysbench changes on the order of 4% in some tests. CMake seemingly insists on using absolute paths, but we can insert our own layer between CMake and GCC to relativize all paths. Also give the right flags to get debug information reproducible and turn off build stamping. This makes the mysqld build 100% bit-for-bit reproducible between runs on my machine, even when run from different directories.
| * | (no commit message)mysql-builder@oracle.com2017-05-130-0/+0
| | |
| * | BUG#25451091:CREATE TABLE DATA DIRECTORY / INDEX DIRECTORYNisha Gopalakrishnan2017-05-124-19/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SYMLINK CHECK RACE CONDITIONS ANALYSIS: ========= A potential defect exists in the handling of CREATE TABLE .. DATA DIRECTORY/ INDEX DIRECTORY which gives way to the user to gain access to another user table or a system table. FIX: ==== The lstat and fstat output of the target files are now stored which help in determining the identity of the target files thus preventing the unauthorized access to other files.
| * | Bug#25998285 - ADD MYSQLADMIN DOCKER/MINIMAL SERVER BUILDSBalasubramanian Kandasamy2017-05-041-1/+2
| | | | | | | | | | | | - mysqladmin is needed by InnoDB Cluster, add tool to docker/minimal package.
| * | Bug#25340722 - PRINT BINARY DATA AS HEX IN THE MYSQLAnushree Prakash B2017-05-033-13/+268
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CLIENT (CONTRIBUTION) DESCRIPTION: ============ Binary data should be printed as hex in the mysql client when the option binary-as-hex is enabled. ANALYSIS: ========= The fix deals only with mysql command line client. It does not change, at all, the data sent to the applications. Printing binary data as hex also allows to use the output in the where clause of the query. FIX: ==== A new option 'binary-as-hex' is introduced to print the binary contents as hex in the mysql client. The option is disabled by default. When the option is enabled, we convert the binary data to hex before printing the contents irrespective of whether it is in tabular, xml or html format.
| * | Merge branch 'mysql-5.5.56-release' into mysql-5.5Hery Ramilison2017-05-020-0/+0
| |\ \