mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0
into sinisa.nasamreza.org:/mnt/work/mysql-4.0 sql/field.cc: Auto merged
This commit is contained in:
@ -574,7 +574,7 @@ static struct my_option my_long_options[] =
|
|||||||
0, 1},
|
0, 1},
|
||||||
{"max_allowed_packet", OPT_MAX_ALLOWED_PACKET, "",
|
{"max_allowed_packet", OPT_MAX_ALLOWED_PACKET, "",
|
||||||
(gptr*) &max_allowed_packet, (gptr*) &max_allowed_packet, 0, GET_ULONG,
|
(gptr*) &max_allowed_packet, (gptr*) &max_allowed_packet, 0, GET_ULONG,
|
||||||
REQUIRED_ARG, 16 *1024L*1024L, 4096, 512*1024L*1024L, MALLOC_OVERHEAD,
|
REQUIRED_ARG, 16 *1024L*1024L, 4096, 2*1024*1024L*1024L, MALLOC_OVERHEAD,
|
||||||
1024, 0},
|
1024, 0},
|
||||||
{"net_buffer_length", OPT_NET_BUFFER_LENGTH, "",
|
{"net_buffer_length", OPT_NET_BUFFER_LENGTH, "",
|
||||||
(gptr*) &net_buffer_length, (gptr*) &net_buffer_length, 0, GET_ULONG,
|
(gptr*) &net_buffer_length, (gptr*) &net_buffer_length, 0, GET_ULONG,
|
||||||
|
@ -363,3 +363,9 @@ CREATE TABLE t1 (a_dec DECIMAL(-2,1));
|
|||||||
Too big column length for column 'a_dec' (max = 255). Use BLOB instead
|
Too big column length for column 'a_dec' (max = 255). Use BLOB instead
|
||||||
CREATE TABLE t1 (a_dec DECIMAL(-1,1));
|
CREATE TABLE t1 (a_dec DECIMAL(-1,1));
|
||||||
Too big column length for column 'a_dec' (max = 255). Use BLOB instead
|
Too big column length for column 'a_dec' (max = 255). Use BLOB instead
|
||||||
|
create table t1(a decimal(10,4));
|
||||||
|
insert into t1 values ("+0000100000000");
|
||||||
|
select * from t1;
|
||||||
|
a
|
||||||
|
9999999.9999
|
||||||
|
drop table t1;
|
||||||
|
@ -240,3 +240,9 @@ CREATE TABLE t1 (a_dec DECIMAL(-1,0));
|
|||||||
CREATE TABLE t1 (a_dec DECIMAL(-2,1));
|
CREATE TABLE t1 (a_dec DECIMAL(-2,1));
|
||||||
--error 1074
|
--error 1074
|
||||||
CREATE TABLE t1 (a_dec DECIMAL(-1,1));
|
CREATE TABLE t1 (a_dec DECIMAL(-1,1));
|
||||||
|
|
||||||
|
# Zero prepend overflow bug
|
||||||
|
create table t1(a decimal(10,4));
|
||||||
|
insert into t1 values ("+0000100000000");
|
||||||
|
select * from t1;
|
||||||
|
drop table t1;
|
||||||
|
@ -632,7 +632,7 @@ void Field_decimal::store(const char *from,uint len)
|
|||||||
if (zerofill)
|
if (zerofill)
|
||||||
{
|
{
|
||||||
left_wall=to-1;
|
left_wall=to-1;
|
||||||
while (pos != left_wall) // Fill with zeros
|
while (pos > left_wall) // Fill with zeros
|
||||||
*pos--='0';
|
*pos--='0';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -640,7 +640,7 @@ void Field_decimal::store(const char *from,uint len)
|
|||||||
left_wall=to+(sign_char != 0)-1;
|
left_wall=to+(sign_char != 0)-1;
|
||||||
if (!expo_sign_char) // If exponent was specified, ignore prezeros
|
if (!expo_sign_char) // If exponent was specified, ignore prezeros
|
||||||
{
|
{
|
||||||
for (;pos != left_wall && pre_zeros_from !=pre_zeros_end;
|
for (;pos > left_wall && pre_zeros_from !=pre_zeros_end;
|
||||||
pre_zeros_from++)
|
pre_zeros_from++)
|
||||||
*pos--= '0';
|
*pos--= '0';
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user