You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-10-31 18:30:33 +03:00
MDEV-32854: Make JSON_DEPTH_LIMIT unlimited
This patch is the columnstore-part of the task. Columnstore wanted to have previous 32 depth, so this patch aims at keeping the compatibility.
This commit is contained in:
committed by
Leonid Fedorov
parent
9a2ebebaf9
commit
9fe37d5919
@@ -73,18 +73,31 @@ bool JSONPathWrapper::extract(std::string& ret, rowgroup::Row& row, execplan::SP
|
||||
if (json_path_setup(&p, getCharset(funcParamPath), (const uchar*)sjsp.str(), (const uchar*)sjsp.end()))
|
||||
return true;
|
||||
|
||||
|
||||
#if MYSQL_VERSION_ID >= 120200
|
||||
JSONEgWrapper je(getCharset(funcParamJS), reinterpret_cast<const uchar*>(js.str()),
|
||||
reinterpret_cast<const uchar*>(js.end()), je_stack);
|
||||
#else
|
||||
JSONEgWrapper je(getCharset(funcParamJS), reinterpret_cast<const uchar*>(js.str()),
|
||||
reinterpret_cast<const uchar*>(js.end()));
|
||||
#endif
|
||||
|
||||
#if MYSQL_VERSION_ID >= 120200
|
||||
currStep = reinterpret_cast<json_path_step_t*>(p.steps.buffer);
|
||||
#else
|
||||
currStep = p.steps;
|
||||
#endif
|
||||
|
||||
do
|
||||
{
|
||||
if (error)
|
||||
return true;
|
||||
|
||||
#if MYSQL_VERSION_ID >= 120200
|
||||
if (json_find_path(&je, &p, &currStep, &array))
|
||||
#else
|
||||
IntType arrayCounters[JSON_DEPTH_LIMIT];
|
||||
if (json_find_path(&je, &p, &currStep, arrayCounters))
|
||||
#endif
|
||||
return true;
|
||||
|
||||
if (json_read_value(&je))
|
||||
|
||||
Reference in New Issue
Block a user