Commit ec33d794 authored by sergefp@mysql.com's avatar sergefp@mysql.com

Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1

into mysql.com:/dbdata/psergey/mysql-4.1-code-cleanup
parents 5030d280 7c337622
...@@ -745,6 +745,8 @@ double Item_param::val() ...@@ -745,6 +745,8 @@ double Item_param::val()
{ {
DBUG_ASSERT(value_is_set == 1); DBUG_ASSERT(value_is_set == 1);
int err; int err;
if (null_value)
return 0.0;
switch (item_result_type) { switch (item_result_type) {
case STRING_RESULT: case STRING_RESULT:
return (double) my_strntod(str_value.charset(), (char*) str_value.ptr(), return (double) my_strntod(str_value.charset(), (char*) str_value.ptr(),
...@@ -761,6 +763,8 @@ longlong Item_param::val_int() ...@@ -761,6 +763,8 @@ longlong Item_param::val_int()
{ {
DBUG_ASSERT(value_is_set == 1); DBUG_ASSERT(value_is_set == 1);
int err; int err;
if (null_value)
return 0;
switch (item_result_type) { switch (item_result_type) {
case STRING_RESULT: case STRING_RESULT:
return my_strntoll(str_value.charset(), return my_strntoll(str_value.charset(),
......
...@@ -157,6 +157,7 @@ class Item { ...@@ -157,6 +157,7 @@ class Item {
virtual Item_result result_type () const { return REAL_RESULT; } virtual Item_result result_type () const { return REAL_RESULT; }
virtual enum_field_types field_type() const; virtual enum_field_types field_type() const;
virtual enum Type type() const =0; virtual enum Type type() const =0;
/* valXXX methods must return NULL or 0 or 0.0 if null_value is set. */
virtual double val()=0; virtual double val()=0;
virtual longlong val_int()=0; virtual longlong val_int()=0;
virtual String *val_str(String*)=0; virtual String *val_str(String*)=0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment