You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-10-31 18:30:33 +03:00
fix(rbo,QA): removed duplicated symbols
This commit is contained in:
@@ -6492,40 +6492,6 @@ int processLimitAndOffset(SELECT_LEX& select_lex, gp_walk_info& gwi, SCSEP& csep
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Loop over available indexes to find and extract corresponding EI column statistics
|
|
||||||
// for the first column of the index if any.
|
|
||||||
// Statistics is stored in GWI context.
|
|
||||||
// Mock for ES 10.6
|
|
||||||
#if MYSQL_VERSION_ID >= 110408
|
|
||||||
void extractColumnStatistics(Item_field* ifp, gp_walk_info& gwi)
|
|
||||||
{
|
|
||||||
for (uint j = 0; j < ifp->field->table->s->keys; j++)
|
|
||||||
{
|
|
||||||
for (uint i = 0; i < ifp->field->table->s->key_info[j].usable_key_parts; i++)
|
|
||||||
{
|
|
||||||
if (ifp->field->table->s->key_info[j].key_part[i].fieldnr == ifp->field->field_index + 1)
|
|
||||||
{
|
|
||||||
if (i == 0 && ifp->field->read_stats)
|
|
||||||
{
|
|
||||||
assert(ifp->field->table->s);
|
|
||||||
auto* histogram = dynamic_cast<Histogram_json_hb*>(ifp->field->read_stats->histogram);
|
|
||||||
if (histogram)
|
|
||||||
{
|
|
||||||
SchemaAndTableName tableName = {ifp->field->table->s->db.str,
|
|
||||||
ifp->field->table->s->table_name.str};
|
|
||||||
gwi.tableStatisticsMap[tableName][ifp->field->field_name.str] = *histogram;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
void extractColumnStatistics(Item_field* /*ifp*/, gp_walk_info& /*gwi*/)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*@brief Process SELECT part of a query or sub-query */
|
/*@brief Process SELECT part of a query or sub-query */
|
||||||
/***********************************************************
|
/***********************************************************
|
||||||
* DESCRIPTION:
|
* DESCRIPTION:
|
||||||
|
|||||||
@@ -141,18 +141,6 @@ void gp_walk_info::mergeTableStatistics(const TableStatisticsMap& aTableStatisti
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<ColumnStatisticsMap> gp_walk_info::findStatisticsForATable(
|
|
||||||
SchemaAndTableName& schemaAndTableName)
|
|
||||||
{
|
|
||||||
auto tableStatisticsMapIt = tableStatisticsMap.find(schemaAndTableName);
|
|
||||||
if (tableStatisticsMapIt == tableStatisticsMap.end())
|
|
||||||
{
|
|
||||||
return std::nullopt;
|
|
||||||
}
|
|
||||||
|
|
||||||
return {tableStatisticsMapIt->second};
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace cal_impl_if
|
} // namespace cal_impl_if
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
|
|||||||
@@ -123,7 +123,6 @@ using ColumnName = std::string;
|
|||||||
using ColumnStatisticsMap =
|
using ColumnStatisticsMap =
|
||||||
std::unordered_map<ColumnName, std::pair<execplan::SimpleColumn, std::vector<Histogram_json_hb*>>>;
|
std::unordered_map<ColumnName, std::pair<execplan::SimpleColumn, std::vector<Histogram_json_hb*>>>;
|
||||||
using TableStatisticsMap =
|
using TableStatisticsMap =
|
||||||
|
|
||||||
std::unordered_map<SchemaAndTableName, ColumnStatisticsMap, SchemaAndTableNameHash>;
|
std::unordered_map<SchemaAndTableName, ColumnStatisticsMap, SchemaAndTableNameHash>;
|
||||||
|
|
||||||
// This structure is used to store MDB AST -> CSEP translation context.
|
// This structure is used to store MDB AST -> CSEP translation context.
|
||||||
@@ -405,9 +404,9 @@ struct cal_connection_info
|
|||||||
bool isCacheInsert;
|
bool isCacheInsert;
|
||||||
std::string extendedStats;
|
std::string extendedStats;
|
||||||
std::string miniStats;
|
std::string miniStats;
|
||||||
std::string queryPlanOriginal; // CSEP string before RBO
|
std::string queryPlanOriginal; // CSEP string before RBO
|
||||||
std::string queryPlanOptimized; // CSEP string after RBO
|
std::string queryPlanOptimized; // CSEP string after RBO
|
||||||
std::string rboAppliedRules; // Comma-separated list of applied RBO rules
|
std::string rboAppliedRules; // Comma-separated list of applied RBO rules
|
||||||
messageqcpp::MessageQueueClient* dmlProc;
|
messageqcpp::MessageQueueClient* dmlProc;
|
||||||
ha_rows rowsHaveInserted;
|
ha_rows rowsHaveInserted;
|
||||||
ColNameList colNameList;
|
ColNameList colNameList;
|
||||||
|
|||||||
Reference in New Issue
Block a user