summaryrefslogtreecommitdiff
path: root/sql/item_timefunc.h
diff options
context:
space:
mode:
authorunknown <monty@mashka.mysql.fi>2002-11-25 12:19:28 +0200
committerunknown <monty@mashka.mysql.fi>2002-11-25 12:19:28 +0200
commit0985653c1f820badb4ab642fe8e9f1287fd20656 (patch)
treeaf2db8bb2a2a932f016529fbf7508121528d132a /sql/item_timefunc.h
parent895e3dbbf831cfc6698f1f1f57586224351458b7 (diff)
parentbe5d04e8fced4176ec705b1188a6075e1253d9ca (diff)
downloadmariadb-git-0985653c1f820badb4ab642fe8e9f1287fd20656.tar.gz
Merge with 4.0
configure.in: Auto merged BitKeeper/deleted/.del-mutex.m4~a13383cde18a64e1: Auto merged mysql-test/mysql-test-run.sh: Auto merged mysql-test/r/func_test.result: Auto merged mysql-test/r/null_key.result: Auto merged mysql-test/t/func_test.test: Auto merged sql/handler.cc: Auto merged sql/item_create.cc: Auto merged sql/item_timefunc.h: Auto merged sql/lex.h: Auto merged sql/mysqld.cc: Auto merged sql/opt_range.cc: Auto merged sql/sql_delete.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_update.cc: Auto merged sql/sql_yacc.yy: Auto merged sql/item_func.h: Merge
Diffstat (limited to 'sql/item_timefunc.h')
-rw-r--r--sql/item_timefunc.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/sql/item_timefunc.h b/sql/item_timefunc.h
index 07cdfde115b..7765769c1d3 100644
--- a/sql/item_timefunc.h
+++ b/sql/item_timefunc.h
@@ -513,6 +513,7 @@ public:
bool get_date(TIME *res,bool fuzzy_date);
};
+
class Item_extract :public Item_int_func
{
const interval_type int_type;
@@ -526,10 +527,12 @@ class Item_extract :public Item_int_func
void fix_length_and_dec();
};
+
class Item_typecast :public Item_str_func
{
public:
Item_typecast(Item *a) :Item_str_func(a) {}
+ const char *func_name() const { return "char"; }
String *val_str(String *a)
{ a=args[0]->val_str(a); null_value=args[0]->null_value; return a; }
void fix_length_and_dec() { max_length=args[0]->max_length; }
@@ -537,6 +540,14 @@ public:
};
+class Item_char_typecast :public Item_typecast
+{
+public:
+ Item_char_typecast(Item *a) :Item_typecast(a) {}
+ void fix_length_and_dec() { binary=0; max_length=args[0]->max_length; }
+};
+
+
class Item_date_typecast :public Item_typecast
{
public:
@@ -553,6 +564,7 @@ public:
}
};
+
class Item_time_typecast :public Item_typecast
{
public:
@@ -569,6 +581,7 @@ public:
}
};
+
class Item_datetime_typecast :public Item_typecast
{
public: