OmniSciDB
a5dc49c757
|
#include "RelAlgExecutor.h"
#include "DataMgr/ForeignStorage/ForeignStorageException.h"
#include "DataMgr/ForeignStorage/FsiChunkUtils.h"
#include "Fragmenter/InsertDataLoader.h"
#include "Parser/ParserNode.h"
#include "QueryEngine/CalciteDeserializerUtils.h"
#include "QueryEngine/CardinalityEstimator.h"
#include "QueryEngine/ColumnFetcher.h"
#include "QueryEngine/EquiJoinCondition.h"
#include "QueryEngine/ErrorHandling.h"
#include "QueryEngine/ExpressionRewrite.h"
#include "QueryEngine/ExtensionFunctionsBinding.h"
#include "QueryEngine/ExternalExecutor.h"
#include "QueryEngine/FromTableReordering.h"
#include "QueryEngine/QueryPhysicalInputsCollector.h"
#include "QueryEngine/QueryPlanDagExtractor.h"
#include "QueryEngine/RangeTableIndexVisitor.h"
#include "QueryEngine/RelAlgDag.h"
#include "QueryEngine/RelAlgTranslator.h"
#include "QueryEngine/RelAlgVisitor.h"
#include "QueryEngine/ResultSetBuilder.h"
#include "QueryEngine/RexVisitor.h"
#include "QueryEngine/TableOptimizer.h"
#include "QueryEngine/Visitors/RelAlgDagViewer.h"
#include "QueryEngine/WindowContext.h"
#include "Shared/TypedDataAccessors.h"
#include "Shared/measure.h"
#include "Shared/misc.h"
#include "Shared/shard_key.h"
#include <boost/algorithm/cxx11/any_of.hpp>
#include <boost/range/adaptor/reversed.hpp>
#include <algorithm>
#include <functional>
#include <numeric>
Go to the source code of this file.
Namespaces | |
anonymous_namespace{RelAlgExecutor.cpp} | |
anonymous_namespace{RelAlgExecutor.cpp}::anonymous_namespace{RelAlgExecutor.cpp} | |
Variables | |
bool | g_skip_intermediate_count {true} |
bool | g_enable_interop {false} |
bool | g_enable_union {true} |
size_t | g_estimator_failure_max_groupby_size {256000000} |
double | g_ndv_groups_estimator_multiplier {2.0} |
bool | g_columnar_large_projections {true} |
size_t | g_columnar_large_projections_threshold {1000000} |
bool | g_enable_watchdog |
size_t | g_watchdog_none_encoded_string_translation_limit |
size_t | g_preflight_count_query_threshold |
bool | g_enable_bump_allocator |
size_t | g_default_max_groups_buffer_entry_guess |
bool | g_enable_system_tables |
void build_render_targets | ( | RenderInfo & | render_info, |
const std::vector< Analyzer::Expr * > & | work_unit_target_exprs, | ||
const std::vector< TargetMetaInfo > & | targets_meta | ||
) |
Definition at line 226 of file RelAlgExecutor.cpp.
References CHECK_EQ, and RenderInfo::targets.
Referenced by RelAlgExecutor::executeRelAlgStep(), RelAlgExecutor::executeSort(), and RelAlgExecutor::executeWorkUnit().
TextEncodingCastCounts get_text_cast_counts | ( | const RelAlgExecutionUnit & | ra_exe_unit | ) |
Definition at line 406 of file RelAlgExecutor.cpp.
References RelAlgExecutionUnit::groupby_exprs, RelAlgExecutionUnit::join_quals, RelAlgExecutionUnit::quals, RelAlgExecutionUnit::simple_quals, RelAlgExecutionUnit::target_exprs, TextEncodingCastCounts::text_decoding_casts, TextEncodingCastCounts::text_encoding_casts, and ScalarExprVisitor< T >::visit().
Referenced by anonymous_namespace{RelAlgExecutor.cpp}::check_none_encoded_string_cast_tuple_limit().
bool is_validate_or_explain_query | ( | const ExecutionOptions & | eo | ) |
Definition at line 239 of file RelAlgExecutor.cpp.
References ExecutionOptions::just_calcite_explain, ExecutionOptions::just_explain, and ExecutionOptions::just_validate.
Referenced by RelAlgExecutor::canUseResultsetCache(), RelAlgExecutor::executeTableFunction(), and RelAlgExecutor::executeWorkUnit().
bool isGeometry | ( | TargetMetaInfo const & | target_meta_info | ) |
Definition at line 2731 of file RelAlgExecutor.cpp.
References TargetMetaInfo::get_type_info(), and SQLTypeInfo::is_geometry().
Referenced by RelAlgExecutor::executeUnion().
bool sameTypeInfo | ( | std::vector< TargetMetaInfo > const & | lhs, |
std::vector< TargetMetaInfo > const & | rhs | ||
) |
Definition at line 2718 of file RelAlgExecutor.cpp.
bool g_columnar_large_projections {true} |
Definition at line 59 of file RelAlgExecutor.cpp.
Referenced by CommandLineOptions::fillDeveloperOptions(), and anonymous_namespace{RelAlgExecutor.cpp}::should_output_columnar().
size_t g_columnar_large_projections_threshold {1000000} |
Definition at line 60 of file RelAlgExecutor.cpp.
Referenced by RelAlgExecutor::executeWorkUnit(), CommandLineOptions::fillDeveloperOptions(), and anonymous_namespace{RelAlgExecutor.cpp}::should_output_columnar().
size_t g_default_max_groups_buffer_entry_guess |
Definition at line 118 of file Execute.cpp.
Referenced by RelAlgExecutor::createAggregateWorkUnit(), RelAlgExecutor::createCompoundWorkUnit(), RelAlgExecutor::createFilterWorkUnit(), RelAlgExecutor::createProjectWorkUnit(), RelAlgExecutor::createSortInputWorkUnit(), and RelAlgExecutor::createUnionWorkUnit().
bool g_enable_bump_allocator |
Definition at line 132 of file Execute.cpp.
bool g_enable_interop {false} |
Definition at line 55 of file RelAlgExecutor.cpp.
Referenced by RelAlgExecutor::executeRelAlgSeq(), and CommandLineOptions::fillOptions().
bool g_enable_system_tables |
Definition at line 64 of file SysCatalog.cpp.
bool g_enable_union {true} |
Definition at line 56 of file RelAlgExecutor.cpp.
Referenced by CommandLineOptions::fillOptions(), CommandLineOptions::parse_command_line(), and RelLogicalUnion::RelLogicalUnion().
bool g_enable_watchdog |
Referenced by anonymous_namespace{RelAlgExecutor.cpp}::check_none_encoded_string_cast_tuple_limit(), CodeGenerator::codegen(), CodeGenerator::codegenQualifierCmp(), Parser::create_stmt_for_query(), QueryRunner::QueryRunner::createStatement(), ShowCreateTableCommand::execute(), Parser::CreateViewStmt::execute(), DBHandler::execute_rel_alg(), anonymous_namespace{RelAlgTranslator.cpp}::fill_dictionary_encoded_in_vals(), anonymous_namespace{RelAlgTranslator.cpp}::fill_integer_in_vals(), anonymous_namespace{RelAlgTranslator.cpp}::get_in_values_expr(), Parser::LocalQueryConnector::getOuterFragmentCount(), QueryRunner::QueryRunner::getParsedGlobalQueryHints(), QueryRunner::QueryRunner::getParsedQueryHint(), QueryRunner::QueryRunner::getParsedQueryHints(), QueryRunner::QueryRunner::getQueryInfoForDataRecyclerTest(), QueryRunner::QueryRunner::getRaExecutionSequence(), QueryRunner::QueryRunner::getRelAlgDag(), QueryRunner::QueryRunner::getRelAlgTranslator(), QueryRunner::QueryRunner::getRootNodeFromParsedQuery(), RelAlgExecutor::handleOutOfMemoryRetry(), anonymous_namespace{GroupByAndAggregate.cpp}::init_count_distinct_descriptors(), GroupByAndAggregate::initQueryMemoryDescriptorImpl(), CommandLineOptions::parse_command_line(), DBHandler::processCalciteRequest(), RelAlgDag::registerQueryHints(), QueryRunner::anonymous_namespace{QueryRunner.cpp}::run_select_query_with_filter_push_down(), QueryRunner::QueryRunner::runDDLStatement(), QueryRunner::QueryRunner::runSelectQuery(), QueryRunner::QueryRunner::runSQLWithAllowingInterrupt(), ResultSet::sort(), RelAlgTranslator::translateInOper(), and QueryRunner::QueryRunner::validateDDLStatement().
size_t g_estimator_failure_max_groupby_size {256000000} |
Definition at line 57 of file RelAlgExecutor.cpp.
Referenced by RelAlgExecutor::executeWorkUnit(), and CommandLineOptions::fillDeveloperOptions().
double g_ndv_groups_estimator_multiplier {2.0} |
Definition at line 58 of file RelAlgExecutor.cpp.
Referenced by RelAlgExecutor::executeWorkUnit(), CommandLineOptions::fillDeveloperOptions(), and CommandLineOptions::validate().
size_t g_preflight_count_query_threshold |
Definition at line 84 of file Execute.cpp.
bool g_skip_intermediate_count {true} |
Definition at line 54 of file RelAlgExecutor.cpp.
Referenced by RelAlgExecutor::executeRelAlgStep(), and CommandLineOptions::fillDeveloperOptions().
size_t g_watchdog_none_encoded_string_translation_limit |
Definition at line 82 of file Execute.cpp.