summaryrefslogtreecommitdiff
path: root/sql/sql_string.h
diff options
context:
space:
mode:
authorbar@gw.udmsearch.izhnet.ru <>2002-03-07 15:23:24 +0400
committerbar@gw.udmsearch.izhnet.ru <>2002-03-07 15:23:24 +0400
commite3d5356d4832b1ebf7e96615e991de0246bad843 (patch)
tree0e2bb1c6f52bd12eda56ba1247bb22efe2a4baf8 /sql/sql_string.h
parent2eed4065503ac1feda16cf0bff49657980b9dd11 (diff)
downloadmariadb-git-e3d5356d4832b1ebf7e96615e991de0246bad843.tar.gz
Extend String class with CHARSET_INFO field
Diffstat (limited to 'sql/sql_string.h')
-rw-r--r--sql/sql_string.h35
1 files changed, 27 insertions, 8 deletions
diff --git a/sql/sql_string.h b/sql/sql_string.h
index ac579cd752d..6e8fefb079a 100644
--- a/sql/sql_string.h
+++ b/sql/sql_string.h
@@ -36,26 +36,45 @@ class String
char *Ptr;
uint32 str_length,Alloced_length;
bool alloced;
+ CHARSET_INFO *str_charset;
public:
String()
- { Ptr=0; str_length=Alloced_length=0; alloced=0; }
+ {
+ Ptr=0; str_length=Alloced_length=0; alloced=0;
+ str_charset=default_charset_info;
+ }
String(uint32 length_arg)
- { alloced=0; Alloced_length=0; (void) real_alloc(length_arg); }
+ {
+ alloced=0; Alloced_length=0; (void) real_alloc(length_arg);
+ str_charset=default_charset_info;
+ }
String(const char *str)
- { Ptr=(char*) str; str_length=(uint) strlen(str); Alloced_length=0; alloced=0;}
+ {
+ Ptr=(char*) str; str_length=(uint) strlen(str); Alloced_length=0; alloced=0;
+ str_charset=default_charset_info;
+ }
String(const char *str,uint32 len)
- { Ptr=(char*) str; str_length=len; Alloced_length=0; alloced=0;}
+ {
+ Ptr=(char*) str; str_length=len; Alloced_length=0; alloced=0;
+ str_charset=default_charset_info;
+ }
String(char *str,uint32 len)
- { Ptr=(char*) str; Alloced_length=str_length=len; alloced=0;}
+ {
+ Ptr=(char*) str; Alloced_length=str_length=len; alloced=0;
+ str_charset=default_charset_info;
+ }
String(const String &str)
- { Ptr=str.Ptr ; str_length=str.str_length ;
- Alloced_length=str.Alloced_length; alloced=0; }
-
+ {
+ Ptr=str.Ptr ; str_length=str.str_length ;
+ Alloced_length=str.Alloced_length; alloced=0;
+ str_charset=str.str_charset;
+ }
static void *operator new(size_t size) { return (void*) sql_alloc((uint) size); }
static void operator delete(void *ptr_arg,size_t size) /*lint -e715 */
{ sql_element_free(ptr_arg); }
~String() { free(); }
+ inline CHARSET_INFO *charset() const { return str_charset; }
inline uint32 length() const { return str_length;}
inline uint32 alloced_length() const { return Alloced_length;}
inline char& operator [] (uint32 i) const { return Ptr[i]; }