diff options
author | serg@serg.mylan <> | 2004-11-22 21:33:15 +0100 |
---|---|---|
committer | serg@serg.mylan <> | 2004-11-22 21:33:15 +0100 |
commit | ee933cd1986fcbe14eb37cf732e92fe3692a7461 (patch) | |
tree | 9fd3b9eb87ff64ffe7e7374609beb327e419a87d /sql/item.h | |
parent | 55575bea2ed86b3f16297c6a0aa8540133aea963 (diff) | |
parent | 2ca5a0f2b17b02c13711d5f45ff75c52a23e4fb3 (diff) | |
download | mariadb-git-ee933cd1986fcbe14eb37cf732e92fe3692a7461.tar.gz |
merged
Diffstat (limited to 'sql/item.h')
-rw-r--r-- | sql/item.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sql/item.h b/sql/item.h index 9c036c28408..23515abc7a8 100644 --- a/sql/item.h +++ b/sql/item.h @@ -266,6 +266,14 @@ public: virtual bool get_time(TIME *ltime); virtual bool get_date_result(TIME *ltime,uint fuzzydate) { return get_date(ltime,fuzzydate); } + /* + This function is used only in Item_func_isnull/Item_func_isnotnull + (implementations of IS NULL/IS NOT NULL clauses). Item_func_is{not}null + calls this method instead of one of val/result*() methods, which + normally will set null_value. This allows to determine nullness of + a complex expression without fully evaluating it. + Any new item which can be NULL must implement this call. + */ virtual bool is_null() { return 0; } /* it is "top level" item of WHERE clause and we do not need correct NULL @@ -710,6 +718,8 @@ public: void print(String *str); /* parameter never equal to other parameter of other item */ bool eq(const Item *item, bool binary_cmp) const { return 0; } + bool is_null() + { DBUG_ASSERT(state != NO_VALUE); return state == NULL_VALUE; } }; class Item_int :public Item_num |