Commit graph

17675 commits

Author SHA1 Message Date
Matthias Leich
f62302dc00 Fix for Bug#42602 main.status: random failures
+ minor improvements
2009-02-05 17:48:47 +01:00
Sergey Vojtovich
0acdf23f16 BUG#39185 - Cardinality for merge tables calculated incorrectly.
Every subsequent query to a merge table with indexes was lowering
down cardinality.

The problem was that key statistics was not cleared when merge
children were detached. Causing next attach children perform
incremental key statistics calculation.

Fixed by clearing key statistics when attaching first child.
2009-02-05 17:03:47 +04:00
Alexey Kopytov
ff93b1343d Merge mysql-5.0-bugteam -> mysql-5.1-bugteam. 2009-02-05 15:49:59 +03:00
Alexey Kopytov
e266164832 Merge to team tree. 2009-02-05 15:48:30 +03:00
Gleb Shchepa
3d543dd16d Bug #39265: fix for the bug 33699 should be reverted
Documented behaviour was broken by the patch for bug 33699
that actually is not a bug.

This fix reverts patch for bug 33699 and reverts the
UPDATE of NOT NULL field with NULL query to old
behavior.
2009-02-05 13:49:32 +04:00
Ramil Kalimullin
909d29ee05 Fix for bug#42014: Crash, name_const with collate
Problem: some queries using NAME_CONST(.. COLLATE ...)
lead to server crash due to failed type cast.

Fix: return the underlying item's type in case of
NAME_CONST(.. COLLATE ...) to avoid wrong casting.
2009-02-05 11:43:39 +04:00
Ramil Kalimullin
fd5084f61d Auto-merge 2009-02-05 11:45:30 +04:00
Matthias Leich
f3e0950d86 Merge last changesets into tree, no conflicts 2009-02-04 16:34:28 +01:00
Sergey Vojtovich
1ab3b31ff6 Merge 5.0-bugteam -> 5.1-bugteam. 2009-02-04 17:00:40 +04:00
Matthias Leich
9da593de5e Automatic merge, no conflicts 2009-02-04 14:20:05 +01:00
Matthias Leich
aa930f78e5 Merge last changesets, no conflicts 2009-02-04 13:10:33 +01:00
Sergey Vojtovich
8745e368b7 BUG#32047 - 'Spurious' errors while opening MERGE tables
Accessing well defined MERGE table may return an error
stating that the merge table is incorrectly defined. This
happens if MERGE child tables were accessed before and we
failed to open another incorrectly defined MERGE table in
this connection.

myrg_open() internally used my_errno as a variable for determining
failure, and thus could be tricked into a wrong decision by other
uses of my_errno.

With this fix we use function local boolean flag instead of my_errno
to determine failure.
2009-02-04 15:46:23 +04:00
Sergey Glukhov
9ab3654530 Bug#42495 updatexml: Assertion failed: xpath->context, file .\item_xmlfunc.cc, line 2507
Problem:
   RelativeLocationPath can appear only after a node-set expression
   in the third and the fourth branches of this rule:
     PathExpr :: =  LocationPath
                    | FilterExpr
                    | FilterExpr '/' RelativeLocationPath
                    | FilterExpr '//' RelativeLocationPath
   XPatch code didn't check the type of FilterExpr and crashed.
Fix:
   If FilterExpr is a scalar expression
   (variable reference, literal, number, scalar function call)
   return error.
2009-02-04 15:40:12 +04:00
Matthias Leich
2e36bc3d72 Merge of latest changesets into GCA tree 2009-02-04 12:07:52 +01:00
Alexey Kopytov
887d1493fa Fix for bug #41868: crash or memory overrun with concat + upper, date_format
functions
      
String::realloc() did not check whether the existing string data fits in the newly
allocated buffer for cases when reallocating a String object with external buffer
(i.e.alloced == FALSE).  This could lead to memory overruns in some cases.
2009-02-03 20:19:01 +03:00
Davi Arnaut
bc03c9ef19 Bug#40536: SELECT is blocked by INSERT DELAYED waiting on
upgrading lock, even with low_priority_updates

The problem is that there is no mechanism to control whether a
delayed insert takes a high or low priority lock on a table.

The solution is to modify the delayed insert thread ("handler")
to take into account the global value of low_priority_updates
when taking table locks. The value of low_priority_updates is
retrieved when the insert delayed thread is created and will
remain the same for the duration of the thread.
2009-02-03 15:16:24 -02:00
Matthias Leich
449bfbd7fa Merge 5.0 -> 5.1
+ fix wrong resultfile have_outfile.require
2009-02-03 14:45:17 +01:00
Patrick Crews
6fb2ba1c3d merge 5.0 -> 5.1 2009-02-02 17:56:45 -05:00
Patrick Crews
ed5ee58bfc Bug#39369: execution of "variables.test" with "check-testcases" show differences.
The original symptoms of this bug have been fixed as a consequence of other bug fixes.
Taking this time to correct some formatting, such as replacing error numbers with names.
Beginning this with 5.0
2009-02-02 17:30:02 -05:00
Matthias Leich
7da691c9f8 1. Slice of fix for Bug#42003 tests missing the disconnect of connections <> default
- If missing: add "disconnect <session>"
   - If physical disconnect of non "default" sessions is not finished
     at test end: add routine which waits till this happened
+ additional improvements like
  - remove superfluous files created by the test
  - replace error numbers by error names
  - remove trailing spaces, replace tabs by spaces
  - unify writing of bugs within comments
  - correct comments
  - minor changes of formatting
Modifications according to the code review are included.
Fixed tests:
grant2
grant3
lock_tables_lost_commit
mysqldump
openssl_1
outfile
2009-02-02 22:20:25 +01:00
Tatiana A. Nurnberg
5622d4261f Bug#33550: mysqldump 4.0 compatibility broken
mysqldump included character_set_client magic
that is unknown before 4.1 even when asked for
an appropriate compatibility mode.

In compatibility (3.23, 4.0) mode, we do not
output charset statements (not even in a
"comment conditional"), nor do we do magic on
the server, even if the server is sufficient
new (4.1+). Table-names will be output converted
to the charset requested by mysqldump; if such
a conversion is not possible (Ivrit -> Latin),
mysqldump will fail.
2009-02-02 18:19:07 +01:00
Tatiana A. Nurnberg
ba1b30ab66 auto-merge 2009-02-02 14:37:30 +01:00
Alexander Barkov
a491bcc4e5 Bug#41084 full-text index added to custom UCA collation not working
Problem:
Custom UCA collations didn't set the MY_CS_STRNXFRM flag,
which resulted in "prefix_search" method instead of
the required "seq_search".

Problem2: (not metioned in the bug report)
Custom UCA collations didn't also set the MY_CS_UNICODE flag,
so an attempt to compare a column with a custom UCA collation
to another column with a non-Unicode character set led to
the "illegal mix of collation" error.

Fix:
the two missing flags was added into collation initialization.

  Upgrade:

  - All fulltext indexes with custom UCA collations should be rebuilt.

  - Non-fulltext custom UCA indexes should likely be rebuild as well.
2009-02-02 17:25:42 +04:00
Tatiana A. Nurnberg
337bf31e9f auto-merge 2009-02-02 14:10:35 +01:00
Georgi Kodinov
7ee8ac6dbd fixed system_mysql_db_fix30020 test faiilure
fixed federated warnings
2009-02-02 13:36:03 +02:00
Georgi Kodinov
aea9bcaa40 Fixed internal test check warnings in 5.1-bugteam. 2009-02-01 11:18:09 +02:00
Davi Arnaut
26e8675889 Remove duplicated test for Bug#34517 2009-01-31 22:04:57 -02:00
Davi Arnaut
68da0130a9 Fix test cases to preserve the state that existed before the
test case was executed.
2009-01-31 14:10:43 -02:00
Georgi Kodinov
2b3a53a352 fixed bad merge of 5.1-main -> 5.1-bugteam 2009-01-31 14:15:49 +02:00
Tatiana A. Nurnberg
db39a76696 auto-merge 2009-01-31 02:08:41 +01:00
Tatiana A. Nurnberg
d36d50f414 auto-merge 2009-01-31 02:07:36 +01:00
Tatiana A. Nurnberg
1fcf891629 Bug#41370: TIMESTAMP field does not accepts NULL from FROM_UNIXTIME()
When storing a NULL to a TIMESTAMP NOT NULL DEFAULT ...,
NULL returned from some functions threw a 'cannot be NULL error.'

NULL-returns now correctly result in the timestamp-field being
assigned its default value.
2009-01-30 17:12:24 +01:00
Georgi Kodinov
c4d30c9b5a new mtr cleanup : removing non-exiting tests from disabled.def 2009-01-30 16:02:34 +02:00
Georgi Kodinov
3aec7ca415 merged 5.1-main -> 5.1-bugteam 2009-01-30 15:44:49 +02:00
Luis Soares
16a6158c47 merge: 5.1 -> 5.1-rpl-merge
conflicts:
  Text conflict in mysql-test/suite/sys_vars/r/rpl_max_binlog_size_func.result
  Text conflict in mysql-test/suite/sys_vars/t/rpl_max_binlog_size_func.test
2009-01-29 17:59:46 +01:00
Alfranio Correia
5fe924b5fa Re-enabled log_bin_trust_function_creators_func as the patch in
BUG#41003 reached our trees.
2009-01-29 13:29:19 +00:00
Sergey Petrunia
7820ae5e25 Merge 2009-01-28 22:21:14 +03:00
Sergey Petrunia
cd4f6cc17b BUG#37822: Correlated subquery with IN and IS UNKNOWN provides wrong result
Item_in_optimizer::is_null() evaluated "NULL IN (SELECT ...)" to NULL regardless of
whether subquery produced any records, this was a documented limitation.

The limitation has been removed (see bugs 8804, 24085, 24127) now
Item_in_optimizer::val_int() correctly handles all cases with NULLs. Make
Item_in_optimizer::is_null() invoke val_int() to return correct values for
"NULL IN (SELECT ...)".
2009-01-28 22:18:27 +03:00
Gleb Shchepa
64c0951fde automerge 5.0-bugteam --> 5.1-bugteam (bug 39069) 2009-01-28 22:48:41 +04:00
Gleb Shchepa
b41c1a45f1 Bug #39069: <row constructor> IN <table-subquery> seriously
messed up

"ROW(...) IN (SELECT ... FROM DUAL)" always returned TRUE.

Item_in_subselect::row_value_transformer rewrites "ROW(...)
IN SELECT" conditions into the "EXISTS (SELECT ... HAVING ...)"
form.
For a subquery from the DUAL pseudotable resulting HAVING
condition is an expression on constant values, so further
transformation with optimize_cond() eliminates this HAVING
condition and resets JOIN::having to NULL.
Then JOIN::exec treated that NULL as an always-true-HAVING
and that caused a bug.

To distinguish an optimized out "HAVING TRUE" clause from
"HAVING FALSE" we already have the JOIN::having_value flag.
However, JOIN::exec() ignored JOIN::having_value as described
above as if it always set to COND_TRUE.

The JOIN::exec method has been modified to take into account
the value of the JOIN::having_value field.
2009-01-28 22:46:45 +04:00
Alexey Kopytov
30ac49019d Fix for bug #21205: Different number of digits for float/double/real in --ps-protocol
Various parts of code used different 'precision' arguments for sprintf("%g") when converting
floating point numbers to a string. This led to differences in results in some cases 
depending on whether the text-based or prepared statements protocol is used for a query.

Fixed by changing arguments to sprintf("%g") to always be 15 (DBL_DIG) so that results are
consistent regardless of the protocol.

This patch will be null-merged to 6.0 as the problem does not exists there (fixed by the
patch for WL#2934).
2009-01-28 20:59:08 +03:00
Davi Arnaut
dd2d8eba62 Merge from 5.0-bugteam 2009-01-28 15:42:20 -02:00
Davi Arnaut
d94e00a0ed Remove test case for bug 40264.
Dirty close tricky does not work on Windows.
2009-01-28 14:33:33 -02:00
Luis Soares
4ce85ce5e3 Disabled test main.innodb_bug39438:
BUG#42383 2009-01-28 lsoares 
"This fails in embedded and on windows. Note that this test is not run 
on windows and on embedded in PB for main trees currently"
2009-01-28 16:28:09 +01:00
Georgi Kodinov
0ef24ca9fe merged bug 42366 to 5.1-bugteam 2009-01-28 17:00:28 +02:00
Georgi Kodinov
7234ca1a44 Bug #42366: server-cert.pem expired: "Not After : Jan 27 08:54:13 2009 GMT"
Re-generated the PKI files needed.
Removed the ones that are not needed.
Updated the tests to reference the correct SSL subject.
2009-01-28 16:18:50 +02:00
Gleb Shchepa
75342ddd34 Bug #42188: After-push test file update (see bug 42321) 2009-01-24 18:07:10 +04:00
Horst Hunger
cf1c870510 due to merge 2009-01-23 19:26:59 +01:00
Horst Hunger
6fd71bf43c due to merge. 2009-01-23 19:21:08 +01:00
Gleb Shchepa
33a09cdcc8 Bug#42188: crash and/or memory corruption with user variables
in trigger

Interchangeable calls to the mysql_change_user client function
and invocations of a trigger changing some user variable caused
a memory corruption and a crash.

The mysql_change_user API call forces TDH::cleanup() on a server
that frees user variable entries.
However it didn't reset Item_func_set_user_var::entry to NULL
because Item_func_set_user_var::cleanup() was not overloaded.
So, Item_func_set_user_var::entry held a pointer to freed memory,
that caused a crash.

The Item_func_set_user_var::cleanup method has been overloaded
to cleanup the Item_func_set_user_var::entry field.
2009-01-23 22:18:02 +04:00