summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-9112: Non-blocking client API missing on non-x86 platformsGeorg Richter2016-02-014-2/+6
| | | | | | | The check for UCONTEXT in cmake was somehow become broken, disabling the fallback to ucontext. This caused the non-blocking client API to not be available for non-x86 platforms, on which no hand-crafted assembler implementation of my_context is available.
* MDEV-9106 Audit plugin not working with MySQL 5.7.Alexey Botchkov2016-01-151-3/+44
| | | | fixing Windows crash.
* MDEV-9106 Audit plugin doesnt run with MySQL 5.7.Alexey Botchkov2016-01-131-3/+6
| | | | updata thread_pool_server_audit test result.
* MDEV-9106 Audit Plugin doesn't run with MySQL 5.7.Alexey Botchkov2016-01-131-17/+39
| | | | | | MariaDB 5.5 built in debug gets unhappy with mutexes. Although everything is correct, some DBUG_ASSERT can happen. So this patch keeps safe_mutex silent.
* MDEV-9106 Audit plugin compiled with MariaDB can't install on MySQL 5.7.Alexey Botchkov2016-01-126-264/+1262
| | | | | The audit API was seriously changed in MySQL 5.7. so we had to adapt the plugin's code to that.
* MDEV-9298 : Build failure when linking libmysql.Vladislav Vaintroub2016-01-071-0/+5
| | | | | | | | | If GCC or CLang compile with link time optimization (-flto), they throw an error during link , when lto sees a function (e.g mysql_real_connect) is redeclared as "external void *" in libmysql_exports.cc The fix disables -flto for generated libmysql_exports.cc
* Fix process handle leak in buildbot. GenerateConsoleCtrlEvent sent to ↵Vladislav Vaintroub2015-12-301-5/+5
| | | | non-existing process will add a process handle to this non-existing process to console host process conhost.exe
* Moving Field_blob::store_length() back from protected to public,Alexander Barkov2015-12-291-5/+5
| | | | as it's needed for Cassandra in 10.0.
* MDEV-9319 ALTER from a bigger to a smaller blob type truncates too much dataAlexander Barkov2015-12-2910-14/+152
|
* MDEV-9249 MariaDB un-buildable on linux64: fails @ "error: ↵Sergei Golubchik2015-12-213-1/+10
| | | | | | | ‘ERR_remove_state’ was not declared in this scope" when linking against OpenSSL 1.0.2e ERR_remove_state is deprecated, use ERR_remove_thread_state if possible
* MDEV-7526: TokuDB doesn't build on OS XDevilSatan2015-12-191-1/+1
| | | | | | A string definition is inconsistent and thus causes a compilation error. Signed-off-by: Vicențiu Ciorbaru <vicentiu@mariadb.org>
* MDEV-7526: TokuDB doesn't build on OS XVicențiu Ciorbaru2015-12-191-3/+1
| | | | | | Fixed compile warning related to if statement always being true. The if statement can not be false, as the address of a member field is always true.
* MDEV-7526: TokuDB doesn't build on OS XVicențiu Ciorbaru2015-12-191-70/+0
| | | | Removed unused functions from tokudb_dump.cc.
* MDEV-7526: TokuDB doesn't build on OS XVicențiu Ciorbaru2015-12-191-4/+4
| | | | | | | This patch fixes another compilation error caused by specifying attribute nonnull for all the parameters of the copyout function. This is incorrect as the function actually gets called with null parameters indirectly and thus only the output parameter should be nonnull.
* MDEV-7526: TokuDB doesn't build on OS XVicențiu Ciorbaru2015-12-191-1/+3
| | | | | | | | This patch fixes one compilation error related to __db_lsn struct. The struct can not be defined as empty according to the main C standard. In C++, this is handled by forcing a size of 1. To eliminate the error we add a dummy char field of size 1. This has no effect on the C++ compiled code, but also removes the compiler error.
* fix main.mysqldump test on windowsSergei Golubchik2015-12-111-1/+6
|
* MDEV-7655 SHOW CREATE TABLE returns invalid DDL when using virtual columns ↵Sergei Golubchik2015-12-113-1/+16
| | | | along with a table collation
* revert 5e9a50efc37c233f1e2a3616f8bcb36315aba4c2Sergei Golubchik2015-12-111-3/+1
| | | | | | | | that was mistakenly merged from mysql-5.5.47 (introduces valgrind failures in main.sp, because Field_varstring columns are created as FIELD_NORMAL and that causes aria to read bytes between the actual value length and field max length)
* revert 415faa122b9c683661dafac82fff414fa6864151Sergei Golubchik2015-12-112-35/+0
| | | | that was mistakenly merged from mysql-5.5.47
* MDEV-9251: Fix MySQL Bug#20755615: InnoDB compares column names case ↵Jan Lindström2015-12-114-2/+73
| | | | | | | | sensitively, while according to Storage Engine API column names should be compared case insensitively. This can cause FRM and InnoDB data dictionary to go out of sync.
* MDEV-8407 Numeric errors, server crash with COLUMN_JSON() on DECIMAL with ↵Oleksandr Byelkin2015-12-102-3/+34
| | | | | | precision > 40 In fact it was error in decimal library (incorrect processing of buffer overflow) invisible from other server parts because of buffer allocation and precision tests.
* fix xtradb compilation on windowsmariadb-5.5.47Sergei Golubchik2015-12-091-5/+3
|
* unit tests for my_getoptSergei Golubchik2015-12-092-0/+72
|
* MDEV-8978 Specify GPL version in RPM metadataJulien Pivotto2015-12-091-1/+1
| | | | | | | | | | | The License field in the MariaDB RPM packages is GPL. This does not tell the version of GPL and might confuse tools and users that rely on this field. Best practice in the RPM world is to use "GPLv2" for the GPL 2.0 license. The commit switches the license field of the RPM packages to GPLv2.
* Merge branch 'merge/merge-xtradb-5.5' into 5.5Sergei Golubchik2015-12-0916-50/+318
|\ | | | | | | 5.5.46-37.6
| * 5.5.46-37.6Sergei Golubchik2015-12-0916-50/+318
| |
* | Merge branch 'bb-5.5-serg' into 5.5Sergei Golubchik2015-12-0937-98/+254
|\ \
| * \ Merge branch 'mysql/5.5' into 5.5Sergei Golubchik2015-12-0937-98/+254
| |\ \
| | * | Bug#21973610: BUFFER OVERFLOW ISSUESmysql-5.5.47Harin Vadodaria2015-11-071-1/+1
| | | | | | | | | | | | | | | | post push fix : Fixing test failures
| | * | Bug#21973610: BUFFER OVERFLOW ISSUESHarin Vadodaria2015-11-064-24/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Description : Incorrect usage of sprintf/strcpy caused possible buffer overflow issues at various places. Solution : - Fixed mysql_plugin and mysqlshow - Fixed regex library issues Reviewed-By : Georgi Kodinov <georgi.kodinov@oracle.com> Reviewed-By : Venkata S Murthy Sidagam <venkata.sidagam@oracle.com>
| | * | BUG#21950975 - MYSQL RPM INSTALLER(NEW STYLE) FAILS TO CREATE 'MYSQL' USER ↵Balasubramanian Kandasamy2015-11-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | FOR EL5 - Remove -N option in useradd for EL5 platforms
| | * | BUG 22005375 - DEVEL PACKAGES INSTALL FAILS IF ↵Balasubramanian Kandasamy2015-11-042-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | MYSQL-CONNECTOR-C-DEVEL-6.1.6 IS INSTALLED As MySQL Connector C 6.1 is end of life, added conflict with mysql-connector-c-devel dependencies
| | * | Bug #22123583: MYSQL 5.5: MAIN.SP HAS VALGRIND ISSUESSreeharsha Ramanavarapu2015-11-032-79/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue: ----- When a varchar column is used to fill the record in an internal temporary table, the length of the string stored in the column is not taken into account. Instead the default length of packed data is used to copy with memmove. This will cause valgrind issues since some bytes are uninitialized. SOLUTION: --------- The solution is to take into account the length of the string stored in the column while filling the record. This fix is a backport of BUG#13389854.
| | * | Bug #22023218: MYSQL 5.5: MAIN.FULLTEXT HAS VALGRIND ISSUES.Sreeharsha Ramanavarapu2015-11-032-13/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue ----- This problem occurs when varchar columns are used in a internal temporary table. The type of the field is set incorrectly to the generic FIELD_NORMAL type. This in turn results in an inaccurate calculation of the record length. Valgrind issues will occur since initialization has not happend for some bytes. Fix ---- While creating the temporary table, the type of the field needs to be to set FIELD_VARCHAR. This will allow myisam to calculate the record length accurately. This fix is a backport of BUG#13350136.
| | * | Bug#20755389 SERVER CRASHES IN ITEM_FUNC_GROUP_CONCAT::FIX_FIELDS ONChaithra Gopalareddy2015-11-021-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2ND EXECUTION OF PS Description: ------------ When MySQL calls 'EXECUTE stmt' firstly to deal with ORDER BY clause which is similar with 'ORDER BY 1,(t2a.f2+1)' in find_order_in_list(), it believes the first expression is a position, the function replaces the pointer of the first expression with Item_field object associated with a temporary table field, then releases it after the end of the execution, that behavior destroys the pointer of first expression. After that, when MySQL calls 'EXECUTE stmt' once more, the first expression points to an invalid pointer, so it crashed. Fix: ---- If an item of ORDER clause is a location, reset 'args' with a original value.
| | * | DESCRIPTIONShishir Jaiswal2015-10-293-13/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | =========== When doing an upgrade, you execute mysql_upgrade. If mysql_upgrade fails to connect or it connects with a user without the proper privileges, it will return the error: FATAL ERROR: Upgrade failed which is not very informative. ANALYSIS ======== In main() and check_version_match(), the condition for errors are clubbed together and throw the same error msg. The functions need to be splitted up and the corresponding error msgs have to be displayed. FIX === Splitted the functions and added the specific error msg.
| | * | BUG#22084221 : TEST IMPROVEMENT FOR MAIN.EVENTS_1Srikanth B R2015-10-262-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Issue: main.events_1 will fail after 10-10-2015 due to hardcoded dates specified with events. Fix: Replace harcoded dates with current dates and offset.
| | * | Bug #20447262: REPEATED EXECUTION OF PREPARED STATEMENTS FAILS, IF DEFAULT ↵Mithun C Y2015-10-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DATABASE IS CHANGED. Issue: ====== While re-preparing the statement in Prepared_statement::swap_prepared_statement for swapping the database of PS we only swapped the db string but not its length. This resulted in mismatch between the actual string and its length. In one particular case where db of PS was dropped, we have db as null pointer and length as non-zero. strdup which used above values resulted in invalid memory access. Solution: ========= In Prepared_statement::swap_prepared_statement also swap db_length along with db variable. Also, remove DBUG_ASSERT(db_length == copy->db_length) as this have no meaning if they are 2 different entities.
| | * | BUG#22024764 MAIN.EVENTS_1 FAILS BECAUSE IT USES ENDDATE OF 20151010Terje Røsten2015-10-162-2/+2
| | | | | | | | | | | | | | | | Move date 10 years forward to let test pass for some more years.
| | * | Bug #21235226 : THE --ENABLE-CLEARTEXT-PLUGIN IS NOTArun Kuruvila2015-10-147-3/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IMPLEMENTED IN ALL CLIENT PROGRAMS Description: Option "enable-cleartext-plugin" is not available for the following client utilities:- mysqldump mysqlimport mysqlshow mysqlcheck Analysis: The unavailability of this option limits the features like PAM authentication from using the above mentioned utilities. Fix: Option "enable-cleartext-plugin" is implemented in the above mentioned client utilities.
| | * | Bug #21602056 : CONCURRENT FLUSH PRIVILEGES + REVOKE/GRANTArun Kuruvila2015-10-141-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CRASHES IN WILD_CASE_COMPARE! Description:- Executing FLUSH PRIVILEGES and REVOKE/ GRANT concurrently crashes the server. Analysis:- Concurrent FLUSH PRIVILEGES and REVOKE/GRANT might trigger a small time frame in which REVOKE/GRANT fetches the "acl_proxy_user" information as a part of "acl_check_proxy_grant_access()". Meanwhile FLUSH PRIVILEGES deletes the old acl structures as a part of "acl_reload()". After which REVOKE/GRANT tries to access the hostname in "wild_case_compare()" which leads to a crash because of the invalid memory access. Fix:- Mutex lock on "acl_cache" is acquired before fetching "acl_proxy_user" information in "acl_check_proxy_grant_access()".
| | * | Bug #20007383: HANDLE_FATAL_SIGNAL (SIG=11) IN UPDATE_REF_AND_KEYS.Mithun C Y2015-10-122-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue: ====== The fulltext predicate is inside a subquery and involves an outer reference; it thus cannot be used for FT index look-up, but MySQL does not see it, which causes a illegal access. Solution: ========= Solution is backported from bug#21140088. Outer reference can not be used as argument of the MATCH function. Added check for outer reference.
| | * | (no commit message)mysql-builder@oracle.com2015-10-080-0/+0
| | | |
| | * | Bug #19894161: FATAL SIGNAL 11 INSreeharsha Ramanavarapu2015-10-061-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CONVERT_CHARSET_PARTITION_CONSTANT: SQL/SQL_PARTITION..CC:202 Issue: ----- This problem happens under the following conditions: 1) A table partitioned with a character column as the key. 2) The expressions specified in the partition definition requires a charset conversion. This can happen when the server's default collation is different from the expression's collation. 3) INSERT DELAYED is used to insert data into the table. SOLUTION: --------- While creating the delayed_insert object, initialize it with the relevant select_lex.
| | * | Bug #19434916: FATAL_SIGNAL IN ADD_KEY_EQUAL_FIELDS() WITHSreeharsha Ramanavarapu2015-10-012-1/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UPDATE VIEW USING OUTER SUBQUERY Issue: ----- While resolving a column which refers to a table/view in an outer query, it's respecitve item object is marked with the outer query's select_lex object. But when the column refers to a view or if the column is part of a subquery in the HAVING clause, an Item_ref object is created. While the reference to the outer query is stored by the Item_ref object, the same is not stored in it's real_item. This creates a problem with the IN-TO-EXISTS optmization. When there is an index over the column in the inner query, it will be considered since the column's real_item object will be mistaken for a local field. This will lead to a crash. SOLUTION: --------- Under the current design, the only way to fix this issue is to check the reginfo.join_tab for a NULL value. If yes, the query should not be worrying about the key use. The testcase and comments added as part of the fix for Bug#17766653 have been backported.
| | * | Merge branch 'mysql-5.5.46-release' into mysql-5.5Gipson Pulla2015-09-300-0/+0
| | |\ \
| | * | | BUG 21900800 - ADD OBSOLETE ON MYSQL-CONNECTOR-C-SHARED AND ↵Balasubramanian Kandasamy2015-09-302-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MYSQL-CONNECTOR-C-DEVEL As MySQL Connector C 6.1 is end of life, added conflict with mysql-connector-c-shared dependencies
| | * | | Bug#20755615 CREATING INDEX ON A RENAMED COLUMN WITH CASE CRASH .FRMAditya A2015-09-223-4/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FILE PROBLEM In 5.5 when doing doing a rename of a column ,we ignore the case between old and new column names while comparing them,so if the change is just the case then we don't even mark the field FIELD_IS_RENAMED ,we just update the frm file ,but don't recreate the table as is the norm when alter is used.This leads to inconsistency in the innodb data dictionary which causes index creation to fail. FIX According to the documentation any innodb column rename should trigger rebuild of the table. Therefore for innodb tables we will do a strcmp() between the column names and if there is case change in column name we will trigger a rebuild.
| | * | | Bug #21370329 : FLUSH DES_KEY_FILE MAY NOT WORKArun Kuruvila2015-09-222-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Description: The command FLUSH DES_KEY_FILE is expected to reload the DES keys from the file that was specified with the "--des-key-file" option at server startup. But it is not behaving as expected. Analysis: The des file reload is defined within a wrong conditional directive, rendering the command ineffective. Macro "OPENSSL" was used instead of "HAVE_OPENSSL" macro. Fix: "OPENSSL" macro is changed to "HAVE_OPENSSL".
| | * | | Bug #19929435 DROP DATABASE HANGS WITH MALFORMED TABLEAnnamalai Gurusami2015-09-223-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note: Backporting the patch from mysql-5.6. Problem: A CREATE TABLE with an invalid table name is detected at SQL layer. So the table name is reset to an empty string. But the storage engine is called with this empty table name. The table name is specified as "database/table". So, in the given scenario we get only "database/". Solution: Within InnoDB, detect this error and report it to higher layer. rb#9274 approved by jimmy.