You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-29 08:21:15 +03:00
Mcol 5074 Case with In and aggregates asserts (#2435)
* MCOL-5074 CASE with IN and aggregate asserts gwip-scsp wasn't set and buildPredicateItem() was called which assumes it is set. Added code to set properly in this case
This commit is contained in:
@ -6034,7 +6034,17 @@ void gp_walk(const Item* item, void* arg)
|
||||
operand = buildReturnedColumn(ifp->arguments()[i], *gwip, gwip->fatalParseError);
|
||||
|
||||
if (operand)
|
||||
{
|
||||
gwip->rcWorkStack.push(operand);
|
||||
if (i == 0 && gwip->scsp == NULL) // first item is the WHEN LHS
|
||||
{
|
||||
SimpleColumn* sc = dynamic_cast<SimpleColumn*>(operand);
|
||||
if (sc)
|
||||
{
|
||||
gwip->scsp.reset(sc->clone()); // We need to clone else sc gets double deleted. This code is rarely executed so the cost is acceptable.
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cando = false;
|
||||
|
@ -101,8 +101,6 @@ typedef std::tr1::unordered_map<TABLE_LIST*, uint> TableOuterJoinMap;
|
||||
|
||||
struct gp_walk_info
|
||||
{
|
||||
// MCOL-2178 Marked for removal after 1.4
|
||||
std::vector<std::string> selectCols;
|
||||
execplan::CalpontSelectExecutionPlan::ReturnedColumnList returnedCols;
|
||||
execplan::CalpontSelectExecutionPlan::ReturnedColumnList groupByCols;
|
||||
execplan::CalpontSelectExecutionPlan::ReturnedColumnList subGroupByCols;
|
||||
|
Reference in New Issue
Block a user