summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-8524: Improve error messaging when there is duplicate key or foreign ↵bb-5.5-innoJan Lindström2015-07-298-2/+350
| | | | | | | key names Added better error message that will be printed when foreign key constraint name in create table is not unique in database.
* Fixed memory loss detected on P8. This can happen when we call after_flush ↵Monty2015-07-253-33/+28
| | | | | | | | | | but never call after_rollback() or after_commit(). The old code used pthread_setspecific() to store temporary data used by the thread. This is not safe when used with thread pool, as the thread may change for the transaction. The fix is to save the data in THD, which is guaranteed to be properly freed. I also fixed the code so that we don't do a malloc() for every transaction.
* Fixed warnings and errors found by buildbotMonty2015-07-255-30/+40
| | | | | | | | | | | | | | | | | | | | field.cc - Fixed warning about overlapping memory copy (backport from 10.0) Item_subselect.cc - Fixed core dump in main.view - Problem was that thd->lex->current_select->master_unit()->item was not set, which caused crash in maxr_as_dependent sql/mysqld.cc - Got error on shutdown as we where freeing mutex before all THD objects was freed (~THD uses some mutex). Fixed by during shutdown freeing THD inside mutex. sql/log.cc - log_space_lock and LOCK_log where locked in inconsistenly. Fixed by not having a log_space_lock around purge_logs. sql/slave.cc - Remove unnecessary log_space_lock - Move cond_broadcast inside lock to ensure we don't miss the signal
* MDEV-8474: InnoDB sets per-connection data unsafelyJan Lindström2015-07-218-0/+91
| | | | | | | | | | | | | | Analysis: At check_trx_exists function InnoDB allocates a new trx if no trx is found from thd but this newly allocated trx is not registered to thd. This is unsafe, because nothing prevents InnoDB plugin from being uninstalled while there's active transaction. This can cause crashes, hang and any other odd behavior. It may also corrupt stack, as functions pointers are not available after dlclose. Fix: The fix is to use thd_set_ha_data() when manipulating per-connection handler data. It does appropriate plugin locking.
* Merge branch '5.5' of github.com:MariaDB/server into 5.5Monty2015-07-170-0/+0
|\
| * MDEV-8432 Slave cannot replicate signed integer-type values with high bit ↵Monty2015-07-172-0/+158
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | set to 1 The fix is that if the slave has a different integer size than the master, then they will assume the master has the same signed/unsigned modifier as the slave. This means that one can safely change a coon the slave an int to a bigint or an unsigned int to an unsigned int. Changing an unsigned int to an signed bigint will cause replication failures when the high bit of the unsigned int is set. We can't give an error if the signess is different on the master and slave as the binary log doesn't contain the signess of the column on the master.
* | MDEV-8432 Slave cannot replicate signed integer-type values with high bit ↵Monty2015-07-173-4/+175
|/ | | | | | | | | | | | | | | | set to 1 The fix is that if the slave has a different integer size than the master, then they will assume the master has the same signed/unsigned modifier as the slave. This means that one can safely change a coon the slave an int to a bigint or an unsigned int to an unsigned int. Changing an unsigned int to an signed bigint will cause replication failures when the high bit of the unsigned int is set. We can't give an error if the signess is different on the master and slave as the binary log doesn't contain the signess of the column on the master.
* Fix for MDEV-8301; Statistics for a thread could be counted twice in SHOW ↵Monty2015-06-263-4/+14
| | | | | | STATUS while thread was ending Fixed by adding a marker if we have added the thread statistics to the global counters.
* Simple cleanupsMonty2015-06-253-17/+22
| | | | | | | | - Removing use of calls to current_thd - More DBUG_PRINT - Code style changes - Made some local functions static Ensure that calls to print_keyuse are locked with mutex to get all lines in same debug packet
* Problem was that for cases like:Monty2015-06-256-9/+102
| | | | | | | | | | SELECT ... WHERE XX IN (SELECT YY) this was transformed to something like: SELECT ... WHERE IF_EXISTS(SELECT ... HAVING XX=YY) The bug was that for normal execution XX was fixed in the original outer SELECT context while in PS it was fixed in the sub query context and this confused the optimizer. Fixed by ensuring that XX is always fixed in the outer context.
* Fixed crashing bug when using ONLY_FULL_GROUP_BY in a stored ↵Monty2015-06-2510-10/+357
| | | | | | | | | procedure/trigger that is repeatedly executed. This is MDEV-7601, including it's sub tasks MDEV-7594, MDEV-7555, MDEV-7590, MDEV-7581, MDEV-7589 The problem was that select_lex->non_agg_fields was not properly reset for re-execution and this caused an overwrite of a random memory position. The fix was move non_agg_fields from select_lext to JOIN, which is properly reset.
* more renames after tokudb mergeSergei Golubchik2015-06-1110-0/+0
|
* Item_cache::safe_charset_converter() fixesSergei Golubchik2015-06-111-3/+9
| | | | | | | | | * take into account that example may be NULL * use example->safe_charset_converter(), copy-paste from Item::safe_charset_converter() (example might have its own implementation) * handle the case when the charset doesn't need conversion (and return this).
* fix after the tokudb ft-index mergeSergei Golubchik2015-06-112-0/+0
|
* tests for MDEV-7937: Enforce SSL when --ssl client option is usedmariadb-5.5.44Sergei Golubchik2015-06-098-51/+67
| | | | | | | * add a test when server certificate is verified successfully * one test with two combinations (instead of two tests) * verbose tets: make it print what it is doing * fix the test to work with yassl and no-ssl builds
* MDEV-3870 - Valgrind warnings on OPTIMIZE MyISAM or Aria TABLE with disabledSergey Vojtovich2015-06-096-8/+46
| | | | | | | keys Fixed that OPTIMIZE TABLE against MyISAM/Aria table may write uninitialized key root position for disabled keys.
* MDEV-363 - Server crashes in intern_plugin_lock on concurrent installingSergey Vojtovich2015-06-091-20/+6
| | | | | | | | | | | | semisync plugin and setting rpl_semi_sync_master_enabled There was race condition between INSTALL PLUGIN and SET. It was caused by a gap in INSTALL PLUGIN when plugin variables were registered but not fully initialized. Accessing such variables concurrently may reference uninitialized memory, specifically sys_var_pluginvar::plugin. Fixed by initializing sys_var_pluginvar::plugin early, before variable is registered.
* MDEV-363 - Server crashes in intern_plugin_lock on concurrent installingSergey Vojtovich2015-06-091-7/+5
| | | | | | | | semisync plugin and setting rpl_semi_sync_master_enabled Cleanup: Removed my_intern_plugin_lock() and my_intern_plugin_lock_ci() wrappers. They were obsoleted by revision f56dd32bf.
* disable ssl for ssl-disabled testsSergei Golubchik2015-06-091-0/+1
| | | | instead of running them only when ssl is not compiled in
* MDEV-6735: Range checked for each record used with key (also MDEV-7786, ↵Sergei Petrunia2015-06-093-2/+102
| | | | | | | | | | | | | | | | | | | | | | MDEV-7923) "Range Checked for Each Record" should be only employed when the other option would be cross-product join (i.e. the other option is so bad that we hardly risk anything). Previous logic was: use RCfER if there are no possible quick selects, or quick select would read > 100 rows. Also, it didn't always work as expected due to range optimizer changing table->quick_keys and us looking at sel->quick_keys. Another angle is that recent versions have enabled use of Join Buffering in e.g. outer joins. This further reduces the range of cases where RCfER should be used. We are still unable to estimate the cost of RCfER with any precision, so now changing the condition of "no quick select or quick->records> 100" to a hopefully better condition "no quick select or quick would cost more than full table scan".
* Fix tests for 7937Vicențiu Ciorbaru2015-06-096-22/+4
|
* Added tests for MDEV-7937Vicențiu Ciorbaru2015-06-096-0/+72
|
* MDEV-7937: Enforce SSL when --ssl client option is usedVicențiu Ciorbaru2015-06-091-4/+19
| | | | | | Using --ssl-verify-server-cert and --ssl[-*] implies that the ssl connection is required. The mysql client will now print an error if ssl is required, but the server can not handle a ssl connection.
* MDEV-7695 MariaDB - ssl - fips: can not connect with ↵Sergei Golubchik2015-06-091-26/+26
| | | | | | --ssl-cipher=DHE-RSA-AES256-SHA - handshake failure Change 512bit DH key to 1024bit to meet FIPS requirements
* MDEV-7268 Column of table cannot be converted from type 'decimal(0,?)' to ↵Alexander Barkov2015-06-093-1/+35
| | | | | | | | type ' 'decimal(10,7)' Changing the error message to: "...from type 'decimal(0,?)/*old*/' to type ' 'decimal(10,7)'..." So it's now clear that the master data type is OLD decimal.
* MDEV-8286 Likely a redundant declaration of Item_cache::used_table_mapAlexander Barkov2015-06-091-6/+2
| | | | | | Removing Item_cache::used_table_map, Item_cache::used_tables() and Item_cache::set_used_tables(). Using the same inherited from Item_basic_constant implementations instead.
* MDEV-8050 sphinx test cases cannot run with sphinxsearch-2.2.6Sergei Golubchik2015-06-081-2/+1
| | | | remove/replace deprecated options
* update tokudb versionSergei Golubchik2015-06-081-1/+1
|
* MDEV-8211 plugins.server_audit fails sporadically in buildbot.Alexey Botchkov2015-06-082-0/+2
| | | | More fixes to assure the order of queries in the log.
* MDEV-8211 plugins.server_audit fails sporadically in buildbot.Alexey Botchkov2015-06-081-0/+1
| | | | | This test also should be fixed - delay added so the connection event doesn't happen before the query.
* MDEV-8211 plugins.server_audit fails sporadically in buildbot.Alexey Botchkov2015-06-081-0/+1
| | | | | Connection event can happen before the query ends. Added a delay to confirm the order.
* MDEV-8067 correct fix for MySQL Bug # 19699237: UNINITIALIZED VARIABLE IN ↵Alexander Barkov2015-06-084-0/+62
| | | | ITEM_FIELD::STR_RESULT
* MDEV-4922 Stored Procedure - Geometry parameter not working.Alexey Botchkov2015-06-085-3/+18
| | | | | | Fhe GEOMETRY field should be handled just as the BLOB field. So that was fiexed in field_conv. One additional bug was found and fixed meanwhile - thet the geometry field subtypes should also be merged for UNION command.
* MDEV-7500 thread_handling option in my.cnf is not passing "connect events" ↵Alexey Botchkov2015-06-084-5/+508
| | | | | | | to audit plugin. The MYSQL_AUDIT_NOTIFY_CONNECTION_CONNECT() call moved to the login_connection() function. So that it'll be invoked in any thread handling mode.
* MDEV-8078 Memory disclosure/buffer overread on audit plugin.Alexey Botchkov2015-06-073-3/+14
| | | | | | | If the SET PASSWORD query doesn't have the password string, the parsing of it can fail. It manifested first in MySQL 5.6 as it started to hide password lines sent to the plugins. Fixed by checking for that case.
* MDEV-8032 [PATCH] audit plugin - csv output broken.Alexey Botchkov2015-06-063-0/+11
| | | | | Symbols like TAB or NEWLINE should be escaped, which was forgotten in one place.
* MDEV-8114: server crash on updates with joins still on 10.0.18Oleksandr Byelkin2015-06-065-4/+86
| | | | Check that leaf table list is really built before storing it.
* Merge branch '5.5' into bb-5.5-sergSergei Golubchik2015-06-0527-21/+308
|\
| * MDEV-7505 - Too large scale in DECIMAL dynamic column getter crashes mysqldSergey Vojtovich2015-06-053-0/+22
| | | | | | | | | | | | | | | | | | | | Server may crash if sanity checks of COLUMN_GET() fail. COLUMN_GET() description generator expects parent CAST item, which may not have been created due to failure of sanity checks. Then further attempt to report an error may crash the server. Fixed COLUMN_GET() description generator to handle such case.
| * MDEV-6236 - [PATCH] mysql_tzinfo_to_sql may produce invalid SQLSergey Vojtovich2015-06-053-1/+22
| | | | | | | | | | | | | | | | | | | | | | Factory timezone is supposed "For companies who don't want to put time zone specification in their installation procedures. When users run date, they'll get the message. Also useful for the "comp.sources" version." This "message" is exposed as timezone abbreviation, which is supposed to be short and thus may cause generated INSERT statements to fail. Do not attempt to load Factory timezone.
| * MDEV-7207 - ALTER VIEW does not change ALGORITMSergey Vojtovich2015-06-055-2/+35
| | | | | | | | | | Fixed that ALTER VIEW ALGORITHM=UNDEFINED behaved as if algorithm was not specified.
| * MDEV-8243 configure defines to empty string, not 1Alexander Barkov2015-06-041-12/+12
| |
| * MDEV-6500: Stale data returned after TRUNCATE PARTITION operationVicențiu Ciorbaru2015-06-043-2/+74
| | | | | | | | | | When truncating a table's partition, we also need to invalidate the query cache for it.
| * Some MYD files (e.g. in mysql-test/std_data) could erroneously beAlexander Barkov2015-06-041-0/+3
| | | | | | | | | | | | treated by git as text files. Marking all MyISAM files as binary in .gitattributes: (*.frm, *.MYD, *.MYI)
| * MDEV-7269 mysqlbinlog Don't know how to handle column type=0 meta=0 (0000)#Alexander Barkov2015-06-049-2/+130
| | | | | | | | MDEV-8267 Add /*old*/ comment into I_S.COLUMN_TYPE for old DECIMAL
| * MDEV-7906: InnoDB: Failing assertion: prebuilt->sql_stat_start || trx->state ↵Jan Lindström2015-06-042-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | == 1 on concurrent multi-table update Analysis: Problem is that SQL-layer calls handler API after storage engine has already returned error state. InnoDB does internal rollback when it notices transaction error (e.g. lock wait timeout, deadlock, etc.) and after this transaction is not naturally in correct state to continue. Fix: Do not continue fetch operations if transaction is not started.
* | Merge branch 'merge/merge-xtradb-5.5' into bb-5.5-sergSergei Golubchik2015-06-0510-37/+10
|\ \ | | | | | | | | | update tests
| * | 5.5.43-37.2Sergei Golubchik2015-06-041-1/+1
| | |
* | | Merge tag 'mysql-5.5.44' into bb-5.5-sergSergei Golubchik2015-06-0527-73/+233
|\ \ \
| * | | Bug #18592390 QUERY TO I_S.TABLES AND I_S.COLUMNS LEADS TO HUGE MEMORY USAGEmysql-5.5.44V S Murthy Sidagam2015-04-291-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | As part of the fix find_files() prototype has been modified and mysql-cluster uses find_files() function. Hence modified find_files() call in ha_ndbcluster_binlog.cc file to make mysql-cluster build successful.