@class CSET_STRING @brief Character set armed LEX_STRING */
| 265 | @brief Character set armed LEX_STRING |
| 266 | */ |
| 267 | class CSET_STRING |
| 268 | { |
| 269 | private: |
| 270 | LEX_STRING string; |
| 271 | CHARSET_INFO *cs; |
| 272 | public: |
| 273 | CSET_STRING() : cs(&my_charset_bin) |
| 274 | { |
| 275 | string.str= NULL; |
| 276 | string.length= 0; |
| 277 | } |
| 278 | CSET_STRING(char *str_arg, size_t length_arg, CHARSET_INFO *cs_arg) : |
| 279 | cs(cs_arg) |
| 280 | { |
| 281 | DBUG_ASSERT(cs_arg != NULL); |
| 282 | string.str= str_arg; |
| 283 | string.length= length_arg; |
| 284 | } |
| 285 | |
| 286 | inline char *str() const { return string.str; } |
| 287 | inline size_t length() const { return string.length; } |
| 288 | CHARSET_INFO *charset() const { return cs; } |
| 289 | |
| 290 | friend LEX_STRING * thd_query_string (MYSQL_THD thd); |
| 291 | }; |
| 292 | |
| 293 | |
| 294 | template <typename T> class Slice |
no outgoing calls
no test coverage detected