diff --git a/sql/protocol.cc b/sql/protocol.cc index d565a818f31..83dc66fa447 100644 --- a/sql/protocol.cc +++ b/sql/protocol.cc @@ -1205,18 +1205,6 @@ bool Protocol::store_warning(const char *from, size_t length) bool Protocol_text::store(const char *from, size_t length, CHARSET_INFO *fromcs, CHARSET_INFO *tocs) { -#ifndef DBUG_OFF - DBUG_ASSERT(valid_handler(field_pos, PROTOCOL_SEND_STRING)); - field_pos++; -#endif - return store_string_aux(from, length, fromcs, tocs); -} - - -bool Protocol_text::store(const char *from, size_t length, - CHARSET_INFO *fromcs) -{ - CHARSET_INFO *tocs= this->thd->variables.character_set_results; #ifndef DBUG_OFF DBUG_PRINT("info", ("Protocol_text::store field %u (%u): %.*b", field_pos, field_count, (int) length, (length == 0 ? "" : from))); @@ -1228,6 +1216,14 @@ bool Protocol_text::store(const char *from, size_t length, } +bool Protocol::store(const char *from, size_t length, + CHARSET_INFO *fromcs) +{ + CHARSET_INFO *tocs= this->thd->variables.character_set_results; + return store(from, length, fromcs, tocs); +} + + bool Protocol_text::store_tiny(longlong from) { #ifndef DBUG_OFF @@ -1455,14 +1451,6 @@ void Protocol_binary::prepare_for_resend() } -bool Protocol_binary::store(const char *from, size_t length, - CHARSET_INFO *fromcs) -{ - CHARSET_INFO *tocs= thd->variables.character_set_results; - field_pos++; - return store_string_aux(from, length, fromcs, tocs); -} - bool Protocol_binary::store(const char *from, size_t length, CHARSET_INFO *fromcs, CHARSET_INFO *tocs) { @@ -1526,11 +1514,11 @@ bool Protocol_binary::store_decimal(const my_decimal *d) { #ifndef DBUG_OFF DBUG_ASSERT(0); // This method is not used yet - field_pos++; #endif StringBuffer str; (void) d->to_string(&str); - return store(str.ptr(), str.length(), str.charset()); + return store(str.ptr(), str.length(), str.charset(), + thd->variables.character_set_results); } bool Protocol_binary::store(float from, uint32 decimals, String *buffer) diff --git a/sql/protocol.h b/sql/protocol.h index 661ca11d3a1..3d4ecb9f4f0 100644 --- a/sql/protocol.h +++ b/sql/protocol.h @@ -120,7 +120,7 @@ public: virtual bool store_long(longlong from)=0; virtual bool store_longlong(longlong from, bool unsigned_flag)=0; virtual bool store_decimal(const my_decimal *)=0; - virtual bool store(const char *from, size_t length, CHARSET_INFO *cs)=0; + bool store(const char *from, size_t length, CHARSET_INFO *cs); virtual bool store(const char *from, size_t length, CHARSET_INFO *fromcs, CHARSET_INFO *tocs)=0; bool store_str(const LEX_CSTRING &s, CHARSET_INFO *fromcs, CHARSET_INFO *tocs) @@ -178,7 +178,6 @@ public: virtual bool store_long(longlong from); virtual bool store_longlong(longlong from, bool unsigned_flag); virtual bool store_decimal(const my_decimal *); - virtual bool store(const char *from, size_t length, CHARSET_INFO *cs); virtual bool store(const char *from, size_t length, CHARSET_INFO *fromcs, CHARSET_INFO *tocs); virtual bool store(MYSQL_TIME *time, int decimals); @@ -223,7 +222,6 @@ public: virtual bool store_long(longlong from); virtual bool store_longlong(longlong from, bool unsigned_flag); virtual bool store_decimal(const my_decimal *); - virtual bool store(const char *from, size_t length, CHARSET_INFO *cs); virtual bool store(const char *from, size_t length, CHARSET_INFO *fromcs, CHARSET_INFO *tocs); virtual bool store(MYSQL_TIME *time, int decimals); @@ -272,7 +270,6 @@ public: bool store_long(longlong) { return false; } bool store_longlong(longlong, bool) { return false; } bool store_decimal(const my_decimal *) { return false; } - bool store(const char *, size_t, CHARSET_INFO *) { return false; } bool store(const char *, size_t, CHARSET_INFO *, CHARSET_INFO *) { return false; } bool store(MYSQL_TIME *, int) { return false; } bool store_date(MYSQL_TIME *) { return false; }