Commit 35760c00 authored by Alexey Botchkov's avatar Alexey Botchkov

MDEV-11557 Port MySQL-5.7 JSON tests to MariaDB.

        more fixes.
parent 1782102d
...@@ -605,6 +605,9 @@ String *Item_func_json_extract::val_str(String *str) ...@@ -605,6 +605,9 @@ String *Item_func_json_extract::val_str(String *str)
} }
c_path->parsed= c_path->constant; c_path->parsed= c_path->constant;
} }
if (args[n_arg]->null_value)
goto return_null;
} }
possible_multiple_values= arg_count > 2 || possible_multiple_values= arg_count > 2 ||
...@@ -666,7 +669,6 @@ String *Item_func_json_extract::val_str(String *str) ...@@ -666,7 +669,6 @@ String *Item_func_json_extract::val_str(String *str)
error: error:
report_json_error(js, &je, 0); report_json_error(js, &je, 0);
return_null: return_null:
/* TODO: launch error messages. */
null_value= 1; null_value= 1;
return 0; return 0;
} }
...@@ -1958,6 +1960,9 @@ String *Item_func_json_insert::val_str(String *str) ...@@ -1958,6 +1960,9 @@ String *Item_func_json_insert::val_str(String *str)
json_scan_start(&je, js->charset(),(const uchar *) js->ptr(), json_scan_start(&je, js->charset(),(const uchar *) js->ptr(),
(const uchar *) js->ptr() + js->length()); (const uchar *) js->ptr() + js->length());
if (c_path->p.last_step < c_path->p.steps)
goto v_found;
c_path->cur_step= c_path->p.steps; c_path->cur_step= c_path->p.steps;
if (c_path->p.last_step >= c_path->p.steps && if (c_path->p.last_step >= c_path->p.steps &&
...@@ -2572,7 +2577,6 @@ String *Item_func_json_search::val_str(String *str) ...@@ -2572,7 +2577,6 @@ String *Item_func_json_search::val_str(String *str)
js_error: js_error:
report_json_error(js, &je, 0); report_json_error(js, &je, 0);
null_return: null_return:
/* TODO: launch error messages. */
null_value= 1; null_value= 1;
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment