MDEV-19860 - do not produce huge strings wtih comp_sql anymore.
Limit lines to ~16K
This commit is contained in:
parent
1a518aa1d2
commit
9e0ed0fabd
@ -52,7 +52,7 @@ SET(BOOTSTRAP_COMMAND
|
|||||||
--datadir=.
|
--datadir=.
|
||||||
--default-storage-engine=MyISAM
|
--default-storage-engine=MyISAM
|
||||||
--max_allowed_packet=8M
|
--max_allowed_packet=8M
|
||||||
--net_buffer_length=16K
|
--net_buffer_length=32K
|
||||||
)
|
)
|
||||||
|
|
||||||
GET_FILENAME_COMPONENT(CWD . ABSOLUTE)
|
GET_FILENAME_COMPONENT(CWD . ABSOLUTE)
|
||||||
|
@ -74,6 +74,8 @@ char *fgets_fn(char *buffer, size_t size, fgets_input_t input, int *error)
|
|||||||
return line;
|
return line;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define MAX_COLUMN 16000
|
||||||
|
|
||||||
static void print_query(FILE *out, const char *query)
|
static void print_query(FILE *out, const char *query)
|
||||||
{
|
{
|
||||||
const char *ptr= query;
|
const char *ptr= query;
|
||||||
@ -82,6 +84,12 @@ static void print_query(FILE *out, const char *query)
|
|||||||
fprintf(out, "\"");
|
fprintf(out, "\"");
|
||||||
while (*ptr)
|
while (*ptr)
|
||||||
{
|
{
|
||||||
|
if(column >= MAX_COLUMN)
|
||||||
|
{
|
||||||
|
/* Wrap to the next line, tabulated. */
|
||||||
|
fprintf(out, "\"\n \"");
|
||||||
|
column= 2;
|
||||||
|
}
|
||||||
switch(*ptr)
|
switch(*ptr)
|
||||||
{
|
{
|
||||||
case '\n':
|
case '\n':
|
||||||
@ -97,10 +105,11 @@ static void print_query(FILE *out, const char *query)
|
|||||||
break;
|
break;
|
||||||
case '\"':
|
case '\"':
|
||||||
fprintf(out, "\\\"");
|
fprintf(out, "\\\"");
|
||||||
column++;
|
column+=2;
|
||||||
break;
|
break;
|
||||||
case '\\':
|
case '\\':
|
||||||
fprintf(out, "\\\\");
|
fprintf(out, "\\\\");
|
||||||
|
column+=2;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
putc(*ptr, out);
|
putc(*ptr, out);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user