summaryrefslogtreecommitdiff
path: root/sql/item.cc
diff options
context:
space:
mode:
authorunknown <monty@mysql.com>2003-11-20 22:30:48 +0200
committerunknown <monty@mysql.com>2003-11-20 22:30:48 +0200
commit411b610e7169405ba1fbd8d3c8d4d30fb204dd14 (patch)
tree47f72b790e762b88773ac94032106a9fec3ee4a4 /sql/item.cc
parent671cc0a57491e8084b06a7aa6153f0d05c8ae6ef (diff)
parentcd878c2c8a4a639b2a7147ecf00ce791e15faa42 (diff)
downloadmariadb-git-411b610e7169405ba1fbd8d3c8d4d30fb204dd14.tar.gz
Merge with 4.0 to get:
Fix for storing negative values in decimal fields Fix for FLUSH TABLE with HANDLER BitKeeper/etc/ignore: auto-union libmysql_r/Makefile.am: Auto merged myisam/mi_check.c: Auto merged mysql-test/r/bigint.result: Auto merged mysql-test/r/user_var.result: Auto merged mysql-test/t/bigint.test: Auto merged mysql-test/t/user_var.test: Auto merged mysql-test/r/rpl_loaddata.result: Merge with 4.0 sql/item.cc: Merge with 4.0 to get fix for storing negative values in decimal fields sql/item.h: Merge with 4.0 to get fix for storing negative values in decimal fields sql/sql_handler.cc: Merge with 4.0 to get fix for FLUSH TABLE with HANDLER sql/sql_repl.cc: Merge with 4.0 sql/sql_select.cc: Used original file. (Comments moved to sql/sql_select.h)
Diffstat (limited to 'sql/item.cc')
-rw-r--r--sql/item.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/sql/item.cc b/sql/item.cc
index f41cb720f12..d5401b85755 100644
--- a/sql/item.cc
+++ b/sql/item.cc
@@ -1190,6 +1190,21 @@ int Item_string::save_in_field(Field *field, bool no_conversions)
-1 : 0;
}
+int Item_uint::save_in_field(Field *field, bool no_conversions)
+{
+ longlong nr= val_int();
+ int res;
+
+ if (null_value)
+ return set_field_to_null(field);
+ field->set_notnull();
+ if (nr < 0)
+ res= field->store(ulonglong2double(nr);
+ else
+ res= field->store(nr);
+ return res ? -1 : 0;
+}
+
int Item_int::save_in_field(Field *field, bool no_conversions)
{