OmniSciDB  1dac507f6e
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
InputMetadata.h File Reference
#include "Descriptors/InputDescriptors.h"
#include "RelAlgExecutionUnit.h"
#include <unordered_map>
+ Include dependency graph for InputMetadata.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  InputTableInfo
 
class  InputTableInfoCache
 

Namespaces

 Catalog_Namespace
 

Typedefs

using TemporaryTables = std::unordered_map< int, const ResultSetPtr & >
 

Functions

size_t get_frag_count_of_table (const int table_id, Executor *executor)
 
std::vector< InputTableInfoget_table_infos (const std::vector< InputDescriptor > &input_descs, Executor *executor)
 
std::vector< InputTableInfoget_table_infos (const RelAlgExecutionUnit &ra_exe_unit, Executor *executor)
 

Typedef Documentation

using TemporaryTables = std::unordered_map<int, const ResultSetPtr&>

Definition at line 31 of file InputMetadata.h.

Function Documentation

size_t get_frag_count_of_table ( const int  table_id,
Executor executor 
)

Definition at line 237 of file InputMetadata.cpp.

References CHECK(), and CHECK_GE.

237  {
238  const auto temporary_tables = executor->getTemporaryTables();
239  CHECK(temporary_tables);
240  auto it = temporary_tables->find(table_id);
241  if (it != temporary_tables->end()) {
242  CHECK_GE(int(0), table_id);
243  return size_t(1);
244  } else {
245  const auto table_info = executor->getTableInfo(table_id);
246  return table_info.fragments.size();
247  }
248 }
#define CHECK_GE(x, y)
Definition: Logger.h:203
CHECK(cgen_state)

+ Here is the call graph for this function:

std::vector<InputTableInfo> get_table_infos ( const std::vector< InputDescriptor > &  input_descs,
Executor executor 
)

Definition at line 250 of file InputMetadata.cpp.

References anonymous_namespace{InputMetadata.cpp}::collect_table_infos().

Referenced by RelAlgExecutor::computeWindow(), RelAlgExecutor::createCompoundWorkUnit(), RelAlgExecutor::createModifyCompoundWorkUnit(), RelAlgExecutor::createProjectWorkUnit(), RelAlgExecutor::createTableFunctionWorkUnit(), RelAlgExecutor::executeDeleteViaCompound(), RelAlgExecutor::executeDeleteViaProject(), RelAlgExecutor::executeTableFunction(), RelAlgExecutor::executeUpdateViaCompound(), RelAlgExecutor::executeUpdateViaProject(), RelAlgExecutor::executeWorkUnit(), get_table_infos(), RelAlgExecutor::getFilteredCountAll(), RelAlgExecutor::getFilterSelectivity(), RelAlgExecutor::getNDVEstimation(), RelAlgExecutor::handleOutOfMemoryRetry(), TableOptimizer::recomputeMetadata(), and RelAlgExecutor::selectFiltersToBePushedDown().

252  {
253  std::vector<InputTableInfo> table_infos;
254  collect_table_infos(table_infos, input_descs, executor);
255  return table_infos;
256 }
void collect_table_infos(std::vector< InputTableInfo > &table_infos, const std::vector< InputDescriptor > &input_descs, Executor *executor)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::vector<InputTableInfo> get_table_infos ( const RelAlgExecutionUnit ra_exe_unit,
Executor executor 
)

Definition at line 258 of file InputMetadata.cpp.

References anonymous_namespace{InputMetadata.cpp}::collect_table_infos(), get_table_infos(), INJECT_TIMER, and RelAlgExecutionUnit::input_descs.

259  {
261  std::vector<InputTableInfo> table_infos;
262  collect_table_infos(table_infos, ra_exe_unit.input_descs, executor);
263  return table_infos;
264 }
const std::vector< InputDescriptor > input_descs
#define INJECT_TIMER(DESC)
Definition: measure.h:91
std::vector< InputTableInfo > get_table_infos(const std::vector< InputDescriptor > &input_descs, Executor *executor)
void collect_table_infos(std::vector< InputTableInfo > &table_infos, const std::vector< InputDescriptor > &input_descs, Executor *executor)

+ Here is the call graph for this function: