summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 5.5 mergeSergei Golubchik2013-01-29372-2959/+11030
|\
| * more changes for fedora18Sergei Golubchik2013-01-291-0/+1
| |
| * fix 'compat' rpm for fedora18Sergei Golubchik2013-01-291-0/+1
| |
| * fix embedded build with for cmake 2.6.2 (older cmake could not handle IF(NOT ↵Vladislav Vaintroub2013-01-281-1/+3
| | | | | | | | MATCHES)
| * Fix for MDEV-3948, and backport of the following collection of fixes and ↵unknown2013-01-2812-16/+357
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | backports from MariaDB 10.0. The bug in mdev-3948 was an instance of the problem fixed by Sergey's patch in 10.0 - namely that the range optimizer could change table->[read | write]_set, and not restore it. revno: 3471 committer: Sergey Petrunya <psergey@askmonty.org> branch nick: 10.0-serg-fix-imerge timestamp: Sat 2012-11-03 12:24:36 +0400 message: # MDEV-3817: Wrong result with index_merge+index_merge_intersection, InnoDB table, join, AND and OR conditions Reconcile the fixes from: # # guilhem.bichot@oracle.com-20110805143029-ywrzuz15uzgontr0 # Fix for BUG#12698916 - "JOIN QUERY GIVES WRONG RESULT AT 2ND EXEC. OR # AFTER FLUSH TABLES [-INT VS NULL]" # # guilhem.bichot@oracle.com-20111209150650-tzx3ldzxe1yfwji6 # Fix for BUG#12912171 - ASSERTION FAILED: QUICK->HEAD->READ_SET == SAVE_READ_SET # and # and related fixes from: BUG#1006164, MDEV-376: Now, ROR-merged QUICK_RANGE_SELECT objects make no assumptions about the values of table->read_set and table->write_set. Each QUICK_ROR_SELECT has (and had before) its own column bitmap, but now, all QUICK_ROR_SELECT's functions that care: reset(), init_ror_merged_scan(), and get_next() will set table->read_set when invoked and restore it back to what it was before the call before they return. This allows to avoid the mess when somebody else modifies table->read_set for some reason.
| * 5.3 mergeSergei Golubchik2013-01-2815-82/+208
| |\
| | * 5.2 mergeSergei Golubchik2013-01-287-10/+65
| | |\
| | | * compilation error with -Wuninitialized -WerrorSergei Golubchik2013-01-281-1/+1
| | | |
| | | * 5.1 mergeSergei Golubchik2013-01-256-9/+64
| | | |\
| | | | * MDEV-729 lp:998028 - Server crashes on normal shutdown in closefrm after ↵Sergei Golubchik2013-01-253-3/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | executing a query from MyISAM table don't write a key value into the record buffer - a key length can be larger then the record length.
| | | | * MDEV-759 lp:998340 - Valgrind complains on simple selects containing ↵Sergei Golubchik2013-01-253-6/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | expression DAY(FROM_UNIXTIME(-1)) check item->null_value before using the result of item->val_int()
| | * | | MDEV-3875 Wrong result (missing row) on a DISTINCT query with the same ↵Sergei Golubchik2013-01-266-73/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | subquery in the SELECT list and GROUP BY fix remove_dup_with_hash_index() and remove_dup_with_compare() to take NULLs into account
| | * | | The problem was that expression with field after transformation (on the ↵unknown2013-01-254-1/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | first execution) reached by fix_fields() (via reference) before row which it belongs to (on the second execution) and fix_field for row did not follow usual protocol for Items with argument (first check that the item fixed then call fix_fields). Item_row::fix_field fixed.
| * | | | MDEV-4091: Dynamic columns C functions should be included in libmysqlclientunknown2013-01-281-0/+10
| | | | |
| * | | | Merge MDEV-3842, MDEV-3923, MDEV-3971Vladislav Vaintroub2013-01-265-8/+262
| |\ \ \ \
| | * | | | fix embeddedVladislav Vaintroub2013-01-251-1/+0
| | | | | |
| | * | | | Fix embedded buildVladislav Vaintroub2013-01-251-3/+4
| | | | | |
| | * | | | MDEV-3842, MDEV-3923 :Vladislav Vaintroub2013-01-254-6/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Miscellaneous workarounds for drop-in compatibility problems with Linux distributions, arounf versioning of the MySQL 5.5 client shared library. There seems to be 3 different ways major distributions handle versioning 1. Fedora (also Mageia, and likely other Redhat descendants) way old, 5.1 API functions are given version libmysqlclient_16 new API functions (client plugins, mysql_stmt_next ) are given version libmysqlclient_18 some extra functions beyond API are exported. some functions are renamed. 2.Debian Wheezy way all functions are given libmysqlclient_18 version 3. Ubuntu way (or MySQL/MariaDB download packages) no versioning UIp to this fix, MariaDB distributions did not have any versioning in the libraries, this rendered client library incompatible to distributions thus exchanging distribution's libmysqlclient.so.18.0.0 with MariaDB's did not work nicely (anywhere but on Ubuntu) THE FIX is to build libraries the same way as distributions do it - when building RPMs, use same version script as Fedora does, Make sure to export extra-symbols, the same as Fedora exports. - when building DEBs, use the same version script as Debian Wheezy - do not use version scripts otherwise Also, makes sure that extensions of MySQL APIs (asynchronous client functionality) is exported by the shared libraries.
| | * | | | MDEV-3971 : problems installing MariaDB packages (conflicts with ↵Vladislav Vaintroub2013-01-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysql-libs-5.5) FIx : make "shared" RPM obsolete/provide mysql-libs
| * | | | | Automatic mergeMichael Widenius2013-01-264-0/+29
| |\ \ \ \ \
| | * | | | | Fixed MDEV-3890: Server crash inserting record on a temporary table after ↵Michael Widenius2013-01-254-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | truncating it The problem was that a temporary table was re-created as a non-temporary table. mysql-test/suite/maria/truncate.result: Added test cases mysql-test/suite/maria/truncate.test: Added test cases sql/sql_truncate.cc: Mark that table to be created is a temporary table storage/maria/ha_maria.cc: Ensure that temporary tables are not transactional.
| * | | | | | 5.3 mergeSergei Golubchik2013-01-2512-87/+262
| |\ \ \ \ \ \ | | |/ / / / / | |/| | / / / | | | |/ / / | | |/| | | client/mysqltest.cc: make --error to work for --change_user errors
| | * | | | 5.2 mergeSergei Golubchik2013-01-2512-87/+262
| | |\ \ \ \ | | | | |/ / | | | |/| |
| | | * | | MDEV-4040 Replace deprecated SET OPTION syntax in mysqldumpSergei Golubchik2013-01-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysqldump.c: s/SET OPTION/SET/ (OPTION was, hm, optional since 3.21, so there's no need to use SET OPTION even in the old compatibility modes)
| | | * | | MDEV-3909 remote user enumerationSergei Golubchik2013-01-253-8/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of returning Access denied on the incorrect user name, emulate the complete failed logic procedure, possibly with the change plugin packet.
| | | * | | report "using password: YES/NO" correctly for the COM_CHANGE_USER failuresSergei Golubchik2013-01-252-2/+3
| | | | | |
| | | * | | MDEV-3915 COM_CHANGE_USER allows fast password brute-forcingSergei Golubchik2013-01-258-77/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | allow only three failed change_user per connection. successful change_user do NOT reset the counter tests/mysql_client_test.c: make --error to work for --change_user errors
| * | | | | 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