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

Remove variable-length arrays (-Wvla)

This commit is contained in:
Alexey Antipovsky
2020-11-11 05:37:51 +00:00
parent da691f7b7a
commit b25fee320a
16 changed files with 250 additions and 135 deletions

View File

@ -86,6 +86,7 @@ using namespace execplan;
using namespace funcexp;
#include "collation.h"
#include "vlarray.h"
const uint64_t AGG_BIT = 0x01;
const uint64_t SUB_BIT = 0x02;
@ -5026,8 +5027,7 @@ ReturnedColumn* buildAggregateColumn(Item* item, gp_walk_info& gwi)
context.setPrecision(udafc->resultType().precision);
context.setParamCount(udafc->aggParms().size());
mcsv1sdk::ColumnDatum colType;
mcsv1sdk::ColumnDatum colTypes[udafc->aggParms().size()];
utils::VLArray<mcsv1sdk::ColumnDatum> colTypes(udafc->aggParms().size());
// Build the column type vector.
// Modified for MCOL-1201 multi-argument aggregate
@ -5035,11 +5035,11 @@ ReturnedColumn* buildAggregateColumn(Item* item, gp_walk_info& gwi)
{
const execplan::CalpontSystemCatalog::ColType& resultType
= udafc->aggParms()[i]->resultType();
mcsv1sdk::ColumnDatum& colType = colTypes[i];
colType.dataType = resultType.colDataType;
colType.precision = resultType.precision;
colType.scale = resultType.scale;
colType.charsetNumber = resultType.charsetNumber;
colTypes[i] = colType;
}
// Call the user supplied init()

View File

@ -49,6 +49,8 @@ using namespace funcexp;
#include "mcsv1_udaf.h"
using namespace mcsv1sdk;
#include "vlarray.h"
namespace cal_impl_if
{
@ -389,8 +391,7 @@ ReturnedColumn* buildWindowFunctionColumn(Item* item, gp_walk_info& gwi, bool& n
context.setPrecision(rt.precision);
context.setParamCount(funcParms.size());
mcsv1sdk::ColumnDatum colType;
mcsv1sdk::ColumnDatum colTypes[funcParms.size()];
utils::VLArray<mcsv1sdk::ColumnDatum> colTypes(funcParms.size());
// Turn on the Analytic flag so the function is aware it is being called
// as a Window Function.
@ -402,11 +403,11 @@ ReturnedColumn* buildWindowFunctionColumn(Item* item, gp_walk_info& gwi, bool& n
{
const execplan::CalpontSystemCatalog::ColType& resultType
= funcParms[i]->resultType();
mcsv1sdk::ColumnDatum& colType = colTypes[i];
colType.dataType = resultType.colDataType;
colType.precision = resultType.precision;
colType.scale = resultType.scale;
colType.charsetNumber = resultType.charsetNumber;
colTypes[i] = colType;
}
// Call the user supplied init()