summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Added histogams for table columns.Igor Babaev2013-03-2523-335/+1324
|
* The pilot patch for mwl#253.Igor Babaev2013-03-1125-34/+1219
|
* Automatic mergeMichael Widenius2013-02-273-9/+80
|\
| * Fixed BUG#51763 Can't delete rows from MEMORY table with HASH keyMichael Widenius2013-02-153-9/+80
| | | | | | | | | | | | | | | | | | | | | | mysql-test/suite/heap/heap.result: Added test case mysql-test/suite/heap/heap.test: Added test case storage/heap/hp_delete.c: Fixed that we don't change order of keys for the current key when we delete them from the hash table. Fixed that 'current_hash_ptr' is correct after heap_delete_key(). Don't "reset current_hash_ptr" on delete; This will improve time a lot for delete of rows when not all rows matches the search criteria.
* | [NOT] EXISTS to IN transformation.unknown2013-02-2627-133/+9578
|/
* Fix for MDEV-4149, backport from 10.0:Elena Stepanova2013-02-081-1/+1
| | | | | | | | committer: Sergei Golubchik <sergii@pisem.net> fix for a valgrind builds. my_alloca() cannot have MY_THREAD_SPECIFIC, because can be used outside of the THD context.
* MDEV-537 Make multi-column non-top level subqueries to be executed via index ↵unknown2013-02-0710-26/+27
| | | | | | | | | | | | | | | | | | | (index/unique subquery) instead of single_select_engine This task changes the IN-EXISTS rewrite for multi-column subqueries "(a, b) IN (select b, c ...)" to work in the same way as for single-column subqueries "a IN (select b ...) with respect to the injection of NULL-rejecting predicates. More specifically, the method Item_in_subselect::create_row_in_to_exists_cond() adds Item_is_not_null_test and Item_func_trig_cond only if the left IN operand can be NULL. Not having these predicates when not necessary, makes it possible to rewrite the subquery into a "unique_subquery" or "index_subquery" when there is a suitable index on the only subquery table.
* set THR_THD key and current_thd=NULL as early as possible,Sergei Golubchik2013-02-051-6/+8
| | | | | otherwise safemalloc and my_malloc_size_cb_func will use current_thd before it's defined
* MDEV-3873: post-merge fix.unknown2013-02-041-1/+1
|
* missing cast addedSergei Golubchik2013-02-041-1/+1
|
* MDEV-4091: Dynamic columns C functions should be included in libmysqlclientunknown2013-02-041-0/+20
|
* MDEV-4121: binlog.binlog_row_binlog sporadic test failureunknown2013-01-311-0/+3
| | | | | Add a wait for binlog checkpoint to avoid thread scheduling giving different binlog order at random.
* don't disable the cassandra engine by defaultSergei Golubchik2013-01-301-2/+1
|
* MDEV-3984: Double free of Master_info * when CHANGE MASTER fails.unknown2013-01-305-7/+31
| | | | | | When CHANGE MASTER fails, it may or may not have already added the Master_info * to the index. Implement logic that properly handles removal and freeing in both cases.
* move cassandra-related code from cmake/cpack_rpm.cmakeSergei Golubchik2013-01-292-3/+13
| | | | to storage/cassandra/CMakeLists.txt
* buildbot fixes for storage/cassandra/CMakeLists.txtSergei Golubchik2013-01-291-5/+12
| | | | | | | | storage/cassandra/CMakeLists.txt: more thourough CHECK_CXX_SOURCE_COMPILES test, that checks whether boost::shared_ptr can work with --fno-rtti don't install anything in INSTALL_SYSCONFDIR, if the latter is unset
* 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
| | | | |