1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-30 19:23:07 +03:00

Merge branch 'develop' into MCOL-265

This commit is contained in:
Andrew Hutchings
2019-06-10 13:58:03 +01:00
committed by GitHub
383 changed files with 2979 additions and 24713 deletions

View File

@ -44,6 +44,7 @@
#include <limits>
#include <string.h>
#include "mcsv1_udaf.h"
using namespace std;
@ -4670,7 +4671,7 @@ ReturnedColumn* buildAggregateColumn(Item* item, gp_walk_info& gwi)
if (udafc)
{
mcsv1Context& context = udafc->getContext();
mcsv1sdk::mcsv1Context& context = udafc->getContext();
context.setName(isp->func_name());
// Set up the return type defaults for the call to init()
@ -4680,8 +4681,8 @@ ReturnedColumn* buildAggregateColumn(Item* item, gp_walk_info& gwi)
context.setPrecision(udafc->resultType().precision);
context.setParamCount(udafc->aggParms().size());
ColumnDatum colType;
ColumnDatum colTypes[udafc->aggParms().size()];
mcsv1sdk::ColumnDatum colType;
mcsv1sdk::ColumnDatum colTypes[udafc->aggParms().size()];
// Build the column type vector.
// Modified for MCOL-1201 multi-argument aggregate
@ -4709,7 +4710,7 @@ ReturnedColumn* buildAggregateColumn(Item* item, gp_walk_info& gwi)
return NULL;
}
if (udaf->init(&context, colTypes) == mcsv1_UDAF::ERROR)
if (udaf->init(&context, colTypes) == mcsv1sdk::mcsv1_UDAF::ERROR)
{
gwi.fatalParseError = true;
gwi.parseErrorText = udafc->getContext().getErrorMessage();
@ -4722,7 +4723,7 @@ ReturnedColumn* buildAggregateColumn(Item* item, gp_walk_info& gwi)
// UDAF_OVER_REQUIRED means that this function is for Window
// Function only. Reject it here in aggregate land.
if (udafc->getContext().getRunFlag(UDAF_OVER_REQUIRED))
if (udafc->getContext().getRunFlag(mcsv1sdk::UDAF_OVER_REQUIRED))
{
gwi.fatalParseError = true;
gwi.parseErrorText =
@ -4745,7 +4746,7 @@ ReturnedColumn* buildAggregateColumn(Item* item, gp_walk_info& gwi)
}
}
}
catch (std::logic_error e)
catch (std::logic_error &e)
{
gwi.fatalParseError = true;
gwi.parseErrorText = "error building Aggregate Function: ";
@ -7218,7 +7219,9 @@ int getSelectPlan(gp_walk_info& gwi, SELECT_LEX& select_lex, SCSEP& csep, bool i
// for subquery, order+limit by will be supported in infinidb. build order by columns
// @todo union order by and limit support
if (gwi.hasWindowFunc || gwi.subSelectType != CalpontSelectExecutionPlan::MAIN_SELECT)
if (gwi.hasWindowFunc
|| gwi.subSelectType != CalpontSelectExecutionPlan::MAIN_SELECT
|| ( isUnion && ordercol ))
{
for (; ordercol; ordercol = ordercol->next)
{