Commit graph

55538 commits

Author SHA1 Message Date
Gleb Shchepa
cd42f4ba2c auto merge 5.0-bugteam --> 5.1-bugteam (bug 40761) 2008-12-12 18:19:33 +04:00
Bjorn Munch
fd41426191 Bug #31983 Running mysql-test from RPM fails for NDB
Added $glob_basedir/sbin to search path for relevant binaries
2008-12-12 15:10:56 +01:00
Gleb Shchepa
af5cf536bc Bug #40761: Assert on sum function on
IF(..., CAST(longtext AS UNSIGNED), signed_val)
            (was: LEFT JOIN on inline view crashes server)

Select from a LONGTEXT column wrapped with an expression
like "IF(..., CAST(longtext_column AS UNSIGNED), smth_signed)"
failed an assertion or crashed the server. IFNULL function was
affected too.

LONGTEXT column item has a maximum length of 32^2-1 bytes,
at the same time this is a maximum possible length of any
MySQL item. CAST(longtext_column AS UNSIGNED) returns some
unsigned numeric result of length 32^2-1, so the result of
IF/IFNULL function of this number and some other signed number
will have text length of (32^2-1)+1=32^2 (one byte for the
minus sign) - there is integer overflow, and the length is
equal to zero. That caused assert/crash.

CAST AS UNSIGNED function has been modified to limit maximal
length of resulting number to 67 (maximal length of DECIMAL
and two characters for minus sign and dot).


mysql-test/r/func_if.result:
  Added test case for bug #40761.
mysql-test/t/func_if.test:
  Added test case for bug #40761.
sql/item_func.h:
  Bug #40761: Assert on sum function on
              IF(..., CAST(longtext AS UNSIGNED), signed_val)
  
  CAST AS UNSIGNED function has been modified to limit maximal
  length of resulting number to 67 (maximal length of DECIMAL
  and two characters for minus sign and dot).
2008-12-12 17:16:25 +04:00
Andrei Elkin
5753307aef Bug #41383 Test commit1_innodb fails with binlog-format=row
The test explicitly warned on existence of a bug in its 27th part.
The expected values of prepare and commit counters changed, corrected, by
fixes to bug#40221.
Notice, that binlog does not have to register for a statement with
the statement binlog-format because the statement rollback does not need
to do anything in that mode. It's not so with the ROW format which was
bug#40221 concern.

Fixed with correcting the expected values of the mentioned counters and
explained that with comments in the test.

mysql-test/include/commit.inc:
  Removing `Sic' that warned on a bug (The one is bug#40221).
  Correcting the expected values of prepare and commit counters due to fixes to bug#40221.
mysql-test/r/commit_1innodb.result:
  results changed.
2008-12-12 14:52:20 +02:00
Gleb Shchepa
749847686c rollback of bug #40761 fix 2008-12-12 15:13:11 +04:00
Gleb Shchepa
5ff1bcbc2a rollback of bug #40761 fix 2008-12-12 14:59:10 +04:00
Gleb Shchepa
a4467c9798 manual merge 5.0-bugteam -> 5.1-bugteam (bug 40761) 2008-12-12 02:04:06 +04:00
Gleb Shchepa
ffe23f0eb7 Bug #40761: Assert on sum function on
IF(..., CAST(longtext AS UNSIGNED), signed_val)
            (was: LEFT JOIN on inline view crashes server)

Select from a LONGTEXT column wrapped with an expression
like "IF(..., CAST(longtext_column AS UNSIGNED), smth_signed)"
failed an assertion or crashed the server. IFNULL function was
affected too.

LONGTEXT column item has a maximum length of 32^2-1 bytes,
at the same time this is a maximum possible length of any
MySQL item. CAST(longtext_column AS UNSIGNED) returns some
unsigned numeric result of length 32^2-1, so the result of
IF/IFNULL function of this number and some other signed number
will have text length of (32^2-1)+1=32^2 (one byte for the
minus sign) - there is integer overflow, and the length is
equal to zero. That caused assert/crash.

The bug has been fixed by the same solution as in the CASE
function implementation.


mysql-test/r/func_if.result:
  Added test case for bug #40761.
mysql-test/t/func_if.test:
  Added test case for bug #40761.
sql/item_cmpfunc.cc:
  Bug #40761: Assert on sum function on
              IF(..., CAST(longtext AS UNSIGNED), signed_val)
  
  1. Item_func_case::agg_str_lengths method has been moved
     to the Item_func superclass.
  2. Item_func_ifnull/Item_func_if::fix_length_and_dec methods
     have been updated to calculate max_length, decimals and
     unsigned flag like Item_func_case.
sql/item_cmpfunc.h:
  Bug #40761: Assert on sum function on
              IF(..., CAST(longtext AS UNSIGNED), signed_val)
  
  Item_func_case::agg_str_lengths method has been moved to
  the Item_func superclass.
sql/item_func.cc:
  Bug #40761: Assert on sum function on
              IF(..., CAST(longtext AS UNSIGNED), signed_val)
  
  Item_func_case::agg_str_lengths method has been moved to
  the Item_func superclass.
sql/item_func.h:
  Bug #40761: Assert on sum function on
              IF(..., CAST(longtext AS UNSIGNED), signed_val)
  
  Item_func_case::agg_str_lengths method has been moved to
  the Item_func superclass.
2008-12-12 00:57:32 +04:00
Chad MILLER
0837c111a9 Merge from bugteam trunk. 2008-12-11 13:06:37 -05:00
Chad MILLER
a633e0b98d Merge fix for Bug 33812 from 5.0-bugteam. 2008-12-11 12:46:20 -05:00
Chad MILLER
d84690c92d Bug#33812: mysql client incorrectly parsing DELIMITER
Fix parsing of mysql client commands, especially in relation to
single-line comments when --comments was specified.

This is a little tricky, because we need to allow single-line
comments in the middle of statements, but we don't want to allow
client commands in the middle of statements. So in
comment-preservation mode, we go ahead and send single-line
comments to the server immediately when we encounter them on their
own. 

This is still slightly flawed, in that it does not handle a
single-line comment with leading spaces, followed by a client-side
command when --comment has been enabled. But this isn't a new
problem, and it is quite an edge condition. Fixing it would require
a more extensive overall of how the mysql client parses commands.
2008-12-11 12:26:03 -05:00
Luis Soares
32c1790ba8 BUG#38826
Merge from 5.0-bugteam. Additional fix for unused ret variable warning.
2008-12-11 13:29:09 +00:00
Luis Soares
ac27e637ba Fix PB warnings for parenthesis and valgrind leak report.
BUG#38826
2008-12-11 11:06:50 +00:00
Sergey Glukhov
54f65ef151 5.0-bugteam->5.1-bugteam merge 2008-12-11 14:49:56 +04:00
Sergey Glukhov
d2cd545b53 fix for pushbuild failure on 64 linux 2008-12-11 14:37:18 +04:00
Sergey Glukhov
7f5d980af7 disable bug37956 test if geometry package is not enabled 2008-12-11 12:57:59 +04:00
Joerg Bruehe
2181c95918 Merge main 5.1 into 5.1-build 2008-12-10 21:14:50 +01:00
Mattias Jonsson
207d519a08 post push fix for test case for bug#39084.
mysql-test/t/partition_innodb_stmt.test:
  post push fix for test case for bug#39084.
  
  (must have partitioning...)
2008-12-10 19:29:22 +01:00
Patrick Crews
7abb33a7c1 merge 2008-12-10 11:50:01 -05:00
Alexey Kopytov
80f01958e0 Merge mysql-5.0-bugteam->mysql-5.1-bugteam. 2008-12-10 19:17:58 +03:00
Alexey Kopytov
a81a015831 Pull from mysql-5.0-bugteam. 2008-12-10 19:16:40 +03:00
Alexey Kopytov
684218b004 Pull from mysql-5.0-bugteam. 2008-12-10 19:14:32 +03:00
Sergey Glukhov
52fffecb5b Bug#35275 INFORMATION_SCHEMA.TABLES.CREATE_OPTIONS omits KEY_BLOCK_SIZE
Added KEY_BLOCK_SIZE option to I_S.TABLES.CREATE_OPTIONS field


mysql-test/r/information_schema.result:
  test result
mysql-test/t/information_schema.test:
  test case
sql/sql_show.cc:
  Added KEY_BLOCK_SIZE option to I_S.TABLES.CREATE_OPTIONS field
2008-12-10 18:38:27 +04:00
Sergey Glukhov
1ca1439270 5.0-bugteam->5.1-bugteam merge 2008-12-10 18:16:21 +04:00
Sergey Glukhov
84de3b930b Bug#37956 memory leak and / or crash with geometry and prepared statements!
Bug#37671 crash on prepared statement + cursor + geometry + too many open files!
if mysql_execute_command() returns error then free materialized_cursor object.
is_rnd_inited is added to satisfy rnd_end() assertion
(handler may be uninitialized in some cases)


sql/sql_cursor.cc:
  if mysql_execute_command() returns error then free materialized_cursor object.
  is_rnd_inited is added to satisfy rnd_end() assertion
  (handler may be uninitialized in some cases)
sql/sql_select.cc:
  added result check
tests/mysql_client_test.c:
  test case
2008-12-10 18:13:11 +04:00
Alexey Kopytov
3f2f3d84de Fix for a test failure on Solaris/x86/gcc introduced by the patch for bug #27483.
Removed values with more than 15 significant digits from the test case. Results of 
reading/printing such values using system library functions depend on implementation 
and thus are not portable.

mysql-test/r/type_float.result:
  Removed values with more than 15 significant digits from the test case.
mysql-test/t/type_float.test:
  Removed values with more than 15 significant digits from the test case.
2008-12-10 16:07:32 +03:00
Luis Soares
a6be137556 push to 5.0-bugteam tree. 2008-12-10 10:53:22 +00:00
Luis Soares
83b1f54508 push to 5.1-buteam tree. 2008-12-10 10:51:43 +00:00
V Narayanan
5471e4c779 merging with mysql-5.1-bugteam 2008-12-10 15:36:40 +05:30
Mattias Jonsson
9221a3d8c2 merge 2008-12-10 10:33:01 +01:00
Alexander Barkov
8d4b41605b Bug#38227 EXTRACTVALUE doesn't work with DTD declarations
Problem:
 XML syntax parser allowed to use quoted strings as attribute names,
 and tried to put them into parser state stack instead of identifiers.
 After that parser failed, if quoted string contained some slash characters.
Fix:
 - Disallowing quoted strings in regular tags.
 - Allowing quoted string in DOCTYPE declararion, but
 don't push it into parse state stack (just skip it).
2008-12-10 13:05:57 +04:00
V Narayanan
337faed550 merging mysql-5.0-bugteam -> mysql-5.1-bugteam 2008-12-10 14:35:18 +05:30
V Narayanan
59c9168c77 updating with mysql-5.0-bugteam 2008-12-10 14:26:57 +05:30
Mattias Jonsson
4721520cdf merge 2008-12-10 09:11:59 +01:00
Mattias Jonsson
9cb4c7209a merge 2008-12-10 09:06:58 +01:00
Georgi Kodinov
e2fef3d10a null-merged the backported fix for bug 34773 to 5.1-bugteam 2008-12-09 21:43:10 +02:00
Georgi Kodinov
979974c53b backported the fix for bug #34773 to 5.0 2008-12-09 20:35:02 +02:00
Patrick Crews
c81b519a10 merge 2008-12-09 13:34:17 -05:00
Georgi Kodinov
5705e3abda merged 37936 to 5.1-bugteam 2008-12-09 19:58:50 +02:00
Georgi Kodinov
bd8657786a Bug #37936: ASSERT_COLUMN_MARKED_FOR_WRITE in Field_datetime::store ,
Field_varstring::store
      
The code that temporary saved the bitmaps of the read set and the write set so that
it can set it to all columns for debug purposes was not expecting that the
table->read_set and table->write_set can be the same. And was always saving both in 
sequence.
As a result the original value was never restored.
Fixed by saving & restoring the original value only once if the two sets are the
same (in a special set of functions).

mysql-test/r/select.result:
  Bug #37936: test case
mysql-test/t/select.test:
  Bug #37936: test case
sql/item_cmpfunc.cc:
  Bug #37936: don't save/restore twice if the read and write sets are the same
sql/opt_range.cc:
  Bug #37936: don't save/restore twice if the read and write sets are the same
sql/table.h:
  Bug #37936: Make a designated set of functions that save/restore
  both the read and the write sets in a single call.
2008-12-09 19:46:03 +02:00
Patrick Crews
c130d8cdc3 merge 2008-12-09 12:21:22 -05:00
Horst Hunger
1da82b612a due to merge 2008-12-09 17:34:31 +01:00
Patrick Crews
e23900e1c3 merge 2008-12-09 11:05:01 -05:00
Sergey Glukhov
79a047c555 automerge 2008-12-09 19:52:50 +04:00
Matthias Leich
8ad1fdefbe Merge of latest changes into GCA tree
no conflicts
2008-12-09 16:40:12 +01:00
Sergey Glukhov
6673677803 updated test results
mysql-test/suite/parts/r/partition_bit_innodb.result:
  updated test result
mysql-test/suite/parts/r/partition_bit_myisam.result:
  updated test result
2008-12-09 19:31:22 +04:00
Horst Hunger
b53c4d0bac due to merge 2008-12-09 16:15:07 +01:00
Patrick Crews
cbe1a8a0f9 merge 2008-12-09 10:08:52 -05:00
Patrick Crews
4447444991 merge 2008-12-09 10:08:42 -05:00
Patrick Crews
f2e2b3472e merge 2008-12-09 10:07:03 -05:00