Commit fe3ac300 authored by unknown's avatar unknown

Bug#17048 CREATE TABLE ... SELECT truncate values

remove initialization of unsigned_flag for Item_decimal


mysql-test/r/case.result:
  Bug#17048 CREATE TABLE ... SELECT truncate values
  result fix
mysql-test/r/metadata.result:
  Bug#17048 CREATE TABLE ... SELECT truncate values
  result fix
mysql-test/r/ps_2myisam.result:
  Bug#17048 CREATE TABLE ... SELECT truncate values
  result fix
mysql-test/r/ps_3innodb.result:
  Bug#17048 CREATE TABLE ... SELECT truncate values
  result fix
mysql-test/r/ps_4heap.result:
  Bug#17048 CREATE TABLE ... SELECT truncate values
  result fix
mysql-test/r/ps_5merge.result:
  Bug#17048 CREATE TABLE ... SELECT truncate values
  result fix
mysql-test/r/ps_6bdb.result:
  Bug#17048 CREATE TABLE ... SELECT truncate values
  result fix
mysql-test/r/ps_7ndb.result:
  Bug#17048 CREATE TABLE ... SELECT truncate values
  result fix
mysql-test/r/type_float.result:
  Bug#17048 CREATE TABLE ... SELECT truncate values
  result fix
mysql-test/r/type_newdecimal.result:
  Bug#17048 CREATE TABLE ... SELECT truncate values
  result fix
parent e7f87bd0
...@@ -103,8 +103,8 @@ t1 CREATE TABLE `t1` ( ...@@ -103,8 +103,8 @@ t1 CREATE TABLE `t1` (
`c2` varchar(1) character set latin1 collate latin1_danish_ci NOT NULL default '', `c2` varchar(1) character set latin1 collate latin1_danish_ci NOT NULL default '',
`c3` varbinary(1) NOT NULL default '', `c3` varbinary(1) NOT NULL default '',
`c4` varbinary(1) NOT NULL default '', `c4` varbinary(1) NOT NULL default '',
`c5` varbinary(3) NOT NULL default '', `c5` varbinary(4) NOT NULL default '',
`c6` varbinary(3) NOT NULL default '', `c6` varbinary(4) NOT NULL default '',
`c7` decimal(2,1) NOT NULL default '0.0', `c7` decimal(2,1) NOT NULL default '0.0',
`c8` decimal(2,1) NOT NULL default '0.0', `c8` decimal(2,1) NOT NULL default '0.0',
`c9` decimal(2,1) default NULL, `c9` decimal(2,1) default NULL,
...@@ -152,11 +152,11 @@ SHOW CREATE TABLE t1; ...@@ -152,11 +152,11 @@ SHOW CREATE TABLE t1;
Table Create Table Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
`COALESCE(1)` int(1) NOT NULL default '0', `COALESCE(1)` int(1) NOT NULL default '0',
`COALESCE(1.0)` decimal(2,1) unsigned NOT NULL default '0.0', `COALESCE(1.0)` decimal(2,1) NOT NULL default '0.0',
`COALESCE('a')` varchar(1) NOT NULL default '', `COALESCE('a')` varchar(1) NOT NULL default '',
`COALESCE(1,1.0)` decimal(2,1) NOT NULL default '0.0', `COALESCE(1,1.0)` decimal(2,1) NOT NULL default '0.0',
`COALESCE(1,'1')` varbinary(1) NOT NULL default '', `COALESCE(1,'1')` varbinary(1) NOT NULL default '',
`COALESCE(1.1,'1')` varbinary(3) NOT NULL default '', `COALESCE(1.1,'1')` varbinary(4) NOT NULL default '',
`COALESCE('a' COLLATE latin1_bin,'b')` varchar(1) character set latin1 collate latin1_bin NOT NULL default '' `COALESCE('a' COLLATE latin1_bin,'b')` varchar(1) character set latin1 collate latin1_bin NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1; DROP TABLE t1;
......
...@@ -2,7 +2,7 @@ drop table if exists t1,t2; ...@@ -2,7 +2,7 @@ drop table if exists t1,t2;
select 1, 1.0, -1, "hello", NULL; select 1, 1.0, -1, "hello", NULL;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def 1 8 1 1 N 32897 0 63 def 1 8 1 1 N 32897 0 63
def 1.0 246 3 3 N 161 1 63 def 1.0 246 4 3 N 129 1 63
def -1 8 2 2 N 32897 0 63 def -1 8 2 2 N 32897 0 63
def hello 253 5 5 N 1 31 8 def hello 253 5 5 N 1 31 8
def NULL 6 0 0 Y 32896 0 63 def NULL 6 0 0 Y 32896 0 63
......
...@@ -1777,7 +1777,7 @@ Table Create Table ...@@ -1777,7 +1777,7 @@ Table Create Table
t5 CREATE TABLE `t5` ( t5 CREATE TABLE `t5` (
`const01` bigint(1) NOT NULL default '0', `const01` bigint(1) NOT NULL default '0',
`param01` bigint(20) default NULL, `param01` bigint(20) default NULL,
`const02` decimal(2,1) unsigned NOT NULL default '0.0', `const02` decimal(2,1) NOT NULL default '0.0',
`param02` decimal(65,30) default NULL, `param02` decimal(65,30) default NULL,
`const03` double NOT NULL default '0', `const03` double NOT NULL default '0',
`param03` double default NULL, `param03` double default NULL,
...@@ -1807,7 +1807,7 @@ select * from t5 ; ...@@ -1807,7 +1807,7 @@ select * from t5 ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def test t5 t5 const01 const01 8 1 1 N 32769 0 63 def test t5 t5 const01 const01 8 1 1 N 32769 0 63
def test t5 t5 param01 param01 8 20 1 Y 32768 0 63 def test t5 t5 param01 param01 8 20 1 Y 32768 0 63
def test t5 t5 const02 const02 246 3 3 N 33 1 63 def test t5 t5 const02 const02 246 4 3 N 1 1 63
def test t5 t5 param02 param02 246 67 32 Y 0 30 63 def test t5 t5 param02 param02 246 67 32 Y 0 30 63
def test t5 t5 const03 const03 5 17 1 N 32769 31 63 def test t5 t5 const03 const03 5 17 1 N 32769 31 63
def test t5 t5 param03 param03 5 23 1 Y 32768 31 63 def test t5 t5 param03 param03 5 23 1 Y 32768 31 63
......
...@@ -1760,7 +1760,7 @@ Table Create Table ...@@ -1760,7 +1760,7 @@ Table Create Table
t5 CREATE TABLE `t5` ( t5 CREATE TABLE `t5` (
`const01` bigint(1) NOT NULL default '0', `const01` bigint(1) NOT NULL default '0',
`param01` bigint(20) default NULL, `param01` bigint(20) default NULL,
`const02` decimal(2,1) unsigned NOT NULL default '0.0', `const02` decimal(2,1) NOT NULL default '0.0',
`param02` decimal(65,30) default NULL, `param02` decimal(65,30) default NULL,
`const03` double NOT NULL default '0', `const03` double NOT NULL default '0',
`param03` double default NULL, `param03` double default NULL,
...@@ -1790,7 +1790,7 @@ select * from t5 ; ...@@ -1790,7 +1790,7 @@ select * from t5 ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def test t5 t5 const01 const01 8 1 1 N 32769 0 63 def test t5 t5 const01 const01 8 1 1 N 32769 0 63
def test t5 t5 param01 param01 8 20 1 Y 32768 0 63 def test t5 t5 param01 param01 8 20 1 Y 32768 0 63
def test t5 t5 const02 const02 246 3 3 N 33 1 63 def test t5 t5 const02 const02 246 4 3 N 1 1 63
def test t5 t5 param02 param02 246 67 32 Y 0 30 63 def test t5 t5 param02 param02 246 67 32 Y 0 30 63
def test t5 t5 const03 const03 5 17 1 N 32769 31 63 def test t5 t5 const03 const03 5 17 1 N 32769 31 63
def test t5 t5 param03 param03 5 23 1 Y 32768 31 63 def test t5 t5 param03 param03 5 23 1 Y 32768 31 63
......
...@@ -1761,7 +1761,7 @@ Table Create Table ...@@ -1761,7 +1761,7 @@ Table Create Table
t5 CREATE TABLE `t5` ( t5 CREATE TABLE `t5` (
`const01` bigint(1) NOT NULL default '0', `const01` bigint(1) NOT NULL default '0',
`param01` bigint(20) default NULL, `param01` bigint(20) default NULL,
`const02` decimal(2,1) unsigned NOT NULL default '0.0', `const02` decimal(2,1) NOT NULL default '0.0',
`param02` decimal(65,30) default NULL, `param02` decimal(65,30) default NULL,
`const03` double NOT NULL default '0', `const03` double NOT NULL default '0',
`param03` double default NULL, `param03` double default NULL,
...@@ -1791,7 +1791,7 @@ select * from t5 ; ...@@ -1791,7 +1791,7 @@ select * from t5 ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def test t5 t5 const01 const01 8 1 1 N 32769 0 63 def test t5 t5 const01 const01 8 1 1 N 32769 0 63
def test t5 t5 param01 param01 8 20 1 Y 32768 0 63 def test t5 t5 param01 param01 8 20 1 Y 32768 0 63
def test t5 t5 const02 const02 246 3 3 N 33 1 63 def test t5 t5 const02 const02 246 4 3 N 1 1 63
def test t5 t5 param02 param02 246 67 32 Y 0 30 63 def test t5 t5 param02 param02 246 67 32 Y 0 30 63
def test t5 t5 const03 const03 5 17 1 N 32769 31 63 def test t5 t5 const03 const03 5 17 1 N 32769 31 63
def test t5 t5 param03 param03 5 23 1 Y 32768 31 63 def test t5 t5 param03 param03 5 23 1 Y 32768 31 63
......
...@@ -1697,7 +1697,7 @@ Table Create Table ...@@ -1697,7 +1697,7 @@ Table Create Table
t5 CREATE TABLE `t5` ( t5 CREATE TABLE `t5` (
`const01` bigint(1) NOT NULL default '0', `const01` bigint(1) NOT NULL default '0',
`param01` bigint(20) default NULL, `param01` bigint(20) default NULL,
`const02` decimal(2,1) unsigned NOT NULL default '0.0', `const02` decimal(2,1) NOT NULL default '0.0',
`param02` decimal(65,30) default NULL, `param02` decimal(65,30) default NULL,
`const03` double NOT NULL default '0', `const03` double NOT NULL default '0',
`param03` double default NULL, `param03` double default NULL,
...@@ -1727,7 +1727,7 @@ select * from t5 ; ...@@ -1727,7 +1727,7 @@ select * from t5 ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def test t5 t5 const01 const01 8 1 1 N 32769 0 63 def test t5 t5 const01 const01 8 1 1 N 32769 0 63
def test t5 t5 param01 param01 8 20 1 Y 32768 0 63 def test t5 t5 param01 param01 8 20 1 Y 32768 0 63
def test t5 t5 const02 const02 246 3 3 N 33 1 63 def test t5 t5 const02 const02 246 4 3 N 1 1 63
def test t5 t5 param02 param02 246 67 32 Y 0 30 63 def test t5 t5 param02 param02 246 67 32 Y 0 30 63
def test t5 t5 const03 const03 5 17 1 N 32769 31 63 def test t5 t5 const03 const03 5 17 1 N 32769 31 63
def test t5 t5 param03 param03 5 23 1 Y 32768 31 63 def test t5 t5 param03 param03 5 23 1 Y 32768 31 63
...@@ -4711,7 +4711,7 @@ Table Create Table ...@@ -4711,7 +4711,7 @@ Table Create Table
t5 CREATE TABLE `t5` ( t5 CREATE TABLE `t5` (
`const01` bigint(1) NOT NULL default '0', `const01` bigint(1) NOT NULL default '0',
`param01` bigint(20) default NULL, `param01` bigint(20) default NULL,
`const02` decimal(2,1) unsigned NOT NULL default '0.0', `const02` decimal(2,1) NOT NULL default '0.0',
`param02` decimal(65,30) default NULL, `param02` decimal(65,30) default NULL,
`const03` double NOT NULL default '0', `const03` double NOT NULL default '0',
`param03` double default NULL, `param03` double default NULL,
...@@ -4741,7 +4741,7 @@ select * from t5 ; ...@@ -4741,7 +4741,7 @@ select * from t5 ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def test t5 t5 const01 const01 8 1 1 N 32769 0 63 def test t5 t5 const01 const01 8 1 1 N 32769 0 63
def test t5 t5 param01 param01 8 20 1 Y 32768 0 63 def test t5 t5 param01 param01 8 20 1 Y 32768 0 63
def test t5 t5 const02 const02 246 3 3 N 33 1 63 def test t5 t5 const02 const02 246 4 3 N 1 1 63
def test t5 t5 param02 param02 246 67 32 Y 0 30 63 def test t5 t5 param02 param02 246 67 32 Y 0 30 63
def test t5 t5 const03 const03 5 17 1 N 32769 31 63 def test t5 t5 const03 const03 5 17 1 N 32769 31 63
def test t5 t5 param03 param03 5 23 1 Y 32768 31 63 def test t5 t5 param03 param03 5 23 1 Y 32768 31 63
......
...@@ -1760,7 +1760,7 @@ Table Create Table ...@@ -1760,7 +1760,7 @@ Table Create Table
t5 CREATE TABLE `t5` ( t5 CREATE TABLE `t5` (
`const01` bigint(1) NOT NULL default '0', `const01` bigint(1) NOT NULL default '0',
`param01` bigint(20) default NULL, `param01` bigint(20) default NULL,
`const02` decimal(2,1) unsigned NOT NULL default '0.0', `const02` decimal(2,1) NOT NULL default '0.0',
`param02` decimal(65,30) default NULL, `param02` decimal(65,30) default NULL,
`const03` double NOT NULL default '0', `const03` double NOT NULL default '0',
`param03` double default NULL, `param03` double default NULL,
...@@ -1790,7 +1790,7 @@ select * from t5 ; ...@@ -1790,7 +1790,7 @@ select * from t5 ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def test t5 t5 const01 const01 8 1 1 N 32769 0 63 def test t5 t5 const01 const01 8 1 1 N 32769 0 63
def test t5 t5 param01 param01 8 20 1 Y 32768 0 63 def test t5 t5 param01 param01 8 20 1 Y 32768 0 63
def test t5 t5 const02 const02 246 3 3 N 33 1 63 def test t5 t5 const02 const02 246 4 3 N 1 1 63
def test t5 t5 param02 param02 246 67 32 Y 0 30 63 def test t5 t5 param02 param02 246 67 32 Y 0 30 63
def test t5 t5 const03 const03 5 17 1 N 32769 31 63 def test t5 t5 const03 const03 5 17 1 N 32769 31 63
def test t5 t5 param03 param03 5 23 1 Y 32768 31 63 def test t5 t5 param03 param03 5 23 1 Y 32768 31 63
......
...@@ -1760,7 +1760,7 @@ Table Create Table ...@@ -1760,7 +1760,7 @@ Table Create Table
t5 CREATE TABLE `t5` ( t5 CREATE TABLE `t5` (
`const01` bigint(1) NOT NULL default '0', `const01` bigint(1) NOT NULL default '0',
`param01` bigint(20) default NULL, `param01` bigint(20) default NULL,
`const02` decimal(2,1) unsigned NOT NULL default '0.0', `const02` decimal(2,1) NOT NULL default '0.0',
`param02` decimal(65,30) default NULL, `param02` decimal(65,30) default NULL,
`const03` double NOT NULL default '0', `const03` double NOT NULL default '0',
`param03` double default NULL, `param03` double default NULL,
...@@ -1790,7 +1790,7 @@ select * from t5 ; ...@@ -1790,7 +1790,7 @@ select * from t5 ;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def test t5 t5 const01 const01 8 1 1 N 32769 0 63 def test t5 t5 const01 const01 8 1 1 N 32769 0 63
def test t5 t5 param01 param01 8 20 1 Y 32768 0 63 def test t5 t5 param01 param01 8 20 1 Y 32768 0 63
def test t5 t5 const02 const02 246 3 3 N 33 1 63 def test t5 t5 const02 const02 246 4 3 N 1 1 63
def test t5 t5 param02 param02 246 67 32 Y 0 30 63 def test t5 t5 param02 param02 246 67 32 Y 0 30 63
def test t5 t5 const03 const03 5 17 1 N 32769 31 63 def test t5 t5 const03 const03 5 17 1 N 32769 31 63
def test t5 t5 param03 param03 5 23 1 Y 32768 31 63 def test t5 t5 param03 param03 5 23 1 Y 32768 31 63
......
...@@ -245,22 +245,22 @@ show warnings; ...@@ -245,22 +245,22 @@ show warnings;
Level Code Message Level Code Message
desc t1; desc t1;
Field Type Null Key Default Extra Field Type Null Key Default Extra
x decimal(21,2) unsigned NO 0.00 x decimal(21,2) NO 0.00
drop table t1; drop table t1;
create table t1 select 0.0 x; create table t1 select 0.0 x;
desc t1; desc t1;
Field Type Null Key Default Extra Field Type Null Key Default Extra
x decimal(2,1) unsigned NO 0.0 x decimal(2,1) NO 0.0
create table t2 select 105213674794682365.00 y; create table t2 select 105213674794682365.00 y;
desc t2; desc t2;
Field Type Null Key Default Extra Field Type Null Key Default Extra
y decimal(20,2) unsigned NO 0.00 y decimal(20,2) NO 0.00
create table t3 select x+y a from t1,t2; create table t3 select x+y a from t1,t2;
show warnings; show warnings;
Level Code Message Level Code Message
desc t3; desc t3;
Field Type Null Key Default Extra Field Type Null Key Default Extra
a decimal(21,2) unsigned NO 0.00 a decimal(21,2) NO 0.00
drop table t1,t2,t3; drop table t1,t2,t3;
create table t1 (s1 float(0,2)); create table t1 (s1 float(0,2));
ERROR 42000: For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 's1'). ERROR 42000: For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 's1').
......
...@@ -68,10 +68,10 @@ NULL 1.1 NULL NULL NULL 1 ...@@ -68,10 +68,10 @@ NULL 1.1 NULL NULL NULL 1
show create table t1; show create table t1;
Table Create Table Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
`nullif(1.1, 1.1)` decimal(2,1) unsigned default NULL, `nullif(1.1, 1.1)` decimal(2,1) default NULL,
`nullif(1.1, 1.2)` decimal(2,1) unsigned default NULL, `nullif(1.1, 1.2)` decimal(2,1) default NULL,
`nullif(1.1, 0.11e1)` decimal(2,1) unsigned default NULL, `nullif(1.1, 0.11e1)` decimal(2,1) default NULL,
`nullif(1.0, 1)` decimal(2,1) unsigned default NULL, `nullif(1.0, 1)` decimal(2,1) default NULL,
`nullif(1, 1.0)` int(1) default NULL, `nullif(1, 1.0)` int(1) default NULL,
`nullif(1, 1.1)` int(1) default NULL `nullif(1, 1.1)` int(1) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
...@@ -174,9 +174,9 @@ create table t1 select round(15.4,-1), truncate(-5678.123451,-3), abs(-1.1), -(- ...@@ -174,9 +174,9 @@ create table t1 select round(15.4,-1), truncate(-5678.123451,-3), abs(-1.1), -(-
show create table t1; show create table t1;
Table Create Table Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
`round(15.4,-1)` decimal(3,0) unsigned NOT NULL default '0', `round(15.4,-1)` decimal(3,0) NOT NULL default '0',
`truncate(-5678.123451,-3)` decimal(4,0) NOT NULL default '0', `truncate(-5678.123451,-3)` decimal(4,0) NOT NULL default '0',
`abs(-1.1)` decimal(2,1) NOT NULL default '0.0', `abs(-1.1)` decimal(3,1) NOT NULL default '0.0',
`-(-1.1)` decimal(2,1) NOT NULL default '0.0' `-(-1.1)` decimal(2,1) NOT NULL default '0.0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1; drop table t1;
...@@ -771,7 +771,7 @@ create table t1 as select 0.5; ...@@ -771,7 +771,7 @@ create table t1 as select 0.5;
show create table t1; show create table t1;
Table Create Table Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
`0.5` decimal(2,1) unsigned NOT NULL default '0.0' `0.5` decimal(2,1) NOT NULL default '0.0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1; drop table t1;
select round(1.5),round(2.5); select round(1.5),round(2.5);
......
...@@ -1883,7 +1883,6 @@ Item_decimal::Item_decimal(const char *str_arg, uint length, ...@@ -1883,7 +1883,6 @@ Item_decimal::Item_decimal(const char *str_arg, uint length,
name= (char*) str_arg; name= (char*) str_arg;
decimals= (uint8) decimal_value.frac; decimals= (uint8) decimal_value.frac;
fixed= 1; fixed= 1;
unsigned_flag= !decimal_value.sign();
max_length= my_decimal_precision_to_length(decimal_value.intg + decimals, max_length= my_decimal_precision_to_length(decimal_value.intg + decimals,
decimals, unsigned_flag); decimals, unsigned_flag);
} }
...@@ -1893,7 +1892,6 @@ Item_decimal::Item_decimal(longlong val, bool unsig) ...@@ -1893,7 +1892,6 @@ Item_decimal::Item_decimal(longlong val, bool unsig)
int2my_decimal(E_DEC_FATAL_ERROR, val, unsig, &decimal_value); int2my_decimal(E_DEC_FATAL_ERROR, val, unsig, &decimal_value);
decimals= (uint8) decimal_value.frac; decimals= (uint8) decimal_value.frac;
fixed= 1; fixed= 1;
unsigned_flag= !decimal_value.sign();
max_length= my_decimal_precision_to_length(decimal_value.intg + decimals, max_length= my_decimal_precision_to_length(decimal_value.intg + decimals,
decimals, unsigned_flag); decimals, unsigned_flag);
} }
...@@ -1904,7 +1902,6 @@ Item_decimal::Item_decimal(double val, int precision, int scale) ...@@ -1904,7 +1902,6 @@ Item_decimal::Item_decimal(double val, int precision, int scale)
double2my_decimal(E_DEC_FATAL_ERROR, val, &decimal_value); double2my_decimal(E_DEC_FATAL_ERROR, val, &decimal_value);
decimals= (uint8) decimal_value.frac; decimals= (uint8) decimal_value.frac;
fixed= 1; fixed= 1;
unsigned_flag= !decimal_value.sign();
max_length= my_decimal_precision_to_length(decimal_value.intg + decimals, max_length= my_decimal_precision_to_length(decimal_value.intg + decimals,
decimals, unsigned_flag); decimals, unsigned_flag);
} }
...@@ -1917,7 +1914,6 @@ Item_decimal::Item_decimal(const char *str, const my_decimal *val_arg, ...@@ -1917,7 +1914,6 @@ Item_decimal::Item_decimal(const char *str, const my_decimal *val_arg,
name= (char*) str; name= (char*) str;
decimals= (uint8) decimal_par; decimals= (uint8) decimal_par;
max_length= length; max_length= length;
unsigned_flag= !decimal_value.sign();
fixed= 1; fixed= 1;
} }
...@@ -1927,7 +1923,6 @@ Item_decimal::Item_decimal(my_decimal *value_par) ...@@ -1927,7 +1923,6 @@ Item_decimal::Item_decimal(my_decimal *value_par)
my_decimal2decimal(value_par, &decimal_value); my_decimal2decimal(value_par, &decimal_value);
decimals= (uint8) decimal_value.frac; decimals= (uint8) decimal_value.frac;
fixed= 1; fixed= 1;
unsigned_flag= !decimal_value.sign();
max_length= my_decimal_precision_to_length(decimal_value.intg + decimals, max_length= my_decimal_precision_to_length(decimal_value.intg + decimals,
decimals, unsigned_flag); decimals, unsigned_flag);
} }
...@@ -1939,7 +1934,6 @@ Item_decimal::Item_decimal(const char *bin, int precision, int scale) ...@@ -1939,7 +1934,6 @@ Item_decimal::Item_decimal(const char *bin, int precision, int scale)
&decimal_value, precision, scale); &decimal_value, precision, scale);
decimals= (uint8) decimal_value.frac; decimals= (uint8) decimal_value.frac;
fixed= 1; fixed= 1;
unsigned_flag= !decimal_value.sign();
max_length= my_decimal_precision_to_length(precision, decimals, max_length= my_decimal_precision_to_length(precision, decimals,
unsigned_flag); unsigned_flag);
} }
......
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