1 # name : mysql_remove_eol_carret.patch
2 # introduced : 11 or before
6 # Any small change to this file in the main branch
7 # should be done or reviewed by the maintainer!
8 diff -ruN a/client/client_priv.h b/client/client_priv.h
9 --- a/client/client_priv.h 2010-07-06 15:06:50.000000000 -0700
10 +++ b/client/client_priv.h 2010-07-06 15:07:18.000000000 -0700
15 + OPT_NO_REMOVE_EOL_CARRET,
19 diff -ruN a/client/mysql.cc b/client/mysql.cc
20 --- a/client/mysql.cc 2010-06-03 08:50:02.000000000 -0700
21 +++ b/client/mysql.cc 2010-07-06 15:07:18.000000000 -0700
23 enum enum_info_type { INFO_INFO,INFO_ERROR,INFO_RESULT};
24 typedef enum enum_info_type INFO_TYPE;
26 +my_bool opt_no_remove_eol_carret=0;
28 static MYSQL mysql; /* The connection */
29 static my_bool ignore_errors=0,wait_flag=0,quick=0,
30 connected=0,opt_raw_data=0,unbuffered=0,output_tables=0,
31 @@ -1450,6 +1452,10 @@
32 NO_ARG, 1, 0, 0, 0, 0, 0},
33 {"skip-line-numbers", 'L', "Don't write line number for errors.", 0, 0, 0, GET_NO_ARG,
34 NO_ARG, 0, 0, 0, 0, 0, 0},
35 + {"no-remove-eol-carret", OPT_NO_REMOVE_EOL_CARRET, "Do not remove \\r before \\n in batch mode",
36 + (uchar**)&opt_no_remove_eol_carret , (uchar**)&opt_no_remove_eol_carret, 0,
38 + NO_ARG, 0, 0, 0, 0, 0, 0},
39 {"unbuffered", 'n', "Flush buffer after each query.", &unbuffered,
40 &unbuffered, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
41 {"column-names", OPT_COLUMN_NAMES, "Write column names in results.",
42 diff -ruN a/client/readline.cc b/client/readline.cc
43 --- a/client/readline.cc 2010-06-03 08:50:23.000000000 -0700
44 +++ b/client/readline.cc 2010-07-06 15:07:18.000000000 -0700
47 #include "my_readline.h"
49 +extern my_bool opt_no_remove_eol_carret;
51 static bool init_line_buffer(LINE_BUFFER *buffer,File file,ulong size,
53 static bool init_line_buffer_from_string(LINE_BUFFER *buffer,char * str);
55 if (!(pos=intern_read_line(line_buff,&out_length, truncated)))
57 if (out_length && pos[out_length-1] == '\n')
58 - if (--out_length && pos[out_length-1] == '\r') /* Remove '\n' */
59 + if (--out_length && !opt_no_remove_eol_carret && pos[out_length-1] == '\r') /* Remove '\n' */
60 out_length--; /* Remove '\r' */
61 line_buff->read_length=out_length;
63 diff -ruN a/patch_info/mysql_remove_eol_carret.patch b/patch_info/mysql_remove_eol_carret.patch
64 --- a/patch_info/mysql_remove_eol_carret.patch 1969-12-31 16:00:00.000000000 -0800
65 +++ b/patch_info/mysql_remove_eol_carret.patch 2010-07-06 15:10:10.000000000 -0700
67 +File=mysql_remove_eol_carret.patch
70 +Author=Percona <info@percona.com>
72 +Comment=Do not remove carret before eol if --no-remove-eol-carret is enabled in MySQL client.