Commit graph

59230 commits

Author SHA1 Message Date
Georgi Kodinov
ae12a72360 Bug #51049: main.bug39022 fails in mysql-trunk-merge
Fixed the test to behave correctly with ps-protocol
and binlog format row.
2010-02-18 10:48:15 +02:00
Timothy Smith
a5ff234b0d merge 2010-02-17 12:36:16 -07:00
Timothy Smith
6a27e29f40 Request that internals mailing list be notified if the MySQL version formatting changes 2010-02-17 12:00:18 -07:00
hery.ramilison@sun.com
ab1b9cecd9 Merge from mysql-5.1.44-release 2010-02-17 18:48:40 +01:00
hery.ramilison@sun.com
df555c117c configure.in
- Changes to the banner text
 - Use older AC_PROG_LIBTOOL (Bug#51009)

scripts/mysql_install_db.sh
 - Changes to banner text
2010-02-17 18:39:28 +01:00
Bjorn Munch
4d5c86fb27 Bug #51135 Please increase the maximum number of connections allowed in mysqltest
Added --max-connections= argument to mysqltest and mtr
Small fix to first patch: forgot to check before free'ing connections array
2010-02-17 16:28:02 +01:00
Sergey Glukhov
b38ac49cf6 automerge 2010-02-17 16:14:57 +04:00
Sergey Glukhov
c8f278485b Bug#33717 INSERT...(default) fails for enum. Crashes CSV tables, loads spaces for MyISAM
Table corruption happens during table reading in ha_tina::find_current_row() func.
Field::store() method returns error(true) if stored value is 0.
The fix:
added special case for enum type which correctly processes 0 value.
Additional fix:
INSERT...(default) and INSERT...() have the same behaviour now for enum type.
2010-02-17 16:13:42 +04:00
Bjorn Munch
db1f4e0bf9 Bug #44054 MTR2: --no-reorder does not prevent reordering
Some logic would group by suite always
Disable this if using --noreorder
Also fix getting array from collect_one_suite() in this case
Amended according to previous comment
2010-02-17 12:37:37 +01:00
Joerg Bruehe
1c2e33b1fc Fix a bug in the RPM spec file:
A "%define" is no shell command, so it must not be the
only line in the "then" or "else" branch of an "if".

Add a ':' line to make the branch non-empty.
2010-02-17 11:13:15 +01:00
Mattias Jonsson
1e7700b8b8 post push fix for bug#42438, did not compile on non debug,
due to ifdef of include file
2010-02-16 11:42:22 +01:00
Sergey Glukhov
089f4bbd68 automerge 2010-02-16 13:44:36 +04:00
Sergey Glukhov
d2bdeb8cc4 Bug#50591 bit(31) causes Duplicate entry '1-NULL' for key 'group_key'
The problem is that during temporary table creation uneven bits
are not taken into account for hidden fields. It leads to incorrect
calculation&allocation of null bytes size for table record. And
if grouped value is null we set wrong bit for this value(see end_update()).
Fixed by adding separate calculation of uneven bit for hidden fields.
2010-02-16 13:13:49 +04:00
Mattias Jonsson
3596a44430 merge 2010-02-16 09:54:16 +01:00
Georgi Kodinov
780566d4c5 Addendum 2 for bug #46175: NULL read_view and consistent read assertion
Fixed a compilation warning.
2010-02-15 10:54:27 +02:00
Bjorn Munch
4cc54ef0c3 merge from 5.1 main 2010-02-14 12:22:10 +01:00
Davi Arnaut
a4dd7f95c8 Bug#50624: crash in check_table_access during call procedure
This bug is just one facet of stored routines not being able to
detect changes in meta-data (WL#4179). This particular problem
can be triggered within a single session due to the improper
management of the pre-locking list if the view is expanded after
the pre-locking list is calculated.

Since the overall solution for the meta-data detection issue is
planned for a later release, for now a workaround is used to
fix this particular aspect that only involves a single session.
The workaround is to flush the thread-local stored routine cache
every time a view is created or modified, causing locally cached
routines to be re-evaluated upon invocation.
2010-02-13 08:35:14 -02:00
Joerg Bruehe
488a69b64e Automerge from central branch. 2010-02-12 18:35:27 +01:00
Georgi Kodinov
9947636bba Bug #35250: readline check breaks when doing vpath build
Fixed several (obvious) places that don't work with vpath
build.
2010-02-12 18:28:35 +02:00
Mattias Jonsson
252db713c9 Manual merge (moved the check for log_table before name lock) 2010-02-12 10:03:10 +01:00
Bjorn Munch
995180af01 renaming test variables+c to variables_community, + is problematic 2010-02-11 14:26:58 +01:00
Bjorn Munch
5aa74ebab9 merge 31602 2010-02-11 14:00:34 +01:00
Bjorn Munch
ee03292107 merge 47389 2010-02-11 13:57:43 +01:00
Bjorn Munch
445596a12c Bug #47389 Innodb tests are skipped when running as unix root user
Add --user=root to collect_mysqld_features() if running as root
Please disregard previous commit; this is much simpler.
2010-02-11 11:22:07 +01:00
Luis Soares
9b0a91c1a1 Automerge from local mysql-5.1-bugteam bug branch. 2010-02-10 17:31:51 +00:00
Sergey Glukhov
e5a38da7ff Bug#45195 valgrind warnings about uninitialized values in store_record_in_cache()
The problem becomes apparent only if HAVE_purify is undefined.
It related to the part of code placed in open_table_from_share() fuction
where we initialize record buffer only if HAVE_purify is enabled.
So in case of HAVE_purify=OFF record buffer is not initialized
on open table stage.
Next we read key, find NULL value and update appropriate null bit
but do not update record buffer. After that the record is stored
in the join cache(store_record_in_cache). For CHAR fields we
strip trailing spaces and in our case this procedure uses
uninitialized record buffer.
The fix is to skip stripping space procedure in case of null values
for CHAR fields(partially based on 6.0 JOIN_CACHE implementation).
2010-02-10 18:56:47 +04:00
Bjorn Munch
1f97527aaa Bug #50618 Please allow 'sleep $variable' in mtr
Made mtr's sleep function understand $variables
A few fixes since previous patch, added tests
2010-02-09 18:13:57 +01:00
Sergey Vojtovich
f227197ce0 Merge fixes for bug49902 and 50351 to mysql-5.1-bugteam. 2010-02-09 18:40:18 +04:00
Sergey Vojtovich
62c2ad09eb Merge fix for bug50351 to mysql-5.1-bugteam. 2010-02-09 15:47:07 +04:00
Sergey Vojtovich
ca63087aee Merge fix for bug49902 to mysql-5.1-bugteam. 2010-02-09 15:43:44 +04:00
Magne Mahre
a1e10b01f9 Bug#47974 'TYPE=storage_engine' is deprecated and will be
removed in MySQL 6.0

CREATE TABLE... TYPE= returns the warning "The syntax 
'TYPE=storage_engine' is deprecated and will be removed in 
MySQL 6.0. Please use 'ENGINE=storage_engine' instead" 

This syntax is deprecated already from version 5.4.4, so
the message has been changed.

In addition, the deprecation macro was changed to reflect
the ServerPT decision not to include version number in the
warning message.

A number of test result files have been changed as a
consequence of the change in the deprecation macro.
2010-02-09 11:30:50 +01:00
Sergey Vojtovich
06fb46a029 BUG#49902 - SELECT returns incorrect results
Queries optimized with GROUP_MIN_MAX didn't cleanup KEYREAD
optimization properly. As a result subsequent queries may
return incomplete rows (fields are initialized to default
values).
2010-02-09 12:53:13 +04:00
Joerg Bruehe
f6df1770fc Upmerge "configure.in" text change from 5.0 to 5.1,
fixing bug#50950.
2010-02-08 21:40:17 +01:00
Joerg Bruehe
15728d0721 Bug#50950 Obsolete reference to www.mysql.com
in message printed at end of configure

New text for the success message of "configure".
2010-02-08 21:10:37 +01:00
Bjorn Munch
e814ed95bf merge from 5.1 main 2010-02-07 12:21:11 +01:00
Luis Soares
29b7338736 BUG#50780: 'show binary logs' debug assertion when binary
logging is disabled

Post-push fix: disabling test when running mysqld in 
               embedded mode.
2010-02-07 00:12:04 +00:00
Gleb Shchepa
57e5f8487f Bug #45640: optimizer bug produces wrong results
Grouping by a subquery in a query with a distinct aggregate
function lead to a wrong result (wrong and unordered
grouping values).

There are two related problems:

1) The query like this:

   SELECT (SELECT t1.a) aa, COUNT(DISTINCT b) c
   FROM t1 GROUP BY aa

returned wrong result, because the outer reference "t1.a"
in the subquery was substituted with the Item_ref item.

The Item_ref item obtains data from the result_field object
that refreshes once after the end of each group. This data
is not applicable to filesort since filesort() doesn't care
about groups (and doesn't update result_field objects with
copy_fields() and so on). Also that data is not applicable
to group separation algorithm: end_send_group() checks every
record with test_if_group_changed() that evaluates Item_ref
items, but it refreshes those Item_ref-s only after the end
of group, that is a vicious circle and the grouped column
values in the output are shifted.

Fix: if
       a) we grouping by a subquery and
       b) that subquery has outer references to FROM list
          of the grouping query,
     then we substitute these outer references with
     Item_direct_ref like references under aggregate
     functions: Item_direct_ref obtains data directly
     from the current record.

2) The query with a non-trivial grouping expression like:

   SELECT (SELECT t1.a) aa, COUNT(DISTINCT b) c
   FROM t1 GROUP BY aa+0

also returned wrong result, since JOIN::exec() substitutes
references to top-level aliases in SELECT list with Item_copy
caching items. Item_copy items have same refreshing policy
as Item_ref items, so the whole groping expression with
Item_copy inside returns wrong result in filesort() and
end_send_group().

Fix: include aliased items into GROUP BY item tree instead
     of Item_ref references to them.
2010-02-06 23:54:30 +04:00
Luis Soares
a26ab94eb2 BUG#50780: 'show binary logs' debug assertion when binary
logging is disabled
      
The server would hit an assertion because of a DBUG violation.
There was a missing DBUG_RETURN and instead a plain return
was used.
      
This patch replaces the return with DBUG_RETURN.
2010-02-05 17:51:55 +00:00
Luis Soares
d0c74a61b2 BUG#50620: Adding an index to a table prevents slave from logging
into slow log
      
While processing a statement, down the mysql_parse execution
stack, the thd->enable_slow_log can be assigned to
opt_log_slow_admin_statements, depending whether one is executing
administrative statements, such as ALTER TABLE, OPTIMIZE,
ANALYZE, etc, or not. This can have an impact on slow logging for
statements that are executed after an administrative statement
execution is completed.
      
When executing statements directly from the user this is fine
because, the thd->enable_slow_log is reset right at the beginning
of the dispatch_command function, ie, everytime a new statement
is set is set to execute.
      
On the other hand, for slave SQL thread (sql_thd) the story is a
bit different. When in SBR the sql_thd applies statements by
calling mysql_parse. Right after, it calls log_slow_statement
function to log them if they take too long. Calling mysql_parse
directly is fine, but also means that dispatch_command function
is bypassed. As a consequence, thd->enable_slow_log does not get
a chance to be reset before the next statement to be executed by
the sql_thd. If the statement just executed by the sql_thd was an
administrative statement and logging of admin statements was
disabled, this means that sql_thd->enable_slow_log will be set to
0 (disabled) from that moment on. End result: sql_thd stops
logging slow statements.
      
We fix this by resetting the value of sql_thd->enable_slow_log to
the value of opt_log_slow_slave_statements right after
log_slow_stement is called by the sql_thd.
2010-02-05 17:48:01 +00:00
Luis Soares
1458896dca BUG#48632: Fix for Bug #23300 Has Not Been Backported
To 5.x Release
      
Notes
=====
      
This is a backport of BUG#23300 into 5.1 GA.
      
Original cset revid (in betony):
luis.soares@sun.com-20090929140901-s4kjtl3iiyy4ls2h

Description
===========
      
When using replication, the slave will not log any slow query
logs queries replicated from the master, even if the
option "--log-slow-slave-statements" is set and these take more
than "log_query_time" to execute.
                    
In order to log slow queries in replicated thread one needs to
set the --log-slow-slave-statements, so that the SQL thread is
initialized with the correct switch. Although setting this flag
correctly configures the slave thread option to log slow queries,
there is an issue with the condition that is used to check
whether to log the slow query or not. When replaying binlog
events the statement contains the SET TIMESTAMP clause which will
force the slow logging condition check to fail. Consequently, the
slow query logging will not take place.
                    
This patch addresses this issue by removing the second condition
from the log_slow_statements as it prevents slow queries to be
binlogged and seems to be deprecated.
2010-02-05 17:01:09 +00:00
Bjorn Munch
ad89fa1bcd Bug #39774 mysql-test-run's remove_file can't use wildcards, this should be documented
Added remove_files_wildcard that allows to remove multiple files at once.
This is a port of original patch to Windows.
2010-02-04 13:15:42 +01:00
Luis Soares
635a83cc03 BUG#50451: rpl_loaddata_concurrent fails sporadically
When using MyIsam tables and processing concurrent DML
statements, the server may be sending back an OK to the client
before actually finishing the transaction commit procedure. This
has been reported before in BUG@37521 and BUG@29334.

This particular test case gets affected, because it performs the
following sequence:
  
  connect (conn2, ...)
  connection conn2;
  LOAD DATA CONCURRENT ...
  disconnect (conn2, ...)
  connection master;
  sync_slave_with_master
  diff_tables

At this point diff_tables may report difference in the table
content (the master seems to be missing the conn2 rows). 

To workaround this MyISAM concurrent DML statements issue and
make this test case deterministic, we wait on conn2 until the
rows inserted show up in the table. After this the test case
proceeds as normally would before this patch.
2010-02-04 11:26:36 +00:00
hery.ramilison@sun.com
1c9ab8d6ee Raise version number after cloning 5.1.44 2010-02-04 12:23:33 +01:00
Georgi Kodinov
3e699a7972 merge 2010-02-04 12:14:44 +02:00
Georgi Kodinov
21dbe024cd tree name change 2010-02-04 12:13:29 +02:00
MySQL Build Team
d3c1751899 Backport into build-201002030816-5.0.87sp1
> ------------------------------------------------------------
> revno: 2840 [merge]
> revision-id: ramil@mysql.com-20100113101142-pda4phrsyh1rjp85
> parent: joerg@mysql.com-20100112114118-zfpofgcu0j49j839
> parent: ramil@mysql.com-20100113052045-een35iazzk8023w2
> committer: Ramil Kalimullin <ramil@mysql.com>
> branch nick: mysql-5.0-bugteam
> timestamp: Wed 2010-01-13 14:11:42 +0400
> message:
>   Auto-merge.
> ------------------------------------------------------------
> Use --include-merges or -n0 to see merged revisions.
2010-02-03 16:43:18 +01:00
MySQL Build Team
cab2b49617 Backport into build-201002030816-5.0.87sp1
> ------------------------------------------------------------
> revno: 2818.1.48
> revision-id: joro@sun.com-20091210092838-zbz9ugqay1tn7rxm
> parent: joro@sun.com-20091207143856-ojmmqr0bm1haxvca
> committer: Georgi Kodinov <joro@sun.com>
> branch nick: B49250-5.0-bugteaam
> timestamp: Thu 2009-12-10 11:28:38 +0200
> message:
>   Bug #49250 : spatial btree index corruption and crash
>   
>   SPATIAL and FULLTEXT indexes don't support algorithm
>   selection. 
>   Disabled by creating a special grammar rule for these
>   in the parser.
>   Added some encasulation of duplicate parser code.
2010-02-03 16:42:25 +01:00
MySQL Build Team
7da5dc14d9 Backport into build-201002030816-5.0.87sp1
> ------------------------------------------------------------
> revno: 2818.1.41 [merge]
> revision-id: epotemkin@mysql.com-20091203132153-k8xwk3nh02n8npg4
> parent: epotemkin@mysql.com-20091202134712-4muwnr152xqkcwm7
> parent: epotemkin@mysql.com-20091203131520-93uiop1a81o9z8mb
> committer: Evgeny Potemkin <epotemkin@mysql.com>
> branch nick: mysql-5.0-bugteam
> timestamp: Thu 2009-12-03 16:21:53 +0300
> message:
>   Auto-merged.
> ------------------------------------------------------------
> Use --include-merges or -n0 to see merged revisions.
2010-02-03 16:41:24 +01:00
MySQL Build Team
cb6780d296 Backport into build-201002030816-5.0.87sp1
> ------------------------------------------------------------
> revno: 2818.1.40 [merge]
> revision-id: epotemkin@mysql.com-20091202134712-4muwnr152xqkcwm7
> parent: gshchepa@mysql.com-20091201102444-yw166t3audrojo9s
> parent: epotemkin@mysql.com-20091201182845-aw0uawt6c6gwi98c
> committer: Evgeny Potemkin <epotemkin@mysql.com>
> branch nick: mysql-5.0-bugteam
> timestamp: Wed 2009-12-02 16:47:12 +0300
> message:
>   Auto-merged fix for the bug#48508.
> ------------------------------------------------------------
> Use --include-merges or -n0 to see merged revisions.
2010-02-03 16:40:24 +01:00
MySQL Build Team
5c04b4374d Backport into build-201002030816-5.0.87sp1
> ------------------------------------------------------------
> revno: 2818.1.39
> revision-id: gshchepa@mysql.com-20091201102444-yw166t3audrojo9s
> parent: joro@sun.com-20091127160731-6h2fahbh4409i841
> committer: Gleb Shchepa <gshchepa@mysql.com>
> branch nick: mysql-5.0-bugteam
> timestamp: Tue 2009-12-01 14:24:44 +0400
> message:
>   Bug #38883 (reopened): thd_security_context is not thread safe, crashes?
>   
>   The bug 38816 changed the lock that protects THD::query from
>   LOCK_thread_count to LOCK_thd_data, but didn't update the associated
>   InnoDB functions.
>   
>   1. The innobase_mysql_prepare_print_arbitrary_thd and the
>   innobase_mysql_end_print_arbitrary_thd InnoDB functions have been
>   removed, since now we have a per-thread mutex: now we don't need to wrap
>   several inter-thread access tries to THD::query with a single global
>   LOCK_thread_count lock, so we can simplify the code.
>   
>   2. The innobase_mysql_print_thd function has been modified to lock
>   LOCK_thd_data in direct way.
2010-02-03 16:38:46 +01:00