summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge 5.3->5.5Igor Babaev2013-01-2322-70/+366
|\
| * Merge 5.2->5.3Igor Babaev2013-01-2114-70/+235
| |\
| | * Merge 5.1->5.2Igor Babaev2013-01-218-60/+159
| | |\
| | | * Merge.Igor Babaev2013-01-216-54/+131
| | | |\
| | | | * Fixed bug mdev-4063 (bug #56927).Igor Babaev2013-01-216-54/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This bug could result in returning 0 for the expressions of the form <aggregate_function>(distinct field) when the system variable max_heap_table_size was set to a small enough number. It happened because the method Unique::walk() did not support the case when more than one pass was needed to merge the trees of distinct values saved in an external file. Backported a fix in grant_lowercase.test from mariadb 5.5.
| | | * | MDEV-4029 SELECT on information_schema using a subquery locks up the ↵Sergei Golubchik2013-01-213-6/+29
| | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | information_schema table due to incorrect mutexes handling Early evaluation of subqueries in the WHERE conditions on I_S.*_STATUS tables, otherwise the subquery on this same table will try to acquire LOCK_status twice.
| | * | Corrected the test case for bug mdev-3938.Igor Babaev2013-01-192-0/+3
| | | |
| | * | Corrected the fix for bug mdev-3938.Igor Babaev2013-01-161-2/+2
| | | |
| | * | Fixed bug mdev-3938.Igor Babaev2013-01-156-5/+70
| | | | | | | | | | | | | | | | | | | | | | | | The original patch with the implementation of virtual columns did not support INSERT DELAYED into tables with virtual columns. This patch fixes the problem.
| * | | MDEV-4056 fix.unknown2013-01-163-0/+49
| | | | | | | | | | | | | | | | | | | | | | | | The problem was that maybe_null of Item_row and its componetes was unsynced after update_used_tables() (and so pushed_cond_guards was not initialized but then requested). Fix updates Item_row::maybe_null on update_used_tables().
| * | | MDEV-3900 Optimizer difference between MySQL and MariaDB with stored ↵unknown2013-01-174-5/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | functions in WHERE clause of UPDATE or DELETE statements Analysis The reason for the less efficient plan was result of a prior design decision - to limit the eveluation of constant expressions during optimization to only non-expensive ones. With this approach all stored procedures were considered expensive, and were not evaluated during optimization. As a result, SPs didn't participate in range optimization, which resulted in a plan with table scan rather than index range scan. Solution Instead of considering all SPs expensive, consider expensive only those SPs that are non-deterministic. If an SP is deterministic, the optimizer will checj if it is constant, and may eventually evaluate it during optimization.
| * | | backport of:unknown2013-01-175-13/+13
| | | | | | | | | | | | | | | | | | | | Don't reset maybe_null in update_used_tables(); This breaks ROLLUP This fixed failing test in group_by.test
| * | | MDEV-3988 fix.unknown2013-01-163-0/+42
| | | | | | | | | | | | | | | | Subquery turned into constant too late to be excluded from grouping list so test for constant added to the create_temp_table().
| * | | Fixed bug mdev-4025.Igor Babaev2013-01-112-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | The bug could lead to a wrong estimate of the number of expected rows in the output of the EXPLAIN commands for queries with GROUP BY. This could be observed in the test case for LP bug 934348.
| * | | MDEV-4020 : Make sure strmov symbol is exported by client library on Linux ↵Vladislav Vaintroub2013-01-111-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (even if the server and libraries itself use stpcpy instead of it) It is a workaround that allows myodbc built by certain distributions' (CentOS,Fedora) to peacefully coexist with mariadb client libraries. The problem is that MyODBC in these distros needs strmov() to be exported by mysql client shared library, or else myodbc fails to load.
* | | | remove one particularly stupid test Sergei Golubchik2013-01-232-6/+0
| | | |
* | | | MDEV-4069 thd_wait_end does not called in some cases in buf_page_read_low in ↵Sergei Golubchik2013-01-211-1/+3
| | | | | | | | | | | | | | | | XtraDB engine
* | | | Fixed typo in the function name.unknown2013-01-223-2/+54
| | | | | | | | | | | | | | | | test suite added.
* | | | MDEV-3873: fixed functions absend in 5.3.unknown2013-01-212-1/+6
| | | |
* | | | fix a strict aliasing warning - remove a meaningless cast.Sergei Golubchik2013-01-201-2/+1
| | | |
* | | | MDEV-3952 Incompatible change in MariaDB-5.5.28a-client rpm adds mytop when ↵Sergei Golubchik2013-01-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | not in MariaDB-5.5.23-client (CentOS 5) Same as for deb: don't add mytop to the client rpm.
* | | | MDEV-3934 Assertion `((keypart_map+1) & keypart_map) == 0' failed in ↵Sergei Golubchik2013-01-203-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | _mi_pack_key with an index on a POINT column sel_arg_range_seq_next(): set keypart map also for GEOM_FLAG keys
* | | | MDEV-4029 SELECT on information_schema using a subquery locks up the ↵Sergei Golubchik2013-01-204-7/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | information_schema table due to incorrect mutexes handling Early evaluation of subqueries in the WHERE conditions on I_S.*_STATUS tables, otherwise the subquery on this same table will try to acquire LOCK_status twice. sql/item.h: remove unused method
* | | | MDEV-3832 MariaDB conflicts with packages filesystem-3.1-2.fc18.i686 and ↵Sergei Golubchik2013-01-191-5/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | jre-1.7.0_09-fcs.i586 on Fedora 18 fix the rpm packaging to work on Fedora18. Two problems: * conflicts on common directories with other packages. * more auto-generated requirements for mariadb-test.rpm
* | | | MDEV-633 lp:1024058 - mysqld XA crash in replication slaveSergei Golubchik2013-01-181-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | initialize cache_mngr and write the Xid into binlog even if binlog is disabled with SQL_LOG_BIN=0 or no --log-slave-updates in the slave thread
* | | | simplify THD::binlog_setup_trx_data() usageSergei Golubchik2013-01-183-23/+12
| | | |
* | | | MDEV-3908 crash in multi-table delete and mdlSergei Golubchik2013-01-182-0/+13
| | | | | | | | | | | | | | | | | | | | Add a test case. The fix comes with MySQL bug#15948123: SERVER WORKS INCORRECT WITH LONG TABLE ALIASES
* | | | MDEV-4065 thd_kill_statement serviceSergei Golubchik2013-01-1818-76/+200
| | | |
* | | | Fix Windows installers' bootstrapper scripts , after ↵Vladislav Vaintroub2013-01-182-2/+3
| | | | | | | | | | | | | | | | mysql_performance_tables.sql was split off mysql_system_tables.sql
* | | | Don't reset maybe_null in update_used_tables(); This breaks ROLLUPMichael Widenius2013-01-175-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixed failing test in group_by.test mysql-test/r/join_outer.result: Updated test case mysql-test/r/join_outer_jcl6.result: Updated test case sql/item.cc: Don't reset maybe_null in update_used_tables(); This breaks ROLLUP sql/item.h: Don't reset maybe_null in update_used_tables(); This breaks ROLLUP sql/item_cmpfunc.h: Don't reset maybe_null in update_used_tables(); This breaks ROLLUP
* | | | Fixed compiler warningMichael Widenius2013-01-171-1/+2
| | | |
* | | | xtradb merge. Percona-Server-5.5.28-rel29.3Sergei Golubchik2013-01-1635-426/+1122
|\ \ \ \
| * | | | Percona-Server-5.5.28-rel29.3Sergei Golubchik2013-01-1524-417/+1107
| | | | |
* | | | | Test case and a different fix for MySQL bug#14485479Sergei Golubchik2013-01-155-14/+89
| | | | |
* | | | | small cleanupsSergei Golubchik2013-01-1512-7/+10
| | | | |
* | | | | backport a test case for a 5.5 bug fix from the 5.6 treeSergei Golubchik2013-01-153-0/+170
| | | | |
* | | | | mysql-5.5.29 mergeSergei Golubchik2013-01-1594-321/+4301
|\ \ \ \ \
| * | | | | Bug #15954896 "SP, MULTI-TABLE DELETE AND LONG ALIAS".Dmitry Lenev2012-12-101-22/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using too long table aliases in stored routines might have caused server crashes. Code in sp_head::merge_table_list() which is responsible for collecting information about tables used in stored routine was not aware of the fact that table alias might have arbitrary length. I.e. it assumed that table alias can't be longer than NAME_LEN bytes and allocated buffer for a key identifying table accordingly. This patch fixes the issue by ensuring that we use dynamically allocated buffer for table key when table alias is too long. By default stack based buffer is used in which NAME_LEN bytes are reserved for table alias.
| * | | | | (no commit message)unknown2012-12-070-0/+0
| | | | | |
| * | | | | Bug#15912213: BUFFER OVERFLOW IN ACL_GET()Harin Vadodaria2012-12-061-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Description: A very large database name causes buffer overflow in functions acl_get() and check_grant_db() in sql_acl.cc. It happens due to an unguarded string copy operation. This puts required sanity checks before copying db string to destination buffer.
| * | | | | Bug #15948123: SERVER WORKS INCORRECT WITH LONG TABLE ALIASESGleb Shchepa2012-12-051-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After-push cleanup: removal of unneeded assertions.
| * | | | | Bug #15948123: SERVER WORKS INCORRECT WITH LONG TABLE ALIASESGleb Shchepa2012-12-052-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code in MDL subsystem assumes that identifiers of objects can't be longer than NAME_LEN characters. This assumption was broken when one tried to construct MDL_key based on table alias, which can have arbitrary length. Since MDL_key's (and MDL locks) are not really used for table aliases this patch changes code to not initialize MDL_key object for table list element representing aliases.
| * | | | | Building RPMs for ULN:Joerg Bruehe2012-11-081-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch "mysql-chain-certs.patch" needs to be adapted to code changes in "vio/viosslfactories.c" which were done in MySQL 5.5.
| * | | | | Placement change:Joerg Bruehe2012-11-0823-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Top level "SPECIFIC-ULN/" was inappropriate, put the files to create RPMs for ULN into "packaging/rpm-uln/".
| * | | | | merge 5.1 => 5.5Tor Didriksen2012-11-012-1/+2
| |\ \ \ \ \
| * | | | | | BUG#13556441: CHECK AND REPAIR TABLE SHOULD BE MORE ROBUST [4]Venkata Sidagam2012-10-311-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem description: mysql server crashes when we run repair table on currupted table. Analysis: The problem with this bug seem to be key_reflength out of bounds (186 according to debugger). We read this value from meta-data segment of .MYI file while doing mi_open(). If you look into _mi_kpointer() you can see that the upper limit for key_reflength is 7. Solution: In mi_open() there is a line like: if (share->base.keystart > 65535 || share->base.rec_reflength > 8) we should verify key_reflength here as well.
| * | | | | | BUG#14485479: Merge into mysql-5.5 branchAshish Agarwal2012-10-313-2/+26
| |\ \ \ \ \ \
| | * | | | | | BUG#14485479: INSTALL AUDIT PLUGIN HANGS IF WE TRY TOAshish Agarwal2012-10-313-2/+26
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DISABLE AND ENABLED DURING DDL OPERATION PROBLEM: Same thread trying to acquire the same mutex second time leads to hang/server crash. While [un]installing audit_log plugin a thread acquires the LOCK_plugin mutex and after successful initialization tries to write in mysql.plugin table. It holds this mutex for a long time. If some how plugin table is corrupted then a write to plugin table will throw an error, thread try to log this error in the audit_log plugin, doing so it tries to acquire the mutex again and results is server hang/crash. SOLUTION: Releasing the LOCK_plugin mutex before writing in mysql.plugin table. We dont need to hold this mutex as thread already acquired a TL_WRITE lock on mysql.plugin table.
| * | | | | | BUG#11754894: MYISAMCHK ERROR HAS INCORRECT REFERENCE Anirudh Mangipudi2012-10-300-0/+0
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TO MYISAM_SORT_BUFFER_SIZE Null Merge from 5.1 to 5.5
| * \ \ \ \ \ \ BUG#11754894: MYISAMCHK ERROR HAS INCORRECT REFERENCE Anirudh Mangipudi2012-10-301-1/+8
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TO 'MYISAM_SORT_BUFFER_SIZE' Merging from 5.1 to 5.5