Commit 1667c4a1 authored by unknown's avatar unknown

Merge mysql.com:/home/mydev/mysql-5.0

into  mysql.com:/home/mydev/mysql-5.0-5000
parents 0ee622b8 9288c1a2
...@@ -568,13 +568,13 @@ class Portable ...@@ -568,13 +568,13 @@ class Portable
static word Add(word *C, const word *A, const word *B, unsigned int N); static word Add(word *C, const word *A, const word *B, unsigned int N);
static word Subtract(word *C, const word *A, const word*B, unsigned int N); static word Subtract(word *C, const word *A, const word*B, unsigned int N);
static inline void Multiply2(word *C, const word *A, const word *B); static void Multiply2(word *C, const word *A, const word *B);
static inline word Multiply2Add(word *C, const word *A, const word *B); static word Multiply2Add(word *C, const word *A, const word *B);
static void Multiply4(word *C, const word *A, const word *B); static void Multiply4(word *C, const word *A, const word *B);
static void Multiply8(word *C, const word *A, const word *B); static void Multiply8(word *C, const word *A, const word *B);
static inline unsigned int MultiplyRecursionLimit() {return 8;} static inline unsigned int MultiplyRecursionLimit() {return 8;}
static inline void Multiply2Bottom(word *C, const word *A, const word *B); static void Multiply2Bottom(word *C, const word *A, const word *B);
static void Multiply4Bottom(word *C, const word *A, const word *B); static void Multiply4Bottom(word *C, const word *A, const word *B);
static void Multiply8Bottom(word *C, const word *A, const word *B); static void Multiply8Bottom(word *C, const word *A, const word *B);
static inline unsigned int MultiplyBottomRecursionLimit() {return 8;} static inline unsigned int MultiplyBottomRecursionLimit() {return 8;}
...@@ -668,7 +668,7 @@ void Portable::Multiply2(word *C, const word *A, const word *B) ...@@ -668,7 +668,7 @@ void Portable::Multiply2(word *C, const word *A, const word *B)
C[3] = t.GetHighHalf(); C[3] = t.GetHighHalf();
} }
inline void Portable::Multiply2Bottom(word *C, const word *A, const word *B) void Portable::Multiply2Bottom(word *C, const word *A, const word *B)
{ {
DWord t = DWord::Multiply(A[0], B[0]); DWord t = DWord::Multiply(A[0], B[0]);
C[0] = t.GetLowHalf(); C[0] = t.GetLowHalf();
......
...@@ -3323,4 +3323,12 @@ drop function bug12379| ...@@ -3323,4 +3323,12 @@ drop function bug12379|
drop procedure bug12379_1| drop procedure bug12379_1|
drop procedure bug12379_2| drop procedure bug12379_2|
drop procedure bug12379_3| drop procedure bug12379_3|
drop procedure if exists bug13124|
create procedure bug13124()
begin
declare y integer;
set @x=y;
end|
call bug13124()|
drop procedure bug13124|
drop table t1,t2; drop table t1,t2;
...@@ -4107,7 +4107,6 @@ select bug131333()| ...@@ -4107,7 +4107,6 @@ select bug131333()|
drop procedure bug131333| drop procedure bug131333|
drop function bug131333| drop function bug131333|
# #
# BUG#12379: PROCEDURE with HANDLER calling FUNCTION with error get # BUG#12379: PROCEDURE with HANDLER calling FUNCTION with error get
# strange result # strange result
...@@ -4163,6 +4162,21 @@ drop procedure bug12379_1| ...@@ -4163,6 +4162,21 @@ drop procedure bug12379_1|
drop procedure bug12379_2| drop procedure bug12379_2|
drop procedure bug12379_3| drop procedure bug12379_3|
#
# Bug #13124 Stored Procedure using SELECT INTO crashes server
#
--disable_warnings
drop procedure if exists bug13124|
--enable_warnings
create procedure bug13124()
begin
declare y integer;
set @x=y;
end|
call bug13124()|
drop procedure bug13124|
# #
# BUG#NNNN: New bug synopsis # BUG#NNNN: New bug synopsis
# #
......
...@@ -818,6 +818,8 @@ String *Item_splocal::val_str(String *sp) ...@@ -818,6 +818,8 @@ String *Item_splocal::val_str(String *sp)
DBUG_ASSERT(fixed); DBUG_ASSERT(fixed);
Item *it= this_item(); Item *it= this_item();
String *ret= it->val_str(sp); String *ret= it->val_str(sp);
null_value= it->null_value;
/* /*
This way we mark returned value of val_str as const, This way we mark returned value of val_str as const,
so that various functions (e.g. CONCAT) won't try to so that various functions (e.g. CONCAT) won't try to
...@@ -833,9 +835,12 @@ String *Item_splocal::val_str(String *sp) ...@@ -833,9 +835,12 @@ String *Item_splocal::val_str(String *sp)
This is intended behaviour of Item_func_concat. Comments to This is intended behaviour of Item_func_concat. Comments to
Item_param class contain some more details on the topic. Item_param class contain some more details on the topic.
*/ */
if (!ret)
return NULL;
str_value_ptr.set(ret->ptr(), ret->length(), str_value_ptr.set(ret->ptr(), ret->length(),
ret->charset()); ret->charset());
null_value= it->null_value;
return &str_value_ptr; return &str_value_ptr;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment