MySQL Lists are EOL. Please join:

List:Internals« Previous MessageNext Message »
From:Elliot Murphy Date:August 17 2005 8:26am
Subject:bk commit into 4.1 tree (elliot:1.2374) BUG#11338
View as plain text  
Below is the list of changes that have just been committed into a local
4.1 repository of emurphy. When emurphy does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet
  1.2374 05/08/17 04:26:32 elliot@stripped +22 -0
  BUG#11338 (logging of prepared statement w/ blob type)
  In cp932, '\' character can be the second byte in a 
  multi-byte character stream. This makes it difficult to use
  mysql_escape_string. Added flag to indicate which languages allow
  '\' as second byte of multibyte sequence so that when putting a prepared
  statement into the binlog we can decide at runtime whether hex encoding
  is really needed.

  strings/ctype-win1250ch.c
    1.46 05/08/17 04:26:29 elliot@stripped +1 -0
    Added escape_with_backslash_is_dangerous.

  strings/ctype-utf8.c
    1.88 05/08/17 04:26:29 elliot@stripped +3 -0
    Added escape_with_backslash_is_dangerous.

  strings/ctype-ujis.c
    1.64 05/08/17 04:26:29 elliot@stripped +2 -0
    Added escape_with_backslash_is_dangerous flag.

  strings/ctype-ucs2.c
    1.43 05/08/17 04:26:29 elliot@stripped +2 -0
    Added escape_with_backslash_is_dangerous.

  strings/ctype-uca.c
    1.31 05/08/17 04:26:29 elliot@stripped +34 -0
    Added escape_with_backslash_is_dangerous flag.

  strings/ctype-tis620.c
    1.81 05/08/17 04:26:28 elliot@stripped +2 -0
    Added esacpe_with_backslash_character_is_dangerous flag.

  strings/ctype-sjis.c
    1.80 05/08/17 04:26:28 elliot@stripped +2 -0
    Added escape_with_backslash_is_dangerous flag.

  strings/ctype-latin1.c
    1.42 05/08/17 04:26:28 elliot@stripped +3 -0
    Added escape_with_backslash_is_dangerous flag.

  strings/ctype-gbk.c
    1.71 05/08/17 04:26:28 elliot@stripped +2 -0
    Added escape_with_backslash_is_dangerous flag.

  strings/ctype-gb2312.c
    1.57 05/08/17 04:26:28 elliot@stripped +2 -0
    Add escape_with_backslash_is_dangerous flag.

  strings/ctype-extra.c
    1.18 05/08/17 04:26:28 elliot@stripped +1 -0
    Add escape_with_backslash_is_dangerous flag.

  strings/ctype-euc_kr.c
    1.60 05/08/17 04:26:28 elliot@stripped +2 -0
    Add escape_with_backslash_is_dangerous flag.

  strings/ctype-czech.c
    1.54 05/08/17 04:26:28 elliot@stripped +1 -0
    Add escape_with_backslash_is_dangerous flag.

  strings/ctype-cp932.c
    1.6 05/08/17 04:26:27 elliot@stripped +2 -0
    Add escape_with_backslash_is_dangerous flag.

  strings/ctype-bin.c
    1.58 05/08/17 04:26:27 elliot@stripped +1 -0
    Add escape_with_backslash_is_dangerous flag

  strings/ctype-big5.c
    1.77 05/08/17 04:26:27 elliot@stripped +2 -0
    Add escape_with_backslash_is_dangerous flag.

  sql/sql_prepare.cc
    1.152 05/08/17 04:26:27 elliot@stripped +2 -2
    Pass thd to query_val_str.

  sql/item.h
    1.189 05/08/17 04:26:27 elliot@stripped +1 -1
    Pass thd to query_val_str for access to charset()

  sql/item.cc
    1.216 05/08/17 04:26:27 elliot@stripped +13 -5
    Check the connection character set to see if escape_string_for_mysql
    is safe, or if character set requires unambiguous (hex) encoding

  mysys/charset.c
    1.138 05/08/17 04:26:27 elliot@stripped +18 -0
    Add function to encode string as hex with no prefix (bare).

  include/my_sys.h
    1.140 05/08/17 04:26:27 elliot@stripped +1 -0
    Add function to enocde a string as hex with no prefix (bare)

  include/m_ctype.h
    1.105 05/08/17 04:26:26 elliot@stripped +1 -0
    Added bool to indicate character sets which allow '\' as the second
    byte of a multibyte character set (currently only cp932). For these
    character sets, escaping with '\' is dangerous and leads to corruption
    in replication.

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	elliot
# Host:	agony.local
# Root:	/Users/emurphy/src/work/mysql-4.1-bug11338

--- 1.104/include/m_ctype.h	2005-05-05 14:37:43 -04:00
+++ 1.105/include/m_ctype.h	2005-08-17 04:26:26 -04:00
@@ -220,6 +220,7 @@
   uint      mbmaxlen;
   uint16    min_sort_char;
   uint16    max_sort_char; /* For LIKE optimization */
+  my_bool   escape_with_backslash_is_dangerous;
   
   MY_CHARSET_HANDLER *cset;
   MY_COLLATION_HANDLER *coll;

--- 1.139/include/my_sys.h	2005-08-08 10:49:54 -04:00
+++ 1.140/include/my_sys.h	2005-08-17 04:26:27 -04:00
@@ -788,6 +788,7 @@
 extern void add_compiled_collation(CHARSET_INFO *cs);
 extern ulong escape_string_for_mysql(CHARSET_INFO *charset_info, char *to,
                                      const char *from, ulong length);
+extern char *bare_str_to_hex(char *to, const char *from, uint len);
 #ifdef __WIN__
 #define BACKSLASH_MBTAIL
 /* File system character set */

--- 1.137/mysys/charset.c	2005-08-08 10:51:11 -04:00
+++ 1.138/mysys/charset.c	2005-08-17 04:26:27 -04:00
@@ -663,3 +663,21 @@
   return fs_cset_cache;
 }
 #endif
+
+/*
+  Transforms a string into hex form.
+ */
+char *bare_str_to_hex(char *to, const char *from, uint len)
+{
+  char *p= to;
+  uint i;
+  for (i= 0; i < len; i++, p+= 2)
+  {
+    /* val[i] is char. Casting to uchar helps greatly if val[i] < 0 */
+    uint tmp= (uint) (uchar) from[i];
+    p[0]= _dig_vec_upper[tmp >> 4];
+    p[1]= _dig_vec_upper[tmp & 15];
+  }
+  *p= 0;
+  return p; // pointer to end 0 of 'to'
+}

--- 1.215/sql/item.cc	2005-08-08 07:20:26 -04:00
+++ 1.216/sql/item.cc	2005-08-17 04:26:27 -04:00
@@ -1443,7 +1443,7 @@
   and avoid one more memcpy/alloc between str and log string.
 */
 
-const String *Item_param::query_val_str(String* str) const
+const String *Item_param::query_val_str(String* str, THD *thd) const
 {
   switch (state) {
   case INT_VALUE:
@@ -1482,10 +1482,18 @@
 
       buf= str->c_ptr_quick();
       ptr= buf;
-      *ptr++= '\'';
-      ptr+= escape_string_for_mysql(str_value.charset(), ptr,
-                                    str_value.ptr(), str_value.length());
-      *ptr++= '\'';
+      if (thd->charset()->escape_with_backslash_is_dangerous)
+      {
+        ptr= strmov(ptr, "x\'");
+        ptr= bare_str_to_hex(ptr, str_value.ptr(), str_value.length());
+      }
+      else
+      {
+        *ptr++= '\'';
+        ptr+= escape_string_for_mysql(str_value.charset(), ptr,
+                                      str_value.ptr(), str_value.length());
+      }
+      *ptr++='\'';
       str->length(ptr - buf);
       break;
     }

--- 1.188/sql/item.h	2005-07-26 03:50:52 -04:00
+++ 1.189/sql/item.h	2005-08-17 04:26:27 -04:00
@@ -591,7 +591,7 @@
   */
   void (*set_param_func)(Item_param *param, uchar **pos, ulong len);
 
-  const String *query_val_str(String *str) const;
+  const String *query_val_str(String *str, THD *thd) const;
 
   bool convert_str_value(THD *thd);
 

--- 1.76/strings/ctype-big5.c	2005-08-02 05:27:49 -04:00
+++ 1.77/strings/ctype-big5.c	2005-08-17 04:26:27 -04:00
@@ -6378,6 +6378,7 @@
     2,			/* mbmaxlen   */
     0,			/* min_sort_char */
     255,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_big5_handler,
     &my_collation_big5_chinese_ci_handler
 };
@@ -6406,6 +6407,7 @@
     2,			/* mbmaxlen   */
     0,			/* min_sort_char */
     255,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_big5_handler,
     &my_collation_mb_bin_handler
 };

--- 1.53/strings/ctype-czech.c	2005-01-13 09:11:56 -05:00
+++ 1.54/strings/ctype-czech.c	2005-08-17 04:26:28 -04:00
@@ -612,6 +612,7 @@
     1,			/* mbmaxlen  */
     0,			/* min_sort_char */
     0,			/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_8bit_handler,
     &my_collation_latin2_czech_ci_handler
 };

--- 1.59/strings/ctype-euc_kr.c	2004-09-25 06:29:11 -04:00
+++ 1.60/strings/ctype-euc_kr.c	2005-08-17 04:26:28 -04:00
@@ -8701,6 +8701,7 @@
     2,			/* mbmaxlen   */
     0,			/* min_sort_char */
     255,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_handler,
     &my_collation_ci_handler
 };
@@ -8729,6 +8730,7 @@
     2,			/* mbmaxlen   */
     0,			/* min_sort_char */
     255,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_handler,
     &my_collation_mb_bin_handler
 };

--- 1.56/strings/ctype-gb2312.c	2004-09-25 06:29:12 -04:00
+++ 1.57/strings/ctype-gb2312.c	2005-08-17 04:26:28 -04:00
@@ -5752,6 +5752,7 @@
     2,			/* mbmaxlen   */
     0,			/* min_sort_char */
     255,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_handler,
     &my_collation_ci_handler
 };
@@ -5779,6 +5780,7 @@
     2,			/* mbmaxlen   */
     0,			/* min_sort_char */
     255,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_handler,
     &my_collation_mb_bin_handler
 };

--- 1.70/strings/ctype-gbk.c	2005-07-26 07:36:25 -04:00
+++ 1.71/strings/ctype-gbk.c	2005-08-17 04:26:28 -04:00
@@ -10028,6 +10028,7 @@
     2,			/* mbmaxlen */
     0,			/* min_sort_char */
     255,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_handler,
     &my_collation_ci_handler
 };
@@ -10055,6 +10056,7 @@
     2,			/* mbmaxlen */
     0,			/* min_sort_char */
     255,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_handler,
     &my_collation_mb_bin_handler
 };

--- 1.79/strings/ctype-sjis.c	2005-07-26 07:36:31 -04:00
+++ 1.80/strings/ctype-sjis.c	2005-08-17 04:26:28 -04:00
@@ -4676,6 +4676,7 @@
     2,			/* mbmaxlen */
     0,			/* min_sort_char */
     255,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_handler,
     &my_collation_ci_handler
 };
@@ -4703,6 +4704,7 @@
     2,			/* mbmaxlen */
     0,			/* min_sort_char */
     255,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_handler,
     &my_collation_mb_bin_handler
 };

--- 1.80/strings/ctype-tis620.c	2005-02-01 09:27:03 -05:00
+++ 1.81/strings/ctype-tis620.c	2005-08-17 04:26:28 -04:00
@@ -975,6 +975,7 @@
     1,			/* mbmaxlen  */
     0,			/* min_sort_char */
     0,			/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_handler,
     &my_collation_ci_handler
 };
@@ -1002,6 +1003,7 @@
     1,			/* mbmaxlen  */
     0,			/* min_sort_char */
     0,			/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_handler,
     &my_collation_8bit_bin_handler
 };

--- 1.63/strings/ctype-ujis.c	2005-07-26 07:36:40 -04:00
+++ 1.64/strings/ctype-ujis.c	2005-08-17 04:26:29 -04:00
@@ -8571,6 +8571,7 @@
     3,			/* mbmaxlen     */
     0,			/* min_sort_char */
     255,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_handler,
     &my_collation_ci_handler
 };
@@ -8599,6 +8600,7 @@
     3,			/* mbmaxlen     */
     0,			/* min_sort_char */
     255,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_handler,
     &my_collation_mb_bin_handler
 };

--- 1.30/strings/ctype-uca.c	2005-04-04 08:53:50 -04:00
+++ 1.31/strings/ctype-uca.c	2005-08-17 04:26:29 -04:00
@@ -8044,6 +8044,7 @@
     2,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_ucs2_handler,
     &my_collation_ucs2_uca_handler
 };
@@ -8071,6 +8072,7 @@
     2,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_ucs2_handler,
     &my_collation_ucs2_uca_handler
 };
@@ -8098,6 +8100,7 @@
     2,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_ucs2_handler,
     &my_collation_ucs2_uca_handler
 };
@@ -8125,6 +8128,7 @@
     2,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_ucs2_handler,
     &my_collation_ucs2_uca_handler
 };
@@ -8152,6 +8156,7 @@
     2,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_ucs2_handler,
     &my_collation_ucs2_uca_handler
 };
@@ -8179,6 +8184,7 @@
     2,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_ucs2_handler,
     &my_collation_ucs2_uca_handler
 };
@@ -8206,6 +8212,7 @@
     2,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_ucs2_handler,
     &my_collation_ucs2_uca_handler
 };
@@ -8233,6 +8240,7 @@
     2,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_ucs2_handler,
     &my_collation_ucs2_uca_handler
 };
@@ -8260,6 +8268,7 @@
     2,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_ucs2_handler,
     &my_collation_ucs2_uca_handler
 };
@@ -8287,6 +8296,7 @@
     2,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_ucs2_handler,
     &my_collation_ucs2_uca_handler
 };
@@ -8314,6 +8324,7 @@
     2,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_ucs2_handler,
     &my_collation_ucs2_uca_handler
 };
@@ -8342,6 +8353,7 @@
     2,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_ucs2_handler,
     &my_collation_ucs2_uca_handler
 };
@@ -8369,6 +8381,7 @@
     2,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_ucs2_handler,
     &my_collation_ucs2_uca_handler
 };
@@ -8396,6 +8409,7 @@
     2,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_ucs2_handler,
     &my_collation_ucs2_uca_handler
 };
@@ -8423,6 +8437,7 @@
     2,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_ucs2_handler,
     &my_collation_ucs2_uca_handler
 };
@@ -8451,6 +8466,7 @@
     2,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_ucs2_handler,
     &my_collation_ucs2_uca_handler
 };
@@ -8479,6 +8495,7 @@
     2,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_ucs2_handler,
     &my_collation_ucs2_uca_handler
 };
@@ -8552,6 +8569,7 @@
     3,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_utf8_handler,
     &my_collation_any_uca_handler
 };
@@ -8580,6 +8598,7 @@
     3,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_utf8_handler,
     &my_collation_any_uca_handler
 };
@@ -8607,6 +8626,7 @@
     3,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_utf8_handler,
     &my_collation_any_uca_handler
 };
@@ -8634,6 +8654,7 @@
     3,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_utf8_handler,
     &my_collation_any_uca_handler
 };
@@ -8661,6 +8682,7 @@
     3,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_utf8_handler,
     &my_collation_any_uca_handler
 };
@@ -8688,6 +8710,7 @@
     3,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_utf8_handler,
     &my_collation_any_uca_handler
 };
@@ -8715,6 +8738,7 @@
     3,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_utf8_handler,
     &my_collation_any_uca_handler
 };
@@ -8742,6 +8766,7 @@
     3,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_utf8_handler,
     &my_collation_any_uca_handler
 };
@@ -8769,6 +8794,7 @@
     3,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_utf8_handler,
     &my_collation_any_uca_handler
 };
@@ -8796,6 +8822,7 @@
     3,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_utf8_handler,
     &my_collation_any_uca_handler
 };
@@ -8823,6 +8850,7 @@
     3,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_utf8_handler,
     &my_collation_any_uca_handler
 };
@@ -8851,6 +8879,7 @@
     3,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_utf8_handler,
     &my_collation_any_uca_handler
 };
@@ -8878,6 +8907,7 @@
     3,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_utf8_handler,
     &my_collation_any_uca_handler
 };
@@ -8905,6 +8935,7 @@
     3,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_utf8_handler,
     &my_collation_any_uca_handler
 };
@@ -8932,6 +8963,7 @@
     3,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_utf8_handler,
     &my_collation_any_uca_handler
 };
@@ -8959,6 +8991,7 @@
     3,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_utf8_handler,
     &my_collation_any_uca_handler
 };
@@ -8986,6 +9019,7 @@
     3,			/* mbmaxlen     */
     9,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_utf8_handler,
     &my_collation_any_uca_handler
 };

--- 1.57/strings/ctype-bin.c	2005-02-26 09:15:01 -05:00
+++ 1.58/strings/ctype-bin.c	2005-08-17 04:26:27 -04:00
@@ -514,6 +514,7 @@
     1,				/* mbmaxlen      */
     0,				/* min_sort_char */
     255,			/* max_sort_char */
+    0,                          /* escape_with_backslash_is_dangerous */
     &my_charset_handler,
     &my_collation_binary_handler
 };

--- 1.17/strings/ctype-extra.c	2004-06-12 11:36:50 -04:00
+++ 1.18/strings/ctype-extra.c	2005-08-17 04:26:28 -04:00
@@ -40,6 +40,7 @@
     0,			/* mbmaxlen     */
     0,			/* min_sort_ord */
     0,			/* max_sort_ord */
+    0,                  /* escape_with_backslash_is_dangerous */
     NULL,		/* cset handler */
     NULL		/* coll handler */
   }

--- 1.41/strings/ctype-latin1.c	2005-07-21 07:18:16 -04:00
+++ 1.42/strings/ctype-latin1.c	2005-08-17 04:26:28 -04:00
@@ -438,6 +438,7 @@
     1,			/* mbmaxlen  */
     0,			/* min_sort_char */
     255,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_handler,
     &my_collation_8bit_simple_ci_handler
 };
@@ -722,6 +723,7 @@
   1,					/* mbmaxlen  */
   0,					/* min_sort_char */
   247,					/* max_sort_char */
+  0,                                    /* escape_with_backslash_is_dangerous */
   &my_charset_handler,
   &my_collation_german2_ci_handler
 };
@@ -750,6 +752,7 @@
   1,					/* mbmaxlen  */
   0,					/* min_sort_char */
   255,					/* max_sort_char */
+  0,                                    /* escape_with_backslash_is_dangerous */
   &my_charset_handler,
   &my_collation_8bit_bin_handler
 };

--- 1.42/strings/ctype-ucs2.c	2005-07-26 07:36:38 -04:00
+++ 1.43/strings/ctype-ucs2.c	2005-08-17 04:26:29 -04:00
@@ -1583,6 +1583,7 @@
     2,			/* mbmaxlen     */
     0,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_ucs2_handler,
     &my_collation_ucs2_general_ci_handler
 };
@@ -1610,6 +1611,7 @@
     2,			/* mbmaxlen     */
     0,			/* min_sort_char */
     0xFFFF,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_ucs2_handler,
     &my_collation_ucs2_bin_handler
 };

--- 1.87/strings/ctype-utf8.c	2005-07-26 07:36:41 -04:00
+++ 1.88/strings/ctype-utf8.c	2005-08-17 04:26:29 -04:00
@@ -2345,6 +2345,7 @@
     3,                  /* mbmaxlen     */
     0,                  /* min_sort_char */
     0xFFFF,             /* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_utf8_handler,
     &my_collation_ci_handler
 };
@@ -2373,6 +2374,7 @@
     3,                  /* mbmaxlen     */
     0,                  /* min_sort_char */
     255,                /* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_utf8_handler,
     &my_collation_mb_bin_handler
 };
@@ -2538,6 +2540,7 @@
     3,			/* mbmaxlen     */
     0,			/* min_sort_char */
     255,		/* max_sort_char */
+    0,                  /* escape_with_backslash_is_dangerous */
     &my_charset_utf8_handler,
     &my_collation_cs_handler
 };

--- 1.45/strings/ctype-win1250ch.c	2005-06-06 12:21:37 -04:00
+++ 1.46/strings/ctype-win1250ch.c	2005-08-17 04:26:29 -04:00
@@ -647,6 +647,7 @@
   1,				/* mbmaxlen  */
   0,				/* min_sort_char */
   0,				/* max_sort_char */
+  0,                            /* escape_with_backslash_is_dangerous */
   &my_charset_8bit_handler,
   &my_collation_czech_ci_handler
 };

--- 1.5/strings/ctype-cp932.c	2005-07-26 07:36:22 -04:00
+++ 1.6/strings/ctype-cp932.c	2005-08-17 04:26:27 -04:00
@@ -5520,6 +5520,7 @@
     2,			/* mbmaxlen */
     0,			/* min_sort_char */
     255,		/* max_sort_char */
+    1,                  /* escape_with_backslash_is_dangerous */
     &my_charset_handler,
     &my_collation_ci_handler
 };
@@ -5547,6 +5548,7 @@
     2,			/* mbmaxlen */
     0,			/* min_sort_char */
     255,		/* max_sort_char */
+    1,                  /* escape_with_backslash_is_dangerous */
     &my_charset_handler,
     &my_collation_mb_bin_handler
 };

--- 1.151/sql/sql_prepare.cc	2005-07-19 12:24:59 -04:00
+++ 1.152/sql/sql_prepare.cc	2005-08-17 04:26:27 -04:00
@@ -601,7 +601,7 @@
         param->set_param_func(param, &read_pos, data_end - read_pos);
       }
     }
-    res= param->query_val_str(&str);
+    res= param->query_val_str(&str, thd);
     if (param->convert_str_value(thd))
       DBUG_RETURN(1);                           /* out of memory */
 
@@ -749,7 +749,7 @@
                               client_param->buffer_length);
       }
     }
-    res= param->query_val_str(&str);
+    res= param->query_val_str(&str, thd);
     if (param->convert_str_value(thd))
       DBUG_RETURN(1);                           /* out of memory */
 
Thread
bk commit into 4.1 tree (elliot:1.2374) BUG#11338Elliot Murphy17 Aug