diff options
author | unknown <monty@hundin.mysql.fi> | 2002-01-02 21:34:12 +0200 |
---|---|---|
committer | unknown <monty@hundin.mysql.fi> | 2002-01-02 21:34:12 +0200 |
commit | 62c4fa399e0c7acb1e7dfdae4ceac4b61daeb744 (patch) | |
tree | 8dbf52f0dc71a962692f98d1363958acf5d8fd67 /sql/item_func.cc | |
parent | f4fee3d90e8456cfd2a4e2f395bd270d0a12c70d (diff) | |
parent | 38e174cc59f99e8bd55e98d2d427037a5a7719e6 (diff) | |
download | mariadb-git-62c4fa399e0c7acb1e7dfdae4ceac4b61daeb744.tar.gz |
merge with 3.23
BitKeeper/deleted/.del-global.h~e80d28157acfdcb5:
Auto merged
Docs/manual.texi:
Auto merged
client/client_priv.h:
Auto merged
extra/resolveip.c:
Auto merged
innobase/btr/btr0sea.c:
Auto merged
innobase/os/os0file.c:
Auto merged
innobase/rem/rem0cmp.c:
Auto merged
innobase/row/row0mysql.c:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/variables.test:
Auto merged
mysys/my_bitmap.c:
Auto merged
sql/ha_innobase.cc:
Auto merged
sql/ha_innobase.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_do.cc:
Auto merged
sql/sql_select.cc:
Auto merged
client/mysqldump.c:
Use local version in 4.0
configure.in:
Use 4.0 code
Diffstat (limited to 'sql/item_func.cc')
-rw-r--r-- | sql/item_func.cc | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/sql/item_func.cc b/sql/item_func.cc index 93edcc64146..b59aceb512e 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -1845,6 +1845,16 @@ Item_func_set_user_var::val_str(String *str) } +void Item_func_set_user_var::print(String *str) +{ + str->append('('); + str->append(name.str,name.length); + str->append(":=",2); + args[0]->print(str); + str->append(')'); +} + + user_var_entry *Item_func_get_user_var::get_entry() { if (!entry || ! entry->value) @@ -1937,6 +1947,34 @@ enum Item_result Item_func_get_user_var::result_type() const return entry->type; } + +void Item_func_get_user_var::print(String *str) +{ + str->append('@'); + str->append(name.str,name.length); + str->append(')'); +} + +bool Item_func_get_user_var::eq(const Item *item) const +{ + /* Assume we don't have rtti */ + if (this == item) + return 1; // Same item is same. + /* Check if other type is also a get_user_var() object */ +#ifdef FIX_THIS + if (item->eq == &Item_func_get_user_var::eq) + return 0; +#else + if (item->type() != FUNC_ITEM || + ((Item_func*) item)->func_name() != func_name()) + return 0; +#endif + Item_func_get_user_var *other=(Item_func_get_user_var*) item; + return (name.length == other->name.length && + !memcmp(name.str, other->name.str, name.length)); +} + + longlong Item_func_inet_aton::val_int() { uint byte_result = 0; |