From 7ed01976df530f667d82d4eeaa53987a5fb9e916 Mon Sep 17 00:00:00 2001
From: "hf@deer.(none)" <>
Date: Sun, 4 Sep 2005 17:45:02 +0500
Subject: [PATCH] Error message changed for buf #12694 as PeterG suggested

---
 mysql-test/r/type_float.result | 4 ++++
 mysql-test/t/type_float.test   | 4 ++--
 sql/share/errmsg.txt           | 2 ++
 sql/sql_parse.cc               | 4 ++--
 4 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/mysql-test/r/type_float.result b/mysql-test/r/type_float.result
index d243985332e..fc7e4c5f346 100644
--- a/mysql-test/r/type_float.result
+++ b/mysql-test/r/type_float.result
@@ -225,3 +225,7 @@ select * from t1 where reckey=1.09E2;
 reckey	recdesc
 109	Has 109 as key
 drop table t1;
+create table t1 (s1 float(0,2));
+ERROR 42000: For float(M,D) or double(M,D), M must be >= D (column 's1').
+create table t1 (s1 float(1,2));
+ERROR 42000: For float(M,D) or double(M,D), M must be >= D (column 's1').
diff --git a/mysql-test/t/type_float.test b/mysql-test/t/type_float.test
index cf2a2676ab0..bb7bd37039b 100644
--- a/mysql-test/t/type_float.test
+++ b/mysql-test/t/type_float.test
@@ -152,7 +152,7 @@ drop table t1;
 # bug #12694 (float(m,d) specifications)
 #
 
---error 1427
+--error 1443
 create table t1 (s1 float(0,2));
---error 1427
+--error 1443
 create table t1 (s1 float(1,2));
diff --git a/sql/share/errmsg.txt b/sql/share/errmsg.txt
index b49b7248021..1535cc95367 100644
--- a/sql/share/errmsg.txt
+++ b/sql/share/errmsg.txt
@@ -5399,3 +5399,5 @@ ER_DATETIME_FUNCTION_OVERFLOW 22008
         eng "Datetime function: %-.32s field overflow"
 ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG
         eng "Can't update table '%-.64s' in stored function/trigger because it is already used by statement which invoked this stored function/trigger."
+ER_M_BIGGER_THAN_D 42000 S1009
+        eng "For float(M,D) or double(M,D), M must be >= D (column '%-.64s')."
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index 65169f2af10..27ab3fc0579 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -5760,7 +5760,7 @@ new_create_field(THD *thd, char *field_name, enum_field_types type,
     if (new_field->length < new_field->decimals &&
         new_field->decimals != NOT_FIXED_DEC)
     {
-      my_error(ER_SCALE_BIGGER_THAN_PRECISION, MYF(0), field_name);
+      my_error(ER_M_BIGGER_THAN_D, MYF(0), field_name);
       DBUG_RETURN(NULL);
     }
     break;
@@ -5774,7 +5774,7 @@ new_create_field(THD *thd, char *field_name, enum_field_types type,
     if (new_field->length < new_field->decimals &&
         new_field->decimals != NOT_FIXED_DEC)
     {
-      my_error(ER_SCALE_BIGGER_THAN_PRECISION, MYF(0), field_name);
+      my_error(ER_M_BIGGER_THAN_D, MYF(0), field_name);
       DBUG_RETURN(NULL);
     }
     break;