[Commits] Rev 4149: MDEV-5138 Numerous test failures in "mtr --ps --embedded". in file:///home/hf/wmar/mdev-5138-2/

holyfoot at askmonty.org holyfoot at askmonty.org
Tue Apr 15 17:27:56 EEST 2014


At file:///home/hf/wmar/mdev-5138-2/

------------------------------------------------------------
revno: 4149
revision-id: holyfoot at askmonty.org-20140415130833-u1qzp41dsyo9aggj
parent: sanja at askmonty.org-20140415102026-c4mhp3mabb0xq864
committer: Alexey Botchkov <holyfoot at askmonty.org>
branch nick: mdev-5138-2
timestamp: Tue 2014-04-15 18:08:33 +0500
message:
  MDEV-5138 Numerous test failures in "mtr --ps --embedded".
          The function Protocol::net_store_data(a, b, CHARSET_A, CHARSET_B) should
          be adapted to be working in the embedded server as it's done
          with the Protocol::net_store_data(a, b).
          That new function renamed as net_store_data_cs, so we can make it
          virtual.
-------------- next part --------------
=== modified file 'libmysqld/lib_sql.cc'
--- a/libmysqld/lib_sql.cc	2014-02-17 10:00:51 +0000
+++ b/libmysqld/lib_sql.cc	2014-04-15 13:08:33 +0000
@@ -1238,7 +1238,7 @@ bool Protocol::net_store_data(const ucha
 }
 
 
-bool Protocol::net_store_data(const uchar *from, size_t length,
+bool Protocol::net_store_data_cs(const uchar *from, size_t length,
                               CHARSET_INFO *from_cs, CHARSET_INFO *to_cs)
 {
   uint conv_length= to_cs->mbmaxlen * length / from_cs->mbminlen;

=== modified file 'sql/protocol.cc'
--- a/sql/protocol.cc	2013-06-12 20:12:09 +0000
+++ b/sql/protocol.cc	2014-04-15 13:08:33 +0000
@@ -64,7 +64,7 @@ bool Protocol_binary::net_store_data(con
 
 
 /*
-  net_store_data() - extended version with character set conversion.
+  net_store_data_cs() - extended version with character set conversion.
   
   It is optimized for short strings whose length after
   conversion is garanteed to be less than 251, which accupies
@@ -76,8 +76,12 @@ bool Protocol_binary::net_store_data(con
 */
 
 #ifndef EMBEDDED_LIBRARY
-bool Protocol::net_store_data(const uchar *from, size_t length,
+bool Protocol::net_store_data_cs(const uchar *from, size_t length,
                               CHARSET_INFO *from_cs, CHARSET_INFO *to_cs)
+#else
+bool Protocol_binary::net_store_data_cs(const uchar *from, size_t length,
+                              CHARSET_INFO *from_cs, CHARSET_INFO *to_cs)
+#endif
 {
   uint dummy_errors;
   /* Calculate maxumum possible result length */
@@ -117,7 +121,6 @@ bool Protocol::net_store_data(const ucha
   packet->length((uint) (to - packet->ptr()));
   return 0;
 }
-#endif
 
 
 /**
@@ -1007,7 +1010,7 @@ bool Protocol::store_string_aux(const ch
       tocs != &my_charset_bin)
   {
     /* Store with conversion */
-    return net_store_data((uchar*) from, length, fromcs, tocs);
+    return net_store_data_cs((uchar*) from, length, fromcs, tocs);
   }
   /* Store without conversion */
   return net_store_data((uchar*) from, length);

=== modified file 'sql/protocol.h'
--- a/sql/protocol.h	2012-01-13 14:50:02 +0000
+++ b/sql/protocol.h	2014-04-15 13:08:33 +0000
@@ -43,14 +43,16 @@ class Protocol
   uint field_count;
 #ifndef EMBEDDED_LIBRARY
   bool net_store_data(const uchar *from, size_t length);
+  bool net_store_data_cs(const uchar *from, size_t length,
+                      CHARSET_INFO *fromcs, CHARSET_INFO *tocs);
 #else
   virtual bool net_store_data(const uchar *from, size_t length);
+  virtual bool net_store_data_cs(const uchar *from, size_t length,
+                      CHARSET_INFO *fromcs, CHARSET_INFO *tocs);
   char **next_field;
   MYSQL_FIELD *next_mysql_field;
   MEM_ROOT *alloc;
 #endif
-  bool net_store_data(const uchar *from, size_t length,
-                      CHARSET_INFO *fromcs, CHARSET_INFO *tocs);
   bool store_string_aux(const char *from, size_t length,
                         CHARSET_INFO *fromcs, CHARSET_INFO *tocs);
 
@@ -179,6 +181,8 @@ class Protocol_binary :public Protocol
 #ifdef EMBEDDED_LIBRARY
   virtual bool write();
   bool net_store_data(const uchar *from, size_t length);
+  bool net_store_data_cs(const uchar *from, size_t length,
+                      CHARSET_INFO *fromcs, CHARSET_INFO *tocs);
 #endif
   virtual bool store_null();
   virtual bool store_tiny(longlong from);



More information about the commits mailing list