Commit graph

74552 commits

Author SHA1 Message Date
Sergey Petrunya
424f56b3ba BUG#920713: Wrong result (missing rows) with firstmatch+BNL, IN subquery, ...
- Disable use of join cache when we're using FirstMatch strategy, and the join
  order is such that subquery's inner tables are interleaved with outer.  Join 
  buffering code is incapable of handling such join orders.

- The testcase requires use of @@debug_optimizer_prefer_join_prefix to hit the bug, 
  but I'm pushing it anyway (including the mention of the variable in .test file), 
  so that it can be found and enabled when/if we get something comparable in the 
  main tree.
2012-01-25 22:05:20 +04:00
Sergey Petrunya
364c07934c Merge 2012-01-25 18:36:57 +04:00
Sergey Petrunya
73cc529b51 BUG#920255: Wrong result (extra rows) with loosescan and IN subquery
The problem was that LooseScan execution code assumed that tab->key holds 
the index used for looseScan. This is only true when range or full index
scan are used. In case of ref access, the index is in tab->ref.key (and 
tab->index==0 which explains how LooseScan passed tests with ref access: they 
used one index)

Fixed by setting/using loosescan_key, which always the correct index#.
2012-01-25 18:33:57 +04:00
Sergey Petrunya
e10816118a Update handler status variables after the last commit. 2012-01-25 18:27:34 +04:00
unknown
cff7a9861a Add missing include and library files to libmariadbclient-dev package. 2012-01-25 13:39:54 +01:00
Michael Widenius
2aab4d66c6 Automatic merge 2012-01-25 09:43:41 +02:00
Vladislav Vaintroub
7ed6530a06 add test thread_pool_min_basic 2012-01-25 03:59:09 +01:00
Vladislav Vaintroub
398c935db3 further reduce diffs to 5.5, monty review 2012-01-24 19:18:22 +01:00
Michael Widenius
59f5c05a38 Don't crash with: UPDATE performance_schema.setup_instruments SET ENABLED="NO";
Don't log updates to performance schema in replication log.
Ensure that we don't call ha_update after ha_index_or_rnd_end() is called on slave.


.bzrignore:
  Ignore some generated files
mysql-test/include/show_slave_status.inc:
  Ensure that ./ is removed from file names
mysql-test/suite/perfschema/r/binlog_mix.result:
  Updated results
mysql-test/suite/perfschema/r/binlog_row.result:
  Updated results
mysql-test/suite/perfschema/r/binlog_stmt.result:
  Updated results
mysql-test/suite/rpl/r/rpl_cant_read_event_incident.result:
  Updated results
mysql-test/suite/rpl/r/rpl_performance_schema.result:
  Ensure that we don't crash slave when we update performance schema
mysql-test/suite/rpl/t/rpl_performance_schema.test:
  Ensure that we don't crash slave when we update performance schema
sql/log_event.cc:
  Ensure that we don't call ha_update after ha_index_or_rnd_end() is called.
  Remove old code that is not needed anymore (like restarting read loop over all rows if no matcing row is found)
  Simplify code
sql/log_event_old.cc:
  Ensure that we don't call ha_update after ha_index_or_rnd_end() is called.
storage/myisam/ha_myisam.cc:
  More DBUG_PRINT
storage/perfschema/ha_perfschema.h:
  Don't log updates to performance schema in replication log.
2012-01-24 18:07:35 +02:00
unknown
3b85e2b57c More 5.5 .deb packaging fixes 2012-01-24 14:52:43 +01:00
unknown
92bd8a5c60 More small 5.5 .deb packaging fixes found in Buildbot tests. 2012-01-24 12:27:44 +01:00
unknown
45b512b5b5 Fix two .deb problems causing build/install failures in Buildbot. 2012-01-24 10:47:57 +01:00
Vladislav Vaintroub
d50649ecf7 small cleanups 2012-01-24 03:23:14 +01:00
Vladislav Vaintroub
b1422b8f1b reduce diffs to the 5.5 version, remove random change in mysql-test-run.pl 2012-01-24 02:26:29 +01:00
Vladislav Vaintroub
b7cf6abe52 merge 2012-01-24 01:59:03 +01:00
Sergey Petrunya
2ae3fca465 Add MRR counters: Handler_mrr_init, Handler_mrr_extra_rowid_sorts,
Handler_mrr_extra_key_sorts.
2012-01-23 23:35:52 +04:00
Vladislav Vaintroub
19d13a3b17 portability fixes for FreeBSD 8 and 9 2012-01-23 17:12:25 +01:00
unknown
7baa64fc61 Fix typo in Ubuntu .deb packaging 2012-01-23 17:07:01 +01:00
unknown
aa2a2f83e3 Buildbot VMs have cmake in /usr/local/, so we need to include that in the path. 2012-01-23 15:08:46 +01:00
unknown
5db8b5113b Fixed creating limit for exists subquery. 2012-01-23 15:14:13 +02:00
unknown
cfd4fcb0bc Initial draft for building .deb packages for MariaDB 5.5. 2012-01-23 12:20:16 +01:00
Sergei Golubchik
81690cf326 MDEV-106 my_gethwaddr() does not compile on Solaris 11 2012-01-23 11:43:28 +01:00
Igor Babaev
7bdbdb05ce Back-ported test cases for bugs #54437, #55955, #52329, #57623 from subquery_sj
of mysql-5.6 code line. The bugs could not be reproduced in the latest release
of mariadb-5.3 as they were fixed either when the code of subquery optimization
was back-ported from mysql-6.0 or later when some other bugs were fixed.
2012-01-22 12:54:30 -08:00
Igor Babaev
80009f5862 Back-ported test cases for bugs #53060, #53305, #50358, #49453 from subquery_sj
of mysql-5.6 code line. The bugs could not be reproduced in the latest release
of mariadb-5.3 as they were fixed either when the code of subquery optimization
was back-ported from mysql-6.0 or later when some other bugs were fixed.
2012-01-21 20:58:23 -08:00
Igor Babaev
bb4053afc3 Fixed LP bug #919427.
The function subselect_uniquesubquery_engine::copy_ref_key has to take into
account that when EXPLAIN is processed the array of store_key object created
for any TABLE_REF may contain elements for constant items. These items should
be ignored by thefunction.
2012-01-20 23:54:43 -08:00
Vladislav Vaintroub
3cb24fff33 - Always compile my_new.cc and safemalloc.c with mysys
Preprocessor macros USE_MYSYS_NEW and -DSAFEMALLOC are 
used to conditionally compile safemalloc or overwritten new/delete.

-Define dummy symbol in my_new.cc in case -DUSE_MYSYS_NEW is not set.
This avoids compiler/linker warnings about an essentially empty file
being compiled.
2012-01-20 22:32:31 +01:00
Vladislav Vaintroub
c232b20232 Fix embedded build on Windows. 2012-01-20 16:54:35 +01:00
Vladislav Vaintroub
2ed40859c4 Remove debug output 2012-01-20 12:39:06 +01:00
Vladislav Vaintroub
74cac79218 - Fix rpl_checksum test. Use basename of file in error messages, not the o
nes prefixed with .\ or ./
- Add my_basename() to mysys.
- Do not compile files that are not needed on Windows (my_addr_resolve, an
d safemalloc related stuff it it is not used)
Avoids linker warnings about compilation of essentially empty files.
2012-01-20 01:57:58 +01:00
Vladislav Vaintroub
139bf5ce4c MDEV-103: 'debug' is disabled in this build warnings causes tests to fail
The root cause is that after recent fixes around --debug variable (lp:909051)
the variable is now available in both release and debug builds, such that MTR
cannot tell a debug compiled server from optimized one.

To fix, assign a special default value 'disabled' for 'debug' variable in optimized build
and fix MTR to check for this special value to recognize optimized build.
2012-01-20 01:57:34 +01:00
Sergey Petrunya
9f60aa27f7 BUG#912513: Wrong result (missing rows) with join_cache_hashed+materialization+semijoin=on
- equality substitution code was geared towards processing WHERE/ON clauses.
  that is, it assumed that it was doing substitions on the code that 
   = wasn't attached to any particular join_tab yet
   = was going to be fed to make_join_select() which would take the condition
     apart and attach various parts of it to tables inside/outside semi-joins.
- However, somebody added equality substition for ref access. That is, if 
  we have a ref access on TBL.key=expr, they would do equality substition in
  'expr'. This possibility wasn't accounted for.
- Fixed equality substition code by adding a mode that does equality 
  substition under assumption that the processed expression will be 
  attached to a certain particular table TBL.
2012-01-20 02:11:53 +04:00
Sergey Petrunya
8bedf1ea1c BUG#912538: Wrong result (missing rows) with semijoin=on, firstmatch=on, ...
- setup_semijoin_dups_elimination() would incorrectly set join_tab->do_firstmatch 
  when the join order had outer tables interleaved with inner.
2012-01-19 23:44:43 +04:00
Vladislav Vaintroub
4502f3b93f disable character_sets_dir_basic - slashes vs backslashes problem is not possible to resolve 2012-01-19 18:41:56 +01:00
Vladislav Vaintroub
3482963ad6 fix broken result file 2012-01-19 17:44:22 +01:00
Vladislav Vaintroub
607c9a6c68 Fix innodb_bug60229 (get the innodb change into xtradb) 2012-01-19 17:31:07 +01:00
Sergei Golubchik
e3e15687a0 update the test result 2012-01-19 14:12:16 +01:00
Vladislav Vaintroub
0e975ded65 Fix compiler warning on Windows. 2012-01-19 13:46:59 +01:00
Igor Babaev
d92e84e083 Merge 2012-01-18 15:28:13 -08:00
Igor Babaev
40e4d09c53 Merge 2012-01-18 14:19:28 -08:00
Sergei Golubchik
309ca7b447 fix the linking failure on windows 2012-01-18 22:09:20 +01:00
Vladislav Vaintroub
c492296127 ensure that lock is held, whenever active thread counter changes.
It was not the case inside listener routine.
2012-01-18 21:12:04 +01:00
Sergei Golubchik
88f451aa6e multi-delete should ignore semi-join internal temp tables, when looking for tables to delete from 2012-01-18 14:52:56 +01:00
Sergei Golubchik
b297463407 lp:893522 more problems found by PVS Studio 2012-01-18 14:52:38 +01:00
Igor Babaev
746dbbe583 Fixed LP bug #917990.
If the expression for a derived table of a query contained a LIMIT
clause the estimate of the number of rows in this derived table
returned by the EXPLAIN command could be badly off since the
optimizer ignored the limit number from the LIMIT clause when
getting the estimate. 
The call of the method SELECT_LEX_UNIT->set_limit added in the code
of mysql_derived_optimize() will be needed also in maria-5.5 where
parameters in the LIMIT clause are supported.
2012-01-18 03:31:20 -08:00
unknown
69327e2987 Adjust test results after Monty's push of the new
handler counter Handler_read_rnd_deleted.
2012-01-18 12:53:50 +02:00
Igor Babaev
e041331c89 Merge 2012-01-18 00:38:13 -08:00
Igor Babaev
4fa282db2b Fixed the failure of sp.test reported in the issue MDEV-86. 2012-01-17 23:42:49 -08:00
Vladislav Vaintroub
6909311028 Threadpool : address some of the monty's review points
Also, print message when pool blocks.
2012-01-17 18:50:40 +01:00
unknown
6b4c132bc7 Removed unused code merged from 5.2. In 5.3 we fix this problem by checking if we put max/min group function
without GROUP BY artificially in case of MODE_ONLY_FULL_GROUP_BY sql mode.
2012-01-17 15:16:00 +02:00
Sergei Golubchik
4cd19779c7 MDEV-69 SET optimizer_switch = REPLACE(...) causes ER_WRONG_VALUE_FOR_VAR
find_set() in typelib.c expected a zero-terminated string

include/typelib.h:
  disable unused flags
2012-01-17 10:55:27 +01:00