summaryrefslogtreecommitdiff
path: root/sql/item_func.cc
diff options
context:
space:
mode:
authorunknown <monty@hundin.mysql.fi>2002-01-02 21:34:12 +0200
committerunknown <monty@hundin.mysql.fi>2002-01-02 21:34:12 +0200
commit62c4fa399e0c7acb1e7dfdae4ceac4b61daeb744 (patch)
tree8dbf52f0dc71a962692f98d1363958acf5d8fd67 /sql/item_func.cc
parentf4fee3d90e8456cfd2a4e2f395bd270d0a12c70d (diff)
parent38e174cc59f99e8bd55e98d2d427037a5a7719e6 (diff)
downloadmariadb-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.cc38
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;