diff options
author | unknown <holyfoot/hf@hfmain.(none)> | 2007-05-11 18:20:54 +0500 |
---|---|---|
committer | unknown <holyfoot/hf@hfmain.(none)> | 2007-05-11 18:20:54 +0500 |
commit | e5683f7b3a9e1aa3b59d43f2c66fb67d1645e4f9 (patch) | |
tree | 214883f76c306878a1dc155ae11b178541032047 | |
parent | 5f41b262a7d84bb01d93b4f500f741a5a0b24650 (diff) | |
parent | d4b87344622536cf21ab6260abb2f9b2c8a0be61 (diff) | |
download | mariadb-git-e5683f7b3a9e1aa3b59d43f2c66fb67d1645e4f9.tar.gz |
Merge mysql.com:/home/hf/work/27921/my51-27921
into mysql.com:/home/hf/work/27957/my51-27957
sql/item_create.cc:
Auto merged
sql/my_decimal.h:
Auto merged
-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 |
3 files changed, 25 insertions, 1 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 6534757113a..62f44996f4b 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 */ |