Commit graph

68402 commits

Author SHA1 Message Date
Sergey Petrunya
567d871ff0 Don't run test for BUG#933412 with embedded server, as it requires concurrent query
execution which mtr --embedded does not support
2012-02-22 17:38:24 +04:00
Sergey Petrunya
917455911f Sort counters by their names (otherwise, the order of SHOW STATUS output is sometimes sorted and sometimes not) 2012-02-22 17:11:33 +04:00
Sergey Petrunya
59b2bb9aca Added back MRR counters. The new names are: Handler_mrr_init,
Handler_mrr_key_refills, Handler_mrr_rowid_refills.
2012-02-22 16:48:29 +04:00
unknown
c299e027ee Changed names of statistic variables and counting matches instaed of rejected rows. 2012-02-22 10:38:28 +02:00
Sergei Golubchik
c9fc9f7317 lp:923429 Crash in decimal_cmp on using UNIX_TIMESTAMP with a wrongly formatted timestamp
UNIX_TIMESTAMP() can be null, and returns null for invalid values
2012-02-21 21:18:41 +01:00
Michael Widenius
f93da174c5 Merge with 5.2 2012-02-21 18:00:23 +02:00
Michael Widenius
6fbeed067b Fixed that 'make distcheck' works with automake 1.11.11
Fixed compiler warnings found by buildbot

Makefile.am:
  Removed extra empty line
cmd-line-utils/libedit/sys.h:
  Fixed that strndup() doesn't give compiler warnings
mysql-test/Makefile.am:
  Fixes for 'make distcheck'
plugin/auth_pam/auth_pam.c:
  Ensure that prototype for strndup() is included on linux
sql/share/Makefile.am:
  Fixes for 'make distcheck'
storage/innodb_plugin/btr/btr0sea.c:
  Fixed compiler warning
support-files/Makefile.am:
  Fixes for 'make distcheck'
2012-02-21 17:58:43 +02:00
Michael Widenius
86eebf33e3 Automatic merge with 5.1 2012-02-21 17:48:15 +02:00
Michael Widenius
70e6f0d854 Fixed suppression expression. 2012-02-21 14:17:33 +02:00
Michael Widenius
3608ec3036 Fixed wrong test case
mysql-test/suite/innodb_plugin/t/innodb_gis.test:
  Don't run test if innodb_plugin isn't used.
2012-02-21 09:35:46 +02:00
Michael Widenius
bebf3d1d8b Merge with 5.1 2012-02-21 01:55:12 +02:00
Michael Widenius
8d7e105f16 Automatic merge 2012-02-21 01:51:55 +02:00
Michael Widenius
d7283f54fe Automatic merge 2012-02-21 01:49:14 +02:00
Michael Widenius
f4885c092e Added missing signal values to signal_handler.cc
sql/signal_handler.cc:
  Added missing signal values.
2012-02-21 01:46:51 +02:00
Michael Widenius
7ed4806b11 More general handling of memory loss in dlclose (backported from 5.2)
Fixed supression in mysql-test-run so it also works on windows.

mysql-test/mysql-test-run.pl:
  Fixed supression so it also works on windows.
mysql-test/valgrind.supp:
  More general handling of memory loss in dlclose (backported from 5.2)
sql/signal_handler.cc:
  Added newlines around link to how to do bug reports
2012-02-21 01:44:50 +02:00
Sergei Golubchik
446554a15b fix for
"relocation R_X86_64_PC32 against `handler_index_cond_check' can not be used when making a shared object; recompile with -fPIC"
don't use visibility=hidden for external functions
2012-02-20 21:30:23 +01:00
Michael Widenius
b2ce6e3cde Automatic merge 2012-02-21 09:43:36 +02:00
Michael Widenius
fd1abdd474 Automatic merge 2012-02-21 09:37:56 +02:00
Michael Widenius
df9d847745 Automatic merge 2012-02-21 09:36:48 +02:00
Michael Widenius
15c5a2686f Merge with MariaDB 5.2 2012-02-21 01:58:50 +02:00
Vladislav Vaintroub
df8befc08c merge 2012-02-20 18:46:22 +01:00
Vladislav Vaintroub
e7fef1df58 Fix compilation on Windows, and various Windows related mistakes introduced by
"safe exception patch".
Remove misleading comments suggesting about signal() Windows, the routine here
is part of a exception handler, and sig parameter is an exception code.
2012-02-20 18:07:38 +01:00
Sergey Petrunya
c381e44050 BUG#933412: Server crashes in _mi_put_key_in_record on KILL QUERY with ICP, STRAIGHT_JOIN
- In mi_rkey(), do correct handling of case where mi_yield_and_check_if_killed() 
  detects that the thread was killed (all other similar functions in MyISAM/Aria have 
  slightly different code and do not have this problem).
- Also fixed assignment in DBUG_ASSERT
- this is 2nd variant of the fix:
   = make .result file smaller
   = run KILLable statements in a separate connection, otherwise we could end up trying to 
     KILL the final "DROP TABLE" statement
2012-02-20 20:38:05 +04:00
Michael Widenius
84a3767c19 Fixed issue found by buildbot
mysql-test/suite/innodb/t/innodb_bug51920.test:
  Add another possible connect error
2012-02-20 17:59:42 +02:00
Michael Widenius
522b289607 Merge with 5.1 2012-02-20 17:58:00 +02:00
Michael Widenius
54cad2aae3 Fixed compiler warnings 2012-02-20 17:56:47 +02:00
Michael Widenius
038b739c98 Merge with MariaDB 5.1 and MySQL 5.1.61 2012-02-20 17:49:21 +02:00
Michael Widenius
ae07ec6cbf Merge with MYSQL 5.1.61
Fixed README with link to source
Merged InnoDB change to XtraDB

README:
  Added information of where to find MariaDB code
storage/archive/ha_archive.cc:
  Removed memset() of rows, a MariaDB checksum's doesn't touch not used data.
2012-02-20 16:23:18 +02:00
Michael Widenius
3c07d04580 Fixed lp:902654 "MariaDB consistently crashes in collect_tables on Aria checkpoint execution"
This happend when you have more than 1024 open Aria tables during checkpoint.


mysql-test/mysql-test-run.pl:
  Fixed that variable names are consistent between external and internal server.
mysql-test/suite/maria/suite.pm:
  Test for aria-block-size instead of 'aria' as 'aria' is not set for embedded server.
  This should be ok for aria tests, as aria is never disabled for these.
storage/maria/ma_checkpoint.c:
  Fixed bug when there are more than 1024 open Aria tables during checkpoint.
2012-02-20 14:03:44 +02:00
Sergey Petrunya
bd86e37e9d Merge 2012-02-20 15:34:50 +04:00
Sergey Petrunya
fecad7c945 BUG#933407: Valgrind warnings in mark_as_null_row with materialization+semijoin, STRAIGHT_JOIN, impossible WHERE
- In return_zero_rows(), don't call mark_as_null_row() for semi-join 
  materialized tables, because 1) they may have been already freed, and 
  2)there is no real need to call mark_as_null_row() for them.
2012-02-20 15:30:54 +04:00
Igor Babaev
3ef46370e9 Fixed bug #934348.
This bug is the result of an incomplete/inconsistent change introduced into
5.3 code when the cond_equal parameter were added to the function optimize_cond.
The change was made during a merge from 5.2 in October 2010.
The bug could affect only queries with HAVING.
2012-02-18 19:11:57 -08:00
Igor Babaev
cd81f57830 Fixed LP bug #934342.
An outer join query with a semi-join subquery could return a wrong result
if the optimizer chose to materialize the subquery.
It happened because when substituting for the best field into a ref item
used to build access keys not all COND_EQUAL objects that could be employed
at substitution were checked.

Also refined some code in the function check_join_cache_usage to make it
safer.
2012-02-18 16:06:38 -08:00
Sergei Golubchik
bbb3527635 Remove engine-specific (but identical) icp callbacks. create one reusable
common icp callback in the handler.cc.

It can also increment status counters, without making the engine
dependent on the exact THD layout (that is different in embedded).
2012-02-17 13:27:41 +01:00
Igor Babaev
2d19b077d5 Fixed LP bug #928352.
This bug led to wrong values of the use_count fields in some SEL_ARG
trees that triggered complains on the server side when executing the
test case for LP bug 800184 if a debug build of the server was used.
  
This was the result of the incomplete fix for bug 800184.
To complete it the following corrections had to be made:
- the copy constructor for SEL_TREE must call the new function incr_refs_all()
  instead of the function incr_refs(), because references to next key parts
  from any SEL_ARG tree belonging to the list of the first key part has to be
  adjusted.
- the method and_sel_tree of the class SEL_IMERGE must use the copy constructor
  of the SEL_TREE class to make a copy of its second argument before it ANDs it
  with any SEL_TREE tree from the processed SEL_IMERGE object.
2012-02-16 20:13:28 -08:00
Igor Babaev
c563ea0717 Fixed LP bug #933117.
The bug was fixed with the code back-ported from the patch for LP bug 800184
pushed into mariadb-5.3.
2012-02-16 16:06:49 -08:00
Sergey Petrunya
541334c5ac Backport of:
timestamp: Thu 2011-12-01 15:12:10 +0100
Fix for Bug#13430436 PERFORMANCE DEGRADATION IN SYSBENCH ON INNODB DUE TO ICP

When running sysbench on InnoDB there is a performance degradation due
to index condition pushdown (ICP). Several of the queries in sysbench
have a WHERE condition that the optimizer uses for executing these
queries as range scans. The upper and lower limit of the range scan
will ensure that the WHERE condition is fulfilled. Still, the WHERE
condition is part of the queries' condition and if ICP is enabled the
condition will be pushed down to InnoDB as an index condition. 

Due to the range scan's upper and lower limits ensure that the WHERE
condition is fulfilled, the pushed index condition will not filter out
any records. As a result the use of ICP for these queries results in a
performance overhead for sysbench. This overhead comes from using
resources for determining the part of the condition that can be pushed
down to InnoDB and overhead in InnoDB for executing the pushed index
condition.

With the default configuration for sysbench the range scans will use
the primary key. This is a clustered index in InnoDB. Using ICP on a
clustered index provides the lowest performance benefit since the
entire record is part of the clustered index and in InnoDB it has the
highest relative overhead for executing the pushed index condition.

The fix for removing the overhead ICP introduces when running sysbench
is to disable use of ICP when the index used by the query is a
clustered index.

When WL#6061 is implemented this change should be re-evaluated.
2012-02-16 20:15:57 +04:00
Sergey Petrunya
e98e05da7a Added comments 2012-02-16 18:56:10 +04:00
unknown
607aab9c1d Counters for Index Condition Pushdown added (MDEV-130). 2012-02-16 08:49:10 +02:00
unknown
764eeeee74 Fix for LP BUG#910123 MariaDB 5.3.3 causes 1093 error on Drupal
Problem was that now we can merge derived table (subquery in the FROM clause).
Fix: in case of detected conflict and presence of derived table "over" the table which cased the conflict - try materialization strategy.
2012-02-14 16:52:56 +02:00
Alexey Botchkov
7ab53e8062 MDEV-59 Review and push crashsafe GIS keys.
tests for RTree keys recovery.
2012-02-14 16:04:06 +04:00
Sergey Petrunya
e41e56ae99 Merge fix for BUG#928048 2012-02-14 14:13:10 +04:00
Sergey Petrunya
c9355dc279 BUG#928048: Query containing IN subquery with OR in the where clause returns a wrong result
- Make equality propagation work correctly when done inside the OR branches
2012-02-14 13:58:57 +04:00
Igor Babaev
c8bbe06ac7 Fixed LP bug #925985.
If the flag 'optimize_join_buffer_size' is set to 'off' and the value
of the system variable 'join_buffer_size' is greater than the value of
the system variable 'join_buffer_space_limit' than no join cache can
be employed to join tables of the executed query.
A bug in the function JOIN_CACHE::alloc_buffer allowed to use join
buffer even in this case while another bug in the function 
revise_cache_usage could cause a crash of the server in this case if the
chosen execution plan for the query contained outer join or semi-join
operation.
2012-02-13 23:46:57 -08:00
unknown
27dfa45e70 When we fail during slave thread initialisation, keep mi->run_lock
locked until we have finished clean up.

Previously, the code released the lock without marking that the thread
was running. This allowed a new slave thread to start while the old one
was still in the middle of cleaning up, causing assertions and probably
general mayhem.
2012-02-13 17:14:10 +01:00
Vladislav Vaintroub
e2deff6f02 merge 2012-02-12 23:03:36 +01:00
Vladislav Vaintroub
0c265a5eb8 Use newly released HeidiSQL 7.0 in the MSI installer 2012-02-12 23:02:56 +01:00
Vladislav Vaintroub
0c568a99df merge 2012-02-11 16:42:46 +01:00
Vladislav Vaintroub
e777a6cc57 merge 2012-02-11 15:05:07 +01:00
Vladislav Vaintroub
941572137c merge 2012-02-11 15:00:15 +01:00