1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

Fix for bug #13667 (Inconsistency for decimal(m,d) specification.

mysql-test/r/type_newdecimal.result:
  result fixed
mysql-test/t/type_newdecimal.test:
  testcase added
sql/sql_parse.cc:
  we should check if 'decimals' is not null
This commit is contained in:
unknown
2005-10-11 21:18:04 +05:00
parent d471e9de7d
commit d30081732a
3 changed files with 9 additions and 1 deletions

View File

@ -1019,3 +1019,5 @@ drop procedure wg2;
select cast(@non_existing_user_var/2 as DECIMAL);
cast(@non_existing_user_var/2 as DECIMAL)
NULL
create table t (d decimal(0,10));
ERROR 42000: For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column 'd').

View File

@ -1044,3 +1044,9 @@ drop procedure wg2;
#
select cast(@non_existing_user_var/2 as DECIMAL);
#
# Bug #13667 (Inconsistency for decimal(m,d) specification
#
--error 1427
create table t (d decimal(0,10));

View File

@ -5748,7 +5748,7 @@ new_create_field(THD *thd, char *field_name, enum_field_types type,
case FIELD_TYPE_NULL:
break;
case FIELD_TYPE_NEWDECIMAL:
if (!length)
if (!length && !new_field->decimals)
new_field->length= 10;
if (new_field->length > DECIMAL_MAX_PRECISION)
{