You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-05 16:15:50 +03:00
json_depth
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
#include "functor_json.h"
|
||||
#include "functioncolumn.h"
|
||||
#include "json_lib.h"
|
||||
using namespace execplan;
|
||||
|
||||
#include "rowgroup.h"
|
||||
@@ -276,6 +277,7 @@ string Func_json_merge_patch::getStrVal(rowgroup::Row& row, FunctionParm& fp, bo
|
||||
isNull = false;
|
||||
|
||||
json_engine_t jsEg1, jsEg2;
|
||||
int jsEg1_stack[JSON_DEPTH_LIMIT], jsEg2_stack[JSON_DEPTH_LIMIT];
|
||||
jsEg1.s.error = jsEg2.s.error = 0;
|
||||
|
||||
utils::NullString tmpJS(js);
|
||||
@@ -290,6 +292,9 @@ string Func_json_merge_patch::getStrVal(rowgroup::Row& row, FunctionParm& fp, bo
|
||||
goto next;
|
||||
}
|
||||
|
||||
mem_root_dynamic_array_init(NULL, PSI_INSTRUMENT_MEM | MY_INIT_BUFFER_USED | MY_BUFFER_NO_RESIZE,
|
||||
&jsEg2.stack, sizeof(int), &jsEg2_stack,
|
||||
JSON_DEPTH_LIMIT, 0, MYF(0));
|
||||
initJSEngine(jsEg2, getCharset(fp[i]), js2);
|
||||
|
||||
if (hasNullArg)
|
||||
@@ -304,6 +309,9 @@ string Func_json_merge_patch::getStrVal(rowgroup::Row& row, FunctionParm& fp, bo
|
||||
goto next;
|
||||
}
|
||||
|
||||
mem_root_dynamic_array_init(NULL, PSI_INSTRUMENT_MEM | MY_INIT_BUFFER_USED | MY_BUFFER_NO_RESIZE,
|
||||
&jsEg1.stack, sizeof(int), &jsEg1_stack,
|
||||
JSON_DEPTH_DEFAULT, 0, MYF(0));
|
||||
initJSEngine(jsEg1, getCharset(fp[0]), tmpJS);
|
||||
if (doMergePatch(retJS, &jsEg1, &jsEg2, isEmpty))
|
||||
{
|
||||
|
Reference in New Issue
Block a user