diff --git a/CMakeLists.txt b/CMakeLists.txt index 30eb38f6c..e5e96dbeb 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -155,7 +155,7 @@ SET (ENGINE_TOOLSDIR "${INSTALL_ENGINE}/tools") SET (ENGINE_COMMON_LIBS messageqcpp loggingcpp configcpp idbboot ${Boost_LIBRARIES} xml2 pthread rt libmysql_client) SET (ENGINE_OAM_LIBS oamcpp alarmmanager) SET (ENGINE_BRM_LIBS brm idbdatafile cacheutils rwlock ${ENGINE_OAM_LIBS} ${ENGINE_COMMON_LIBS}) -SET (ENGINE_EXEC_LIBS joblist execplan windowfunction joiner rowgroup funcexp udfsdk dataconvert common compress querystats querytele thrift threadpool ${ENGINE_BRM_LIBS}) +SET (ENGINE_EXEC_LIBS joblist execplan windowfunction joiner rowgroup funcexp udfsdk regr dataconvert common compress querystats querytele thrift threadpool ${ENGINE_BRM_LIBS}) SET (ENGINE_WRITE_LIBS ddlpackageproc ddlpackage dmlpackageproc dmlpackage writeengine writeengineclient idbdatafile cacheutils ${ENGINE_EXEC_LIBS}) SET (ENGINE_COMMON_LDFLAGS "") diff --git a/dbcon/joblist/tupleaggregatestep.cpp b/dbcon/joblist/tupleaggregatestep.cpp index 429d5821d..97a577f4f 100644 --- a/dbcon/joblist/tupleaggregatestep.cpp +++ b/dbcon/joblist/tupleaggregatestep.cpp @@ -3876,6 +3876,7 @@ void TupleAggregateStep::prep2PhasesDistinctAggregate( // column index for PM aggregate rowgroup uint64_t colAggPm = 0; + uint64_t multiParm = 0; // for groupby column for (uint64_t i = 0; i < jobInfo.groupByColVec.size(); i++) @@ -4027,7 +4028,7 @@ void TupleAggregateStep::prep2PhasesDistinctAggregate( continue; functionVecPm.push_back(funct); - aggFuncMap.insert(make_pair(boost::make_tuple(aggKey, aggOp, pUDAFFunc), colAggPm)); + aggFuncMap.insert(make_pair(boost::make_tuple(aggKey, aggOp, pUDAFFunc), colAggPm-multiParm)); switch (aggOp) { @@ -4247,7 +4248,8 @@ void TupleAggregateStep::prep2PhasesDistinctAggregate( typeAggPm.push_back(typeProj[colProj]); widthAggPm.push_back(width[colProj]); multiParmIndexes.push_back(colAggPm); - colAggPm++; + ++colAggPm; + ++multiParm; // If the param is const if (udafc) { @@ -4414,7 +4416,7 @@ void TupleAggregateStep::prep2PhasesDistinctAggregate( if (it != aggFuncMap.end()) { - colUm = it->second - multiParms; + colUm = it->second; } } @@ -4517,14 +4519,13 @@ void TupleAggregateStep::prep2PhasesDistinctAggregate( if (it != aggFuncMap.end()) { - colUm = it->second - multiParms; + colUm = it->second; oidsAggDist.push_back(oidsAggUm[colUm]); keysAggDist.push_back(keysAggUm[colUm]); scaleAggDist.push_back(scaleAggUm[colUm]); precisionAggDist.push_back(precisionAggUm[colUm]); typeAggDist.push_back(typeAggUm[colUm]); widthAggDist.push_back(widthAggUm[colUm]); - colUm -= multiParms; } // not a direct hit -- a returned column is not already in the RG from PMs @@ -4542,7 +4543,7 @@ void TupleAggregateStep::prep2PhasesDistinctAggregate( // false alarm returnColMissing = false; - colUm = it->second - multiParms; + colUm = it->second; if (aggOp == ROWAGG_SUM) { diff --git a/oam/install_scripts/post-mysql-install b/oam/install_scripts/post-mysql-install index 24711b048..421d5b77f 100755 --- a/oam/install_scripts/post-mysql-install +++ b/oam/install_scripts/post-mysql-install @@ -72,9 +72,11 @@ fi if [ -f $installdir/lib/libcalmysql.so.1.0.0 ]; then libcalmysql=$installdir/lib/libcalmysql.so.1.0.0 libudfsdk=$installdir/lib/libudf_mysql.so.1.0.0 + libregrsdk=$installdir/lib/libregr_mysql.so.1.0.0 elif [ -f $installdir/lib/libcalmysql.so.1 ]; then libcalmysql=$installdir/lib/libcalmysql.so.1 libudfsdk=$installdir/lib/libudf_mysql.so.1 + libregrsdk=$installdir/lib/libregr_mysql.so.1 else libcalmysql= fi @@ -84,6 +86,7 @@ if [ -d $installdir/mysql/lib64/mysql/plugin -a -n "$libcalmysql" ]; then ln -sf $libcalmysql libcalmysql.so ln -sf $libcalmysql libcalmysqlent.so ln -sf $libudfsdk libudf_mysql.so + ln -sf $libregrsdk libregr_mysql.so fi if [ $installdir != "/usr/local/mariadb/columnstore" ]; then diff --git a/oam/install_scripts/post-mysqld-install b/oam/install_scripts/post-mysqld-install index 58f2b3d65..e712b2813 100755 --- a/oam/install_scripts/post-mysqld-install +++ b/oam/install_scripts/post-mysqld-install @@ -83,6 +83,7 @@ chown -R $user.$user $installdir/mysql if [ -f $installdir/lib/libcalmysql.so.1.0.0 ]; then libcalmysql=$installdir/lib/libcalmysql.so.1.0.0 libudfsdk=$installdir/lib/libudf_mysql.so.1.0.0 + libregrsdk=$installdir/lib/libregr_mysql.so.1.0.0 is_columnstore_tables=$installdir/lib/is_columnstore_tables.so.1.0.0 is_columnstore_columns=$installdir/lib/is_columnstore_columns.so.1.0.0 is_columnstore_extents=$installdir/lib/is_columnstore_extents.so.1.0.0 @@ -90,6 +91,7 @@ if [ -f $installdir/lib/libcalmysql.so.1.0.0 ]; then elif [ -f $installdir/lib/libcalmysql.so.1 ]; then libcalmysql=$installdir/lib/libcalmysql.so.1 libudfsdk=$installdir/lib/libudf_mysql.so.1 + libregrsdk=$installdir/lib/libregr_mysql.so.1 is_columnstore_tables=$installdir/lib/is_columnstore_tables.so.1 is_columnstore_columns=$installdir/lib/is_columnstore_columns.so.1 is_columnstore_extents=$installdir/lib/is_columnstore_extents.so.1 @@ -104,6 +106,7 @@ if [ -n "$libcalmysql" ]; then ln -sf $libcalmysql libcalmysql.so ln -sf $libcalmysql libcalmysqlent.so ln -sf $libudfsdk libudf_mysql.so + ln -sf $libregrsdk libregr_mysql.so ln -sf $is_columnstore_tables is_columnstore_tables.so ln -sf $is_columnstore_columns is_columnstore_columns.so ln -sf $is_columnstore_extents is_columnstore_extents.so