summaryrefslogtreecommitdiff
path: root/sql/item_timefunc.cc
diff options
context:
space:
mode:
authorunknown <bar@bar.mysql.r18.ru>2003-03-03 10:53:08 +0400
committerunknown <bar@bar.mysql.r18.ru>2003-03-03 10:53:08 +0400
commit310545adf0de5e933cfa346499991beace33f24c (patch)
tree27481e0ef5b2631746b621bdd86787e7f9b5afef /sql/item_timefunc.cc
parent16cdf759a14c34b87c8d1b6924e65e55a3765d4c (diff)
downloadmariadb-git-310545adf0de5e933cfa346499991beace33f24c.tar.gz
Strings which appear without charset context,
like number-to-string-convertion-result, now takes current database character set, instead of thread character set. This makes it easy to be SQL99 conformant and 4.0 compatible. Item->thd_charset() is renamed to Item->default_charset() as old name doesn't describe its nature anymore.
Diffstat (limited to 'sql/item_timefunc.cc')
-rw-r--r--sql/item_timefunc.cc28
1 files changed, 14 insertions, 14 deletions
diff --git a/sql/item_timefunc.cc b/sql/item_timefunc.cc
index a032e25cec8..997247b6141 100644
--- a/sql/item_timefunc.cc
+++ b/sql/item_timefunc.cc
@@ -162,7 +162,7 @@ String* Item_func_monthname::val_str(String* str)
null_value=0;
String *m=&month_names[month-1];
- str->copy(m->ptr(), m->length(), m->charset(), thd_charset());
+ str->copy(m->ptr(), m->length(), m->charset(), default_charset());
return str;
}
@@ -252,7 +252,7 @@ String* Item_func_dayname::val_str(String* str)
return (String*) 0;
String *d=&day_names[weekday];
- str->copy(d->ptr(), d->length(), d->charset(), thd_charset());
+ str->copy(d->ptr(), d->length(), d->charset(), default_charset());
return str;
}
@@ -416,7 +416,7 @@ String *Item_date::val_str(String *str)
return (String*) 0;
if (!value) // zero daynr
{
- str->copy("0000-00-00",10,&my_charset_latin1,thd_charset());
+ str->copy("0000-00-00",10,&my_charset_latin1,default_charset());
return str;
}
@@ -425,7 +425,7 @@ String *Item_date::val_str(String *str)
(int) (value/10000L) % 10000,
(int) (value/100)%100,
(int) (value%100));
- str->copy(tmpbuff,10,&my_charset_latin1,thd_charset());
+ str->copy(tmpbuff,10,&my_charset_latin1,default_charset());
return str;
}
@@ -463,9 +463,9 @@ void Item_func_curdate::fix_length_and_dec()
struct tm tm_tmp,*start;
time_t query_start=current_thd->query_start();
- set_charset(thd_charset());
+ set_charset(default_charset());
decimals=0;
- max_length=10*thd_charset()->mbmaxlen;
+ max_length=10*default_charset()->mbmaxlen;
localtime_r(&query_start,&tm_tmp);
start=&tm_tmp;
value=(longlong) ((ulong) ((uint) start->tm_year+1900)*10000L+
@@ -492,7 +492,7 @@ bool Item_func_curdate::get_date(TIME *res,
String *Item_func_curtime::val_str(String *str)
{
- str_value.set(buff,buff_length,thd_charset());
+ str_value.set(buff,buff_length,default_charset());
return &str_value;
}
@@ -500,7 +500,7 @@ void Item_func_curtime::fix_length_and_dec()
{
struct tm tm_tmp,*start;
time_t query_start=current_thd->query_start();
- CHARSET_INFO *cs=thd_charset();
+ CHARSET_INFO *cs=default_charset();
decimals=0;
max_length=8*cs->mbmaxlen;
@@ -520,7 +520,7 @@ void Item_func_curtime::fix_length_and_dec()
String *Item_func_now::val_str(String *str)
{
- str_value.set(buff,buff_length,thd_charset());
+ str_value.set(buff,buff_length,default_charset());
return &str_value;
}
@@ -595,7 +595,7 @@ String *Item_func_sec_to_time::val_str(String *str)
uint sec= (uint) ((ulonglong) seconds % 3600);
length= my_sprintf(buff,(buff,"%s%02lu:%02u:%02u",sign,(long) (seconds/3600),
sec/60, sec % 60));
- str->copy(buff, length, &my_charset_latin1, thd_charset());
+ str->copy(buff, length, &my_charset_latin1, default_charset());
return str;
}
@@ -940,7 +940,7 @@ String *Item_func_from_unixtime::val_str(String *str)
struct tm tm_tmp,*start;
time_t tmp=(time_t) args[0]->val_int();
uint32 l;
- CHARSET_INFO *cs=thd_charset();
+ CHARSET_INFO *cs=default_charset();
if ((null_value=args[0]->null_value))
return 0;
@@ -1003,9 +1003,9 @@ bool Item_func_from_unixtime::get_date(TIME *ltime,
void Item_date_add_interval::fix_length_and_dec()
{
enum_field_types arg0_field_type;
- set_charset(thd_charset());
+ set_charset(default_charset());
maybe_null=1;
- max_length=19*thd_charset()->mbmaxlen;
+ max_length=19*default_charset()->mbmaxlen;
value.alloc(32);
/*
@@ -1124,7 +1124,7 @@ bool Item_date_add_interval::get_date(TIME *ltime, bool fuzzy_date)
String *Item_date_add_interval::val_str(String *str)
{
TIME ltime;
- CHARSET_INFO *cs=thd_charset();
+ CHARSET_INFO *cs=default_charset();
uint32 l;
if (Item_date_add_interval::get_date(&ltime,0))