1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00

MCOL-1196 Error when using OR in case THEN portion

In ha_calpont_execplan, Allow OR to be parsed; in searched_case parsing, reverse the order of processing arguments so that ptWorkStack.pop() is executed in the same order as the arguments being processed.

In func_case, modify to pass left and right to getBoolVal, if they exist.
This commit is contained in:
David Hall
2018-03-27 12:43:43 -05:00
parent acfddceb8a
commit 73b1ac68fa
2 changed files with 15 additions and 4 deletions

View File

@ -470,6 +470,13 @@ bool Func_searched_case::getBoolVal(Row& row,
if (isNull)
return joblist::BIGINTNULL;
ParseTree* lop = parm[i+1]->left();
ParseTree* rop = parm[i+1]->right();
if (lop && rop)
{
return (reinterpret_cast<Operator*>(parm[i+1]->data()))->getBoolVal(row, isNull, lop, rop);
}
return parm[i+1]->data()->getBoolVal(row, isNull);
}