summaryrefslogtreecommitdiff
path: root/sql/item.h
diff options
context:
space:
mode:
authorunknown <hf@genie.(none)>2002-11-07 12:20:08 +0400
committerunknown <hf@genie.(none)>2002-11-07 12:20:08 +0400
commit36140ba7c5c44e62242fdadaa77da7fc555b400c (patch)
tree36edaa6da720c34af8ee97ad2d903a40e055fef5 /sql/item.h
parentef5edca39360f1a84591b6004d7b2eecb39b5a35 (diff)
parent328fdfa08668fce1884c452b163bab3f0e9cce90 (diff)
downloadmariadb-git-36140ba7c5c44e62242fdadaa77da7fc555b400c.tar.gz
Merged by hands
BitKeeper/etc/gone: auto-union BitKeeper/etc/logging_ok: auto-union BitKeeper/deleted/.del-skipkeys~207548ca813d5081: 'Auto converge rename' libmysqld/lib_sql.cc: Auto merged sql/field.h: Auto merged sql/ha_myisam.cc: Auto merged sql/item.h: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_handler.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_table.cc: Auto merged
Diffstat (limited to 'sql/item.h')
-rw-r--r--sql/item.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/sql/item.h b/sql/item.h
index fb6bed75d51..2e65c91f8e6 100644
--- a/sql/item.h
+++ b/sql/item.h
@@ -22,6 +22,8 @@
struct st_table_list;
void item_init(void); /* Init item functions */
+class CONVERT;
+
class Item {
Item(const Item &); /* Prevent use of these */
void operator=(Item &);
@@ -58,6 +60,10 @@ public:
virtual int save_safe_in_field(Field *field)
{ return save_in_field(field); }
virtual bool send(THD *thd, String *str);
+#ifdef EMBEDDED_LIBRARY
+ virtual bool embedded_send(const CONVERT *convert, CHARSET_INFO *charset, MEM_ROOT *alloc,
+ char **result, ulong *length);
+#endif
virtual bool eq(const Item *, bool binary_cmp) const;
virtual Item_result result_type () const { return REAL_RESULT; }
virtual enum Type type() const =0;
@@ -133,6 +139,10 @@ public:
{
return result_field->send(thd,str_arg);
}
+#ifdef EMBEDDED_LIBRARY
+ bool embedded_send(const CONVERT *convert, CHARSET_INFO *charset, MEM_ROOT *alloc,
+ char **result, ulong *length);
+#endif
void make_field(Send_field *field);
bool fix_fields(THD *, struct st_table_list *, Item **);
int save_in_field(Field *field);
@@ -165,6 +175,10 @@ public:
enum Item_result result_type () const
{ return STRING_RESULT; }
bool send(THD *thd, String *str);
+#ifdef EMBEDDED_LIBRARY
+ bool embedded_send(const CONVERT *convert, CHARSET_INFO *charset, MEM_ROOT *alloc,
+ char **result, ulong *length);
+#endif
bool basic_const_item() const { return 1; }
Item *new_item() { return new Item_null(name); }
bool is_null() { return 1; }
@@ -428,6 +442,11 @@ public:
return (null_value=(*ref)->get_date(ltime,fuzzydate));
}
bool send(THD *thd, String *tmp) { return (*ref)->send(thd, tmp); }
+#ifdef EMBEDDED_LIBRARY
+ bool embedded_send(const CONVERT *convert, CHARSET_INFO *charset, MEM_ROOT *alloc,
+ char **result, ulong *length)
+ { return (*ref)->embedded_send(convert, charset, alloc, result, length); }
+#endif
void make_field(Send_field *field) { (*ref)->make_field(field); }
bool fix_fields(THD *, struct st_table_list *, Item **);
int save_in_field(Field *field) { return (*ref)->save_in_field(field); }