summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnel Husakovic <anel@mariadb.org>2019-12-05 13:23:32 +0100
committerAnel Husakovic <anel@mariadb.org>2019-12-05 13:23:36 +0100
commit649875926694d46d1163eec5c8b862c8b1d47eaa (patch)
tree13661234e88f6344ca997ab241bdd19b3cdc31e5
parentaeee0c211b1757f9b8158c7faae288b462f4aec2 (diff)
downloadmariadb-git-bb-10.3-anel-MDEV-18323.tar.gz
After review fixbb-10.3-anel-MDEV-18323
- Delete byte at the end of key/values - Add space after colon for keys and comma for values - Escaping character `'` should be ignored
-rw-r--r--mysql-test/main/mysql_type_mysql_json.resultbin9218 -> 9175 bytes
-rw-r--r--mysql-test/main/mysql_type_mysql_json_big.resultbin132410 -> 132408 bytes
-rw-r--r--sql/mysql_json.cc15
3 files changed, 6 insertions, 9 deletions
diff --git a/mysql-test/main/mysql_type_mysql_json.result b/mysql-test/main/mysql_type_mysql_json.result
index 894aece18e9..d2af3194c92 100644
--- a/mysql-test/main/mysql_type_mysql_json.result
+++ b/mysql-test/main/mysql_type_mysql_json.result
Binary files differ
diff --git a/mysql-test/main/mysql_type_mysql_json_big.result b/mysql-test/main/mysql_type_mysql_json_big.result
index 9f5d07c603e..7761491f36f 100644
--- a/mysql-test/main/mysql_type_mysql_json_big.result
+++ b/mysql-test/main/mysql_type_mysql_json_big.result
Binary files differ
diff --git a/sql/mysql_json.cc b/sql/mysql_json.cc
index 3bb7f8dcfea..776135254cf 100644
--- a/sql/mysql_json.cc
+++ b/sql/mysql_json.cc
@@ -156,9 +156,6 @@ static bool append_string_json(String *buffer, const char *data, size_t len)
case '\\':
buffer->append("\\\\");
break;
- case '\'':
- buffer->append("\\'");
- break;
case '\n':
buffer->append("\\n");
break;
@@ -306,7 +303,7 @@ static bool parse_mysql_scalar(String* buffer, size_t value_json_type,
delete[] value_element;
return true;
}
- if (append_string_json(buffer, value_element, value_length + 1))
+ if (append_string_json(buffer, value_element, value_length))
{
delete[] value_element;
return true;
@@ -400,7 +397,7 @@ static bool parse_mysql_scalar(String* buffer, size_t value_json_type,
{
if (buffer->append('"'))
return true;
- if (buffer->append("base64:type") || buffer->append(':'))
+ if (buffer->append("base64:type") || buffer->append(": "))
return true;
size_t pos= buffer->length();
@@ -498,7 +495,7 @@ static bool parse_array_or_object(String *buffer, Field_mysql_json::enum_type t,
delete[] key_element;
return true;
}
- if (append_string_json(buffer, key_element, key_json_len + 1))
+ if (append_string_json(buffer, key_element, key_json_len))
{
delete[] key_element;
return true;
@@ -507,7 +504,7 @@ static bool parse_array_or_object(String *buffer, Field_mysql_json::enum_type t,
if (buffer->append('"'))
return true;
- if (buffer->append(':'))
+ if (buffer->append(": "))
return true;
value_type_offset= 2 * offset_size +
@@ -538,7 +535,7 @@ static bool parse_array_or_object(String *buffer, Field_mysql_json::enum_type t,
}
if (!(i == (element_count - 1)))
{
- buffer->append(',');
+ buffer->append(", ");
}
} // end object
@@ -571,7 +568,7 @@ static bool parse_array_or_object(String *buffer, Field_mysql_json::enum_type t,
if(!(i==(element_count-1)))
{
- buffer->append(',');
+ buffer->append(", ");
}
} // end array
} // end for