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 --- a/client/client_priv.h
9 +++ b/client/client_priv.h
14 + OPT_NO_REMOVE_EOL_CARRET,
21 enum enum_info_type { INFO_INFO,INFO_ERROR,INFO_RESULT};
22 typedef enum enum_info_type INFO_TYPE;
24 +my_bool opt_no_remove_eol_carret=0;
26 static MYSQL mysql; /* The connection */
27 static my_bool ignore_errors=0,wait_flag=0,quick=0,
28 connected=0,opt_raw_data=0,unbuffered=0,output_tables=0,
29 @@ -1454,6 +1456,10 @@
30 NO_ARG, 1, 0, 0, 0, 0, 0},
31 {"skip-line-numbers", 'L', "Don't write line number for errors.", 0, 0, 0, GET_NO_ARG,
32 NO_ARG, 0, 0, 0, 0, 0, 0},
33 + {"no-remove-eol-carret", OPT_NO_REMOVE_EOL_CARRET, "Do not remove \\r before \\n in batch mode",
34 + (uchar**)&opt_no_remove_eol_carret , (uchar**)&opt_no_remove_eol_carret, 0,
36 + NO_ARG, 0, 0, 0, 0, 0, 0},
37 {"unbuffered", 'n', "Flush buffer after each query.", &unbuffered,
38 &unbuffered, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
39 {"column-names", OPT_COLUMN_NAMES, "Write column names in results.",
40 --- a/client/readline.cc
41 +++ b/client/readline.cc
44 #include "my_readline.h"
46 +extern my_bool opt_no_remove_eol_carret;
48 static bool init_line_buffer(LINE_BUFFER *buffer,File file,ulong size,
50 static bool init_line_buffer_from_string(LINE_BUFFER *buffer,char * str);
52 if (!(pos=intern_read_line(line_buff, &out_length)))
54 if (out_length && pos[out_length-1] == '\n')
55 - if (--out_length && pos[out_length-1] == '\r') /* Remove '\n' */
56 + if (--out_length && !opt_no_remove_eol_carret && pos[out_length-1] == '\r') /* Remove '\n' */
57 out_length--; /* Remove '\r' */
58 line_buff->read_length=out_length;
61 +++ b/patch_info/mysql_remove_eol_carret.patch
63 +File=mysql_remove_eol_carret.patch
66 +Author=Percona <info@percona.com>
68 +Comment=Do not remove carret before eol if --no-remove-eol-carret is enabled in MySQL client.