1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-08 14:22:09 +03:00

MSan added with fixes for libc++

This commit is contained in:
Leonid Fedorov
2025-07-12 00:57:46 +00:00
parent d4d87ad07f
commit 680adce45d
122 changed files with 587 additions and 471 deletions

View File

@@ -30,19 +30,19 @@ static const int NO_WILDCARD_ALLOWED = 1;
Checks if the path has '.*' '[*]' or '**' constructions
and sets the NO_WILDCARD_ALLOWED error if the case.
*/
int setupJSPath(json_path_t* path, CHARSET_INFO* cs, const string_view& str, bool wildcards);
int setupJSPath(json_path_t* path, CHARSET_INFO* cs, const std::string_view& str, bool wildcards);
// Return true if err occur, let the outer function handle the exception
bool appendEscapedJS(string& ret, const CHARSET_INFO* retCS, const utils::NullString& js,
bool appendEscapedJS(std::string& ret, const CHARSET_INFO* retCS, const utils::NullString& js,
const CHARSET_INFO* jsCS);
bool appendJSKeyName(string& ret, const CHARSET_INFO* retCS, rowgroup::Row& row, execplan::SPTP& parm);
bool appendJSValue(string& ret, const CHARSET_INFO* retCS, rowgroup::Row& row, execplan::SPTP& parm);
bool appendJSKeyName(std::string& ret, const CHARSET_INFO* retCS, rowgroup::Row& row, execplan::SPTP& parm);
bool appendJSValue(std::string& ret, const CHARSET_INFO* retCS, rowgroup::Row& row, execplan::SPTP& parm);
static const int TAB_SIZE_LIMIT = 8;
static const char tab_arr[TAB_SIZE_LIMIT + 1] = " ";
// Format the json using format mode
int doFormat(json_engine_t* je, string& niceJS, Func_json_format::FORMATS mode, int tabSize = 4);
int doFormat(json_engine_t* je, std::string& niceJS, Func_json_format::FORMATS mode, int tabSize = 4);
static const int SHOULD_END_WITH_ARRAY = 2;
static const int TRIVIAL_PATH_NOT_ALLOWED = 3;
@@ -94,13 +94,13 @@ inline void initJSEngine(json_engine_t& jsEg, const CHARSET_INFO* jsCS, const ut
int parseJSPath(JSONPath& path, rowgroup::Row& row, execplan::SPTP& parm, bool wildcards = true);
inline void initJSPaths(vector<JSONPath>& paths, FunctionParm& fp, const int start, const int step)
inline void initJSPaths(std::vector<JSONPath>& paths, FunctionParm& fp, const int start, const int step)
{
if (paths.empty())
for (size_t i = start; i < fp.size(); i += step)
paths.emplace_back();
}
bool matchJSPath(const vector<funcexp::JSONPath>& paths, const json_path_t* p, json_value_types valType,
bool matchJSPath(const std::vector<funcexp::JSONPath>& paths, const json_path_t* p, json_value_types valType,
const int* arrayCounter = nullptr, bool exact = true);
} // namespace funcexp::helpers