Commit graph

59512 commits

Author SHA1 Message Date
Alexander Nozdrin
5e690da12a Auto-merge from mysql-next-mr. 2009-12-03 12:20:54 +03:00
Alexander Nozdrin
3f797a46de Auto-merge from mysql-next-mr. 2009-12-02 19:00:26 +03:00
Alexander Nozdrin
4a8e68fb0b Fix merge mistake. 2009-12-02 18:59:00 +03:00
Alexander Nozdrin
f26ac4ba7a Manual merge from mysql-next-mr.
Conflicts:
  - sql/sql_yacc.yy
2009-12-02 18:50:14 +03:00
Tor Didriksen
0fe17677d8 Bug #49130 Running mtr tests with valgrind and debug produces lots of warnings
Use safe output formats for strings that are not null terminated.
2009-12-02 11:00:44 +01:00
Evgeny Potemkin
9f7d24586b Bug#33546: Slowdown on re-evaluation of constant expressions.
Constant expressions in WHERE/HAVING/ON clauses aren't cached and evaluated
for each row. This causes slowdown of query execution especially if constant
UDF/SP function are used.
      
Now WHERE/HAVING/ON expressions are analyzed in the top-bottom direction with
help of the compile function. When analyzer meets a constant item it
sets a flag for the tree transformer to cache the item and doesn't allow tree
walker to go deeper. Thus, the topmost item of a constant expression if
cached. This is done after all other optimizations were applied to
WHERE/HAVING/ON expressions
      
A helper function called cache_const_exprs is added to the JOIN class.
It calls compile method with caching analyzer and transformer on WHERE,
HAVING, ON expressions if they're present.
The cache_const_expr_analyzer and cache_const_expr_transformer functions are
added to the Item class. The first one check if the item can be cached and
the second caches it if so.
A new Item_cache_datetime class is derived from the Item_cache class.
It caches both int and string values of the underlying item independently to
avoid DATETIME aware int-to-string conversion. Thus it completely relies on
the ability of the underlying item to correctly convert DATETIME value from
int to string and vice versa.
2009-12-02 00:25:51 +03:00
Evgeny Potemkin
17a4c595bc Auto-merged fix for the bug#34384. 2009-12-01 22:41:39 +03:00
Andrei Elkin
e8e85ed2a6 Manual resolving for the following files
Text conflict in mysql-test/collections/default.experimental
Text conflict in mysql-test/r/show_check.result
Text conflict in mysql-test/r/sp-code.result
Text conflict in mysql-test/suite/binlog/r/binlog_tmp_table.result
Text conflict in mysql-test/suite/rpl/t/disabled.def
Text conflict in mysql-test/t/show_check.test
Text conflict in mysys/my_delete.c
Text conflict in sql/item.h
Text conflict in sql/item_cmpfunc.h
Text conflict in sql/log.cc
Text conflict in sql/mysqld.cc
Text conflict in sql/repl_failsafe.cc
Text conflict in sql/slave.cc
Text conflict in sql/sql_parse.cc
Text conflict in sql/sql_table.cc
Text conflict in sql/sql_yacc.yy
Text conflict in storage/myisam/ha_myisam.cc

Corrected results for
 stm_auto_increment_bug33029.reject      2009-12-01
		20:01:49.000000000 +0300
       <andrei> @@ -42,9 +42,6 @@
       <andrei>  RETURN i;
       <andrei>  END//
       <andrei>  CALL p1();
       <andrei> -Warnings:
       <andrei> -Note   1592    Statement may not be safe to log in statement
		format.
       <andrei> -Note   1592    Statement may not be safe to log in statement
		format.

There should be indeed no Note present because there is in fact autoincrement 
top-level query in sp() that triggers inserting in yet another auto-inc table.
(todo: alert DaoGang to improve the test).
2009-12-01 21:07:18 +02:00
Alexander Nozdrin
761b9bde2d A patch for Bug#48915 (After having switched off the ipv6 support in OS,
mysqld crashed in network_init()).

The problem was that current_thd was not ready at that point in mysqld life,
so ER() macro could not be used.

The fix is to use ER_DEFAULT() macro, which is intented for such cases.
2009-12-01 19:59:31 +03:00
Mattias Jonsson
f5c98cc4ad merge 2009-12-01 13:36:12 +01:00
Andrei Elkin
46b67a3b29 fixing the prev "auto"-merge that carried a piece of deprecated code (existing in 5.1) 2009-11-30 18:07:33 +02:00
Andrei Elkin
a6f2076c03 merging from 5.1 to rep+2 starting at gca(5.1, next-mr) == build@mysql.com-20091104182209-iui387z35159aoyw 2009-11-30 14:34:39 +02:00
Horst.Hunger
11c3d86f26 fix for ipv6. 2009-11-30 10:49:37 +01:00
Serge Kozlov
71a1b1e755 WL#3894, post-push fix. 2009-11-28 17:53:48 +03:00
Serge Kozlov
6475109c1f Backport for WL#3894 2009-11-28 02:34:47 +03:00
Horst.Hunger
76b383da7c last fix? 2009-11-27 17:37:39 +01:00
Tor Didriksen
488269e2a4 Bug#49165 Remove unused/confusing code/comments in setup_conds() 2009-11-27 15:23:20 +01:00
Tor Didriksen
76223362bd backport of:
------------------------------------------------------------
        revno: 2617.81.1
        revision-id: tor.didriksen@sun.com-20090924061133-qo02zotz3yypmfpk
        parent: davi.arnaut@sun.com-20090923203724-tvz7x8dauzp686v7
        committer: Tor Didriksen <tor.didriksen@sun.com>
        branch nick: 6.0-codebase-bf-opt
        timestamp: Thu 2009-09-24 08:11:33 +0200
        message:
          Bug#47511 Segmentation fault during cleanup in sql_union (events_bugs.test)
2009-11-30 09:54:46 +01:00
He Zhenxing
9b262a3d9f Merge fix of bug#48351 from 5.1-rep-semisync 2009-11-29 10:10:09 +08:00
Tor Didriksen
98e8c41ef8 Use vsnprintf() rather than my_vsnprintf() in DbugVfprintf,
since support for "%g" and "%f" has not been backported yet.
2009-11-27 15:40:33 +01:00
Horst.Hunger
a6d408c3cd another patch to fix differences. 2009-11-27 13:08:38 +01:00
He Zhenxing
75b9db91de Bug#48351 Inconsistent library names for semisync plugin
The semisync plugin library names on Unix like systems were prefixed with
'lib', which did not follow the conventions.

Fix the problem by removing the 'lib' prefix on Unix systems.
2009-11-27 16:49:45 +08:00
Horst.Hunger
836b51ac23 No more socket and no more diffs in result files. 2009-11-27 09:02:32 +01:00
Serge Kozlov
f9156610b0 Backport for WL#4416 2009-11-27 02:32:01 +03:00
Horst.Hunger
8424bef0c5 Forgotten to add the windows version of the tests. Done with that patch. 2009-11-26 13:03:36 +01:00
Horst.Hunger
f532170898 Improvements to reduce the output for better reading and more stability. 2009-11-26 09:03:04 +01:00
Alexander Nozdrin
5c8ceee1fb Update result files. 2009-11-25 17:12:30 +03:00
Alexander Nozdrin
4b28a6ce84 Auto-merge from mysql-next-mr. 2009-11-25 16:46:45 +03:00
Alik
68c8baa455 Fix typo (s/_WIN_/__WIN__). 2009-11-25 15:58:15 +03:00
Alexey Botchkov
dd03daef02 merging. 2009-11-25 16:28:10 +04:00
Alexander Nozdrin
2fa93b849d Auto-merge (pull) from mysql-next-mr. 2009-11-26 11:46:29 +03:00
Alexander Nozdrin
a8d553e0e3 Manual merge/pull from mysql-next-mr.
Conflicts:
  - sql/sql_insert.cc
2009-11-25 18:03:05 +03:00
Alexey Botchkov
a07d7da4e7 Bug#48878 "Embedded" tests fail due to an unknown variable "shared-memory-base-name"
the 'shared-memory-base-name' was added to the [client] section of the my.cnf file.
    That option isn't supported by the mysqltest_embedded.

per-file comments:
  mysql-test/lib/My/ConfigFactory.pm
2009-11-25 16:12:23 +04:00
Alexander Nozdrin
90f2a469c9 Backport of WL#798 (MySQL IPv6 support) from 6.0.
The following 6.0 revisions were analyzed:
  - sp1r-brian@zim.(none)-20071228102738-21894
  - sp1r-brian@zim.(none)-20071228121841-56447
  - sp1r-brian@zim.(none)-20071228205403-56423
  - sp1r-brian@zim.(none)-20071228221139-55341
  - sp1r-brian@zim.(none)-20071228233443-55352
  - sp1r-brian@zim.(none)-20071229094527-61763
  - sp1r-brian@zim.(none)-20071230203739-61746
  - sp1r-brian@zim.(none)-20080102213805-61741
  - sp1r-brian@zim.(none)-20080103201041-61746
  - sp1r-brian@zim.(none)-20080104234927-59875
  - sp1r-brian@zim.(none)-20080105005827-59874
  - sp1r-brian@zim.(none)-20080105012020-59865
  - sp1r-brian@zim.(none)-20080106003858-59857
  - sp1r-brian@zim.(none)-20080123195552-31680
  - sp1r-brian@zim.(none)-20080124201848-29999
  - sp1r-brian@zim.(none)-20080129075144-36991
  - sp1r-cbell/Chuck@mysql_cab_desk.-20080215041806-21954
  - sp1r-vvaintroub@wva.-20080212124547-06272
  - sp1r-dfischer/mysqldev@mysql.com/production.mysql.com-20071223184258-15140
  - sp1r-brian@zim.(none)-20080206122216-35774
  - sp1r-baker@bk-internal.mysql.com-20080209005622-35947
  - sp1r-baker@bk-internal.mysql.com-20080224215608-24613
  - sp1r-baker@bk-internal.mysql.com-20080307170710-63543
  - sp1r-baker@bk-internal.mysql.com-20080312233205-13069
  - sp1r-Reggie@core.-20080402175211-28643
  - kpettersson@mysql.com-20080901101150-4ne74r8v0492vv42
  - alik@sun.com-20090805173811-9fzt0ymcp9tsvn7k
  - alik@sun.com-20090805173937-fcv1fdveodq5x9gb
  - alik@sun.com-20090805175009-g1od16i3t1xkw2qr
  - kostja@sun.com-20090805200643-j9i4fy7ii8ijho5c
  - alik@sun.com-20090807195303-j4fb5m4l1dgdahwo
  - alik@sun.com-20090808114848-3rkzr9kifrijzaqy
  - alik@sun.com-20090810041739-ugmx34h34uid8mox
  - alik@sun.com-20090810105306-rf43rfyzzblsy5e7
  - alik@sun.com-20090810123113-ccdjwai68b5woqdm
  - alik@sun.com-20090811080423-gb7pibec1znaydzy
  - alik@sun.com-20090811082130-5uckar1vx3kdsw7g
  - alik@sun.com-20090812202051-uqkfwwxxcjvo5ean

The following bugfixes are also backported within this patch:
  - Bug#34292: netdb.h missing in hostname.cc
  - Bug#39153: Failing to lookup a host name can lead to crash
    in current IPv6 implementation
  - Bug#38247: Server does not resolve connecting ip's
  - Bug#43006: main.skip_name_resolve fails on Windows in PB2
  - Bug#45606: ACL requires IPv4-mapped addresses to be used
  - Bug#45584: Host name cache does not work as a cache
2009-11-25 13:53:23 +03:00
Alexander Nozdrin
12b5d5b19a Auto-merge from mysql-next-mr-runtime. 2009-11-25 13:47:01 +03:00
Mattias Jonsson
a236766eac merge 2009-11-25 10:37:13 +01:00
Mattias Jonsson
c492e97da1 merge of bug#47135 into mysql-next-mr-bugfixing 2009-11-25 09:19:34 +01:00
Marc Alff
6e01be7552 WL#2373 Use cycle counter for timing 2009-11-24 16:36:31 -07:00
Alexander Nozdrin
0a9d4e675a Auto-merge from mysql-next-mr. 2009-11-24 22:39:05 +03:00
Konstantin Osipov
b4e9cc6988 Backport of:
------------------------------------------------------------
revno: 3559
committer: Davi Arnaut <Davi.Arnaut@Sun.COM>
branch nick: mysql-pe
timestamp: Fri 2009-08-28 15:23:16 -0300
message:
Break down a large and obnoxious "if" statement. Multiple "if" statements
makes it easy to understand and follow the code (specially in a debugger).
2009-11-24 21:55:16 +03:00
Luis Soares
799333b590 BUG#42150: binlog_start_comment.test failed: Error writing file 'UNOPENED'
NOTE: backporting BUG#42150 into next-mr
      Includes latest Andrei's patch (see [2 Feb 18:40] Bugs System)
      and merge.test post-push fix (see [3 Feb 18:04] Bugs System)

The reason of the bug appeared to be overreacting on absense of a
binlog file although the file name had been presented in in the master
binlog index file.
By convention, there should have been only a warning printed and the rest of
`reset master' logics completed.  This did not happen on windows
due to incorrect value of my_errno returned from nt_share_delete().
      
Fixed with correcting my_errno assignment in nt_share_delete() to be ENOENT in 
he event of no binlog file. Some minor refactoring has been made.
2009-11-24 15:00:08 +00:00
Konstantin Osipov
4451869618 2009-11-24 17:01:47 +03:00
Konstantin Osipov
4cff617c25 Backport of:
----------------------------------------------------------------------
ChangeSet@1.2571, 2008-04-08 12:30:06+02:00, vvaintroub@wva. +122 -0
  Bug#32082 : definition of VOID in my_global.h conflicts with Windows
  SDK headers
  
  VOID macro is now removed. Its usage is replaced with void cast.
  In some cases, where cast does not make much sense (pthread_*, printf, 
  hash_delete, my_seek), cast is ommited.
2009-11-24 16:54:59 +03:00
Mattias Jonsson
02ce4fde3b merge 2009-11-24 13:27:29 +01:00
Mattias Jonsson
f52280cc42 merge of bug#35765 into mysql-next-mr-bugfixing 2009-11-24 12:08:04 +01:00
Alexander Nozdrin
4575f70334 Remove handle_delayed_insert_impl(). 2009-11-24 09:27:16 +03:00
Konstantin Osipov
26cd9abe4f A follow up for the fix for Bug#35164 (remove priorities on Windows). 2009-11-23 20:08:37 +03:00
Konstantin Osipov
7edfae4e86 Backport of:
-------------------------------------------------------------
revno: 2877
committer: Davi Arnaut <Davi.Arnaut@Sun.COM>
branch nick: 35164-6.0
timestamp: Wed 2008-10-15 19:53:18 -0300
message:
Bug#35164: Large number of invalid pthread_attr_setschedparam calls
Bug#37536: Thread scheduling causes performance degradation at low thread count
Bug#12702: Long queries take 100% of CPU and freeze other applications under Windows

The problem is that although having threads with different priorities
yields marginal improvements [1] in some platforms [2], relying on some
statically defined priorities (QUERY_PRIOR and WAIT_PRIOR) to play well
(or to work at all) with different scheduling practices and disciplines
is, at best, a shot in the dark as the meaning of priority values may
change depending on the scheduling policy set for the process.

Another problem is that increasing priorities can hurt other concurrent
(running on the same hardware) applications (such as AMP) by causing
starvation problems as MySQL threads will successively preempt lower
priority processes. This can be evidenced by Bug#12702.

The solution is to not change the threads priorities and rely on the
system scheduler to perform its job. This also enables a system admin
to increase or decrease the scheduling priority of the MySQL process,
if intended.

Furthermore, the internal wrappers and code for changing the priority
of threads is being removed as they are now unused and ancient.

1. Due to unintentional side effects. On Solaris this could artificially
help benchmarks as calling the priority changing syscall millions of
times is more beneficial than the actual setting of the priority.

2. Where it actually works. It has never worked on Linux as the default
scheduling policy SCHED_OTHER only accepts the static priority 0.
2009-11-23 19:57:31 +03:00
Horst.Hunger
70dcf75b26 Reviewed patch of QA results for WL#798. 2009-11-23 17:38:42 +01:00
Alexander Nozdrin
828e2ddc43 Auto-merge from mysql-next-mr. 2009-11-23 17:09:36 +03:00