diff options
author | unknown <holyfoot/hf@mysql.com/hfmain.(none)> | 2007-05-11 18:19:47 +0500 |
---|---|---|
committer | unknown <holyfoot/hf@mysql.com/hfmain.(none)> | 2007-05-11 18:19:47 +0500 |
commit | d4b87344622536cf21ab6260abb2f9b2c8a0be61 (patch) | |
tree | c4016f4c2c8a5b600a23c6bc957c75a94d88cd71 | |
parent | 812a6ee7afdd79341c1b63ea328631bafe1e8839 (diff) | |
download | mariadb-git-d4b87344622536cf21ab6260abb2f9b2c8a0be61.tar.gz |
merging fixes
mysql-test/t/view.test:
merging fix
sql/item_create.cc:
merging fix
sql/my_decimal.cc:
merging fix
sql/my_decimal.h:
merging fix
-rw-r--r-- | mysql-test/t/view.test | 12 | ||||
-rw-r--r-- | sql/item_create.cc | 3 | ||||
-rw-r--r-- | sql/my_decimal.cc | 11 | ||||
-rw-r--r-- | sql/my_decimal.h | 10 |
4 files changed, 26 insertions, 10 deletions
diff --git a/mysql-test/t/view.test b/mysql-test/t/view.test index a599f948c1e..51c862f692d 100644 --- a/mysql-test/t/view.test +++ b/mysql-test/t/view.test @@ -3213,6 +3213,18 @@ EXPLAIN SELECT * FROM t1 UNION SELECT * FROM v1 ORDER BY a; DROP VIEW v1; DROP TABLE t1; +# +# Bug #27921 View ignores precision for CAST() +# +CREATE VIEW v1 AS SELECT CAST( 1.23456789 AS DECIMAL( 7,5 ) ) AS col; +SELECT * FROM v1; +DESCRIBE v1; +DROP VIEW v1; + +CREATE VIEW v1 AS SELECT CAST(1.23456789 AS DECIMAL(8,0)) AS col; +SHOW CREATE VIEW v1; +DROP VIEW v1; + --echo End of 5.0 tests. # diff --git a/sql/item_create.cc b/sql/item_create.cc index c40c7a4de6c..29d2b8fe3b3 100644 --- a/sql/item_create.cc +++ b/sql/item_create.cc @@ -3947,6 +3947,7 @@ Create_func_master_pos_wait::create_native(THD *thd, LEX_STRING name, my_error(ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT, MYF(0), name.str); break; } + } return func; } @@ -4972,7 +4973,7 @@ find_qualified_function_builder(THD *thd) Item * -create_func_cast(Item *a, Cast_target cast_type, +create_func_cast(THD *thd, Item *a, Cast_target cast_type, const char *c_len, const char *c_dec, CHARSET_INFO *cs) { diff --git a/sql/my_decimal.cc b/sql/my_decimal.cc index 7b2d271639f..8823fac3393 100644 --- a/sql/my_decimal.cc +++ b/sql/my_decimal.cc @@ -208,6 +208,17 @@ my_decimal *date2my_decimal(MYSQL_TIME *ltime, my_decimal *dec) } +void my_decimal_trim(ulong *precision, uint *scale) +{ + if (!(*precision) && !(*scale)) + { + *precision= 10; + *scale= 0; + return; + } +} + + #ifndef DBUG_OFF /* routines for debugging print */ diff --git a/sql/my_decimal.h b/sql/my_decimal.h index b349fc3f62e..17eb75cfdc5 100644 --- a/sql/my_decimal.h +++ b/sql/my_decimal.h @@ -395,15 +395,7 @@ int my_decimal_intg(const my_decimal *a) } -void my_decimal_trim(ulong *precision, uint *scale) -{ - if (!(*precision) && !(*scale)) - { - *precision= 10; - *scale= 0; - return; - } -} +void my_decimal_trim(ulong *precision, uint *scale); #endif /*my_decimal_h*/ |