1
0
mirror of https://github.com/MariaDB/server.git synced 2025-06-20 21:01:21 +03:00

MDEV-19860 - do not produce huge strings wtih comp_sql anymore.

Limit lines to ~16K
This commit is contained in:
Vladislav Vaintroub
2019-06-25 23:53:09 +02:00
parent 1a518aa1d2
commit 9e0ed0fabd
2 changed files with 11 additions and 2 deletions

View File

@ -74,6 +74,8 @@ char *fgets_fn(char *buffer, size_t size, fgets_input_t input, int *error)
return line;
}
#define MAX_COLUMN 16000
static void print_query(FILE *out, const char *query)
{
const char *ptr= query;
@ -82,6 +84,12 @@ static void print_query(FILE *out, const char *query)
fprintf(out, "\"");
while (*ptr)
{
if(column >= MAX_COLUMN)
{
/* Wrap to the next line, tabulated. */
fprintf(out, "\"\n \"");
column= 2;
}
switch(*ptr)
{
case '\n':
@ -97,10 +105,11 @@ static void print_query(FILE *out, const char *query)
break;
case '\"':
fprintf(out, "\\\"");
column++;
column+=2;
break;
case '\\':
fprintf(out, "\\\\");
column+=2;
break;
default:
putc(*ptr, out);