Commit graph

11537 commits

Author SHA1 Message Date
andrey@example.com
c4afe67ff5 Merge example.com:/work/mysql-5.0-runtime
into  example.com:/work/mysql-5.1-runtime-fresh2
2006-09-27 21:31:34 +02:00
kroki/tomash@moonlight.intranet
978d251834 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug21081
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-bug21081
2006-09-27 23:26:13 +04:00
andrey@example.com
a4093f31d8 Fix for bug#21311: Possible stack overrun if SP has non-latin1 name
There was possible stack overrun in an edge case which handles invalid body of
a SP in mysql.proc . That should be case when mysql.proc has been changed
manually. Though, due to bug 21513, it can be exploited without having access
to mysql.proc only being able to create a stored routine.
2006-09-27 21:23:17 +02:00
kroki/tomash@moonlight.intranet
0bdc597b52 BUG#21081: SELECT inside stored procedure returns wrong results
Re-execution of a parametrized prepared statement or a stored routine
with a SELECT that use LEFT JOIN with second table having only one row
could yield incorrect result.

The problem appeared only for left joins with second table having only
one row (aka const table) and equation conditions in ON or WHERE clauses
that depend on the argument passed.  Once the condition was false for
second const table, a NULL row was created for it, and any field involved
got NULL-value flag, which then was never reset.

The cause of the problem was that Item_field::null_value could be set
without being reset for re-execution.  The solution is to reset
Item_field::null_value in Item_field::cleanup().
2006-09-27 23:11:45 +04:00
cmiller@zippy.cornsilk.net
c0ab40d390 Bug#21476: (Thread stack overrun not caught, causing SEGV)
The STACK_MIN_SIZE is currently set to 8192, when we actually need 
(emperically discovered) 9236 bytes to raise an fatal error, on Ubuntu 
Dapper Drake, libc6 2.3.6-0ubuntu2, Linux kernel 2.6.15-27-686, on x86.

I'm taking that as a new lower bound, plus 100B of wiggle-room for sundry
word sizes and stack behaviors.

The added test verifies in a cross-platform way that there are no gaps 
between the space that we think we need and what we actually need to report 
an error.

DOCUMENTERS:  This also adds "let" to the mysqltest commands that evaluate
an argument to expand variables therein.  (Only right of the "=", of course.)
2006-09-27 14:42:56 -04:00
svoj@april.(none)
9353e3cf73 Merge mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.1-engines
2006-09-27 18:58:23 +05:00
gluh@mysql.com/gluh.(none)
437c94317b Merge mysql.com:/home/gluh/MySQL/Merge/4.1
into  mysql.com:/home/gluh/MySQL/Merge/5.0
2006-09-27 18:06:46 +05:00
gluh@mysql.com/gluh.(none)
a039376c43 Patch for bug#21432 is reverted 2006-09-27 17:49:16 +05:00
mikael/pappa@dator5.(none)
36017d0f49 Merge dator5.(none):/home/pappa/clean-mysql-5.1
into  dator5.(none):/home/pappa/bug18198
2006-09-27 06:49:25 -04:00
svoj@mysql.com/april.(none)
bfb6ff6bdd Merge mysql.com:/home/svoj/devel/mysql/merge/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines
2006-09-27 15:42:00 +05:00
gkodinov/kgeorge@macbook.gmz
24c5bf6a96 Bug#21174: Index degrades sort performance and optimizer does not honor IGNORE INDEX
- fix moved to 5.1
2006-09-27 13:11:00 +03:00
gkodinov/kgeorge@macbook.gmz
a01e7b12ce Merge macbook.gmz:/Users/kgeorge/mysql/work/B21174-5.0-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/B21174-5.1-opt
2006-09-27 13:03:41 +03:00
gkodinov/kgeorge@macbook.gmz
903387afc0 Bug #21174: Index degrades sort performance and optimizer does not honor IGNORE INDEX
- reversed the patch for 5.0 and moved to 5.1
2006-09-27 12:53:53 +03:00
kroki/tomash@moonlight.intranet
a53e628181 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-bug21414
2006-09-27 12:22:16 +04:00
kroki/tomash@moonlight.intranet
18dda5abaf Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug21414
2006-09-27 11:46:29 +04:00
evgen@moonbone.local
9fc769ff72 Fixed bug #18360: Type aggregation for IN and CASE may lead to a wrong
result

The IN function aggregates result types of all expressions. It uses that 
type in comparison of left expression and expressions in right part. 
This approach works in most cases. But let's consider the case when the
right part contains both strings and integers. In that case this approach may
cause wrong results because all strings which do not start with a digit are
evaluated as 0.
CASE uses the same approach when a CASE expression is given thus it's also
affected.

The idea behind this fix is to make IN function to compare expressions with
different result types differently. For example a string in the left
part will be compared as string with strings specified in right part and
will be converted to real for comparison to int or real items in the right
part.

A new function called collect_cmp_types() is added. It collects different
result types for comparison of first item in the provided list with each 
other item in the list. 

The Item_func_in class now can refer up to 5 cmp_item objects: 1 for each
result type for comparison purposes. cmp_item objects are allocated according
to found result types. The comparison of the left expression with any
right part expression is now based only on result types of these expressions.

The Item_func_case class is modified in the similar way when a CASE
expression is specified. Now it can allocate up to 5 cmp_item objects
to compare CASE expression with WHEN expressions of different types.
The comparison of the CASE expression with any WHEN expression now based only 
on result types of these expressions.
2006-09-26 20:52:54 +04:00
jani@a88-112-41-254.elisa-laajakaista.fi
5e2f69d1dd Added more tests of field conversions. 2006-09-26 17:20:14 +03:00
bar@bar.intranet.mysql.r18.ru
2c310298bd Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.1-rpl
into  mysql.com:/usr/home/bar/mysql-5.1.20854
2006-09-26 16:26:22 +05:00
jani@a88-112-41-254.elisa-laajakaista.fi
4bfe83d5d1 Fix for bug#20208
A better fix for bug#10025.

Fixed test case plus added new tests.

After fixing Bug#20208 "Blobs greater than 8K are being truncated to 8K"
the fix to bug#10025 "Misleading error with COLLATE mediumtext and UNION"
became more accurate. Earlier mediumtext got converted to longtext,
although mediumtext was enough to contain the results. Now it converts
correctly to mediumtext, if the length does not exceed that and if none
of the original fields were type longtext.

Type longtext still converts correctly to type longtext, as the extra
tests prove.
2006-09-26 13:19:25 +03:00
mikael/pappa@dator5.(none)
de9001d3c4 Merge dator5.(none):/home/pappa/clean-mysql-5.1
into  dator5.(none):/home/pappa/bug18198
2006-09-26 01:49:14 -04:00
acurtis/antony@xiphis.org/ltamd64.xiphis.org
f6129d68ce Bug#22080
"CHECK fails to identify some corruption"
  change to allow it to detect more errors in data format
2006-09-25 09:04:19 -07:00
andrey@example.com
f7a779acfb Fix for bug#22662 Inconsistent values displayed for event_scheduler
when set to DISABLED
  
It was a silly ordering number error.
2006-09-25 17:22:23 +02:00
andrey@example.com
db3a25fd78 Fix for bug#22397 Events: crash with procedure which alters events
ALTER EVENT in stored procedure body led to a crash during the
procedure call. Affected was only ALTER EVENT which changed the
interval of the event. No problems with AT, STARTS, ENDS and so on.
2006-09-25 16:49:25 +02:00
igor@rurik.mysql.com
df1376a542 Merge rurik.mysql.com:/home/igor/mysql-5.0-opt
into  rurik.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug21646
2006-09-25 07:40:54 -07:00
andrey@example.com
d993720268 cleanups - fix a test and remove unneeded declaration 2006-09-25 15:50:49 +02:00
igor@rurik.mysql.com
c0569012d0 Merge rurik.mysql.com:/home/igor/mysql-4.1-opt
into  rurik.mysql.com:/home/igor/mysql-5.0-opt
2006-09-25 06:46:15 -07:00
igor@rurik.mysql.com
a661bdda19 Fixed bug #21646.
Presence of a subquery in the ON expression of a join 
should not block merging the view that contains this join.
Before this patch the such views were converted into 
into temporary table views.
2006-09-25 06:15:14 -07:00
igor@rurik.mysql.com
55dd569bab Fixed bug #21853: assert failure for a grouping query with
an ALL/ANY quantified subquery in HAVING.
The Item::split_sum_func2 method should not create Item_ref
for objects of any class derived from Item_subselect.
2006-09-25 05:24:07 -07:00
cmiller@zippy.cornsilk.net
3681b3ecb5 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.1-maint
2006-09-23 09:55:16 -04:00
cmiller@zippy.cornsilk.net
161fea4ac4 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
2006-09-23 09:51:20 -04:00
cmiller@zippy.cornsilk.net
987b1b59e3 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
2006-09-23 09:48:43 -04:00
lars/lthalmann@dl145k.mysql.com
60e178bb73 Merge lthalmann@bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/users/lthalmann/bkroot/mysql-5.1
2006-09-23 08:45:26 +02:00
lars/lthalmann@mysql.com/dl145k.mysql.com
bbbb3901af Disabling test case 2006-09-23 07:07:29 +02:00
lars/lthalmann@dl145h.mysql.com
b8556c82a9 Merge mysql.com:/users/lthalmann/bkroot/mysql-5.1-new-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.1-merge
2006-09-23 06:06:06 +02:00
lars/lthalmann@mysql.com/dl145h.mysql.com
bbf84d6b9e Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge
2006-09-23 06:00:50 +02:00
lars/lthalmann@mysql.com/dl145h.mysql.com
7e45d80362 Merge mysql.com:/users/lthalmann/bkroot/mysql-4.1-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
2006-09-23 05:58:48 +02:00
mskold/marty@linux.site
5e60232da9 Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.1-new-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.1
2006-09-22 21:14:58 +02:00
kaa@polly.local
b98475077c Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new-maint
into  polly.local:/home/kaa/src/maint/m51-new-maint--07OGx
2006-09-22 20:01:51 +04:00
kaa@polly.local
e9bdddfa28 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  polly.local:/home/kaa/src/maint/m41-maint--07OGk
2006-09-22 19:50:16 +04:00
kaa@polly.local
25f2c27a95 Merge polly.local:/tmp/22129/bug22129/my50-bug22129
into  polly.local:/home/kaa/src/maint/m50-maint--07OGt
2006-09-22 19:46:09 +04:00
kaa@polly.local
10a60b42f6 Merge polly.local:/tmp/22129/bug22129/my41-bug22129
into  polly.local:/home/kaa/src/maint/m41-maint--07OGk
2006-09-22 19:44:51 +04:00
kaa@polly.local
c06dd5cdf0 Merge polly.local:/tmp/22129/bug22129/my50-bug22129
into  polly.local:/tmp/22129/bug22129/my51-bug22129
2006-09-22 19:42:27 +04:00
kaa@polly.local
6fd25f611a Merge polly.local:/tmp/22129/bug22129/my41-bug22129
into  polly.local:/tmp/22129/bug22129/my50-bug22129
2006-09-22 19:40:07 +04:00
kaa@polly.local
1530b51d8f Fixed bug #22129: A small double precision number becomes zero
Better checks for underflow/overflow
2006-09-22 19:23:58 +04:00
msvensson@shellback.(none)
fe0cfacf35 Merge shellback.(none):/home/msvensson/mysql/mysql-5.1
into  shellback.(none):/home/msvensson/mysql/mysql-5.1-maint
2006-09-21 20:31:35 +02:00
lars/lthalmann@mysql.com/dl145k.mysql.com
4f5e3b3dee After merge fixes 2006-09-21 14:19:17 +02:00
lars/lthalmann@mysql.com/dl145j.mysql.com
2c5dc57e27 Merge mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge
2006-09-21 13:28:16 +02:00
lars/lthalmann@mysql.com/dl145h.mysql.com
9538acf5dc Adding proper setup phase for test case rpl_insert_id 2006-09-21 13:19:52 +02:00
ramil/ram@mysql.com/myoffice.izhnet.ru
d3f503a0bd Fix for bug #20204: "order by" changes the results returned
Item_substr's results are improperly stored in a temporary table due to       
wrongly calculated max_length value for multi-byte charsets if two            
arguments specified.
2006-09-21 16:05:01 +05:00
lars/lthalmann@mysql.com/dl145j.mysql.com
c34601adec If mysqlslap schema does not exists, it should be an error, so no need for IF EXISTS
Setting default database back to 'test', so that next test case don't use the wrong database
2006-09-21 13:04:33 +02:00