OmniSciDB
a5dc49c757
|
#include "QueryEngine/JoinHashTable/HashJoin.h"
#include "QueryEngine/CodeGenerator.h"
#include "QueryEngine/ColumnFetcher.h"
#include "QueryEngine/EquiJoinCondition.h"
#include "QueryEngine/Execute.h"
#include "QueryEngine/ExpressionRewrite.h"
#include "QueryEngine/JoinHashTable/BaselineJoinHashTable.h"
#include "QueryEngine/JoinHashTable/BoundingBoxIntersectJoinHashTable.h"
#include "QueryEngine/JoinHashTable/PerfectJoinHashTable.h"
#include "QueryEngine/RangeTableIndexVisitor.h"
#include "QueryEngine/RuntimeFunctions.h"
#include "QueryEngine/ScalarExprVisitor.h"
#include <sstream>
Go to the source code of this file.
Classes | |
class | AllColumnVarsVisitor |
Namespaces | |
anonymous_namespace{HashJoin.cpp} | |
Functions | |
template<typename T > | |
std::string | anonymous_namespace{HashJoin.cpp}::toStringFlat (const HashJoin *hash_table, const ExecutorDeviceType device_type, const int device_id) |
std::ostream & | operator<< (std::ostream &os, const DecodedJoinHashBufferEntry &e) |
std::ostream & | operator<< (std::ostream &os, const DecodedJoinHashBufferSet &s) |
std::ostream & | operator<< (std::ostream &os, const InnerOuterStringOpInfos &inner_outer_string_op_infos) |
std::string | toString (const InnerOuterStringOpInfos &inner_outer_string_op_infos) |
std::ostream & | operator<< (std::ostream &os, const std::vector< InnerOuterStringOpInfos > &inner_outer_string_op_infos_pairs) |
std::string | toString (const std::vector< InnerOuterStringOpInfos > &inner_outer_string_op_infos_pairs) |
std::shared_ptr < Analyzer::ColumnVar > | getSyntheticColumnVar (std::string_view table, std::string_view column, int rte_idx, const Catalog_Namespace::Catalog &catalog) |
void | setupSyntheticCaching (std::set< const Analyzer::ColumnVar * > cvs, Executor *executor) |
std::vector< InputTableInfo > | getSyntheticInputTableInfo (std::set< const Analyzer::ColumnVar * > cvs, Executor *executor) |
InnerOuter | anonymous_namespace{HashJoin.cpp}::get_cols (const Analyzer::BinOper *qual_bin_oper, const TemporaryTables *temporary_tables) |
size_t | get_shard_count (const Analyzer::BinOper *join_condition, const Executor *executor) |
Variables | |
bool | g_enable_bbox_intersect_hashjoin |
size_t | g_num_tuple_threshold_switch_to_baseline |
size_t | g_ratio_num_hash_entry_to_num_tuple_switch_to_baseline |
size_t get_shard_count | ( | const Analyzer::BinOper * | join_condition, |
const Executor * | executor | ||
) |
Definition at line 1084 of file HashJoin.cpp.
References anonymous_namespace{HashJoin.cpp}::get_cols(), and get_shard_count().
Referenced by get_shard_count(), BaselineJoinHashTable::getShardCountForCondition(), PerfectJoinHashTable::reify(), PerfectJoinHashTable::shardCount(), and Executor::skipFragmentPair().
std::shared_ptr<Analyzer::ColumnVar> getSyntheticColumnVar | ( | std::string_view | table, |
std::string_view | column, | ||
int | rte_idx, | ||
const Catalog_Namespace::Catalog & | catalog | ||
) |
Definition at line 580 of file HashJoin.cpp.
References CHECK, Catalog_Namespace::Catalog::getDatabaseId(), Catalog_Namespace::Catalog::getMetadataForColumn(), Catalog_Namespace::Catalog::getMetadataForTable(), kLINESTRING, kMULTIPOLYGON, kPOINT, and kPOLYGON.
Referenced by HashJoin::getSyntheticInstance().
std::vector<InputTableInfo> getSyntheticInputTableInfo | ( | std::set< const Analyzer::ColumnVar * > | cvs, |
Executor * | executor | ||
) |
Definition at line 667 of file HashJoin.cpp.
References CHECK, and Catalog_Namespace::get_metadata_for_table().
Referenced by HashJoin::getSyntheticInstance().
std::ostream& operator<< | ( | std::ostream & | os, |
const DecodedJoinHashBufferEntry & | e | ||
) |
Definition at line 128 of file HashJoin.cpp.
References DecodedJoinHashBufferEntry::key, and DecodedJoinHashBufferEntry::payload.
std::ostream& operator<< | ( | std::ostream & | os, |
const DecodedJoinHashBufferSet & | s | ||
) |
Definition at line 154 of file HashJoin.cpp.
std::ostream& operator<< | ( | std::ostream & | os, |
const InnerOuterStringOpInfos & | inner_outer_string_op_infos | ||
) |
Definition at line 172 of file HashJoin.cpp.
std::ostream& operator<< | ( | std::ostream & | os, |
const std::vector< InnerOuterStringOpInfos > & | inner_outer_string_op_infos_pairs | ||
) |
Definition at line 185 of file HashJoin.cpp.
void setupSyntheticCaching | ( | std::set< const Analyzer::ColumnVar * > | cvs, |
Executor * | executor | ||
) |
Definition at line 651 of file HashJoin.cpp.
References PhysicalInput::table_id.
Referenced by HashJoin::getSyntheticInstance().
std::string toString | ( | const InnerOuterStringOpInfos & | inner_outer_string_op_infos | ) |
Definition at line 179 of file HashJoin.cpp.
std::string toString | ( | const std::vector< InnerOuterStringOpInfos > & | inner_outer_string_op_infos_pairs | ) |
Definition at line 201 of file HashJoin.cpp.
bool g_enable_bbox_intersect_hashjoin |
Definition at line 109 of file Execute.cpp.
size_t g_num_tuple_threshold_switch_to_baseline |
Definition at line 110 of file Execute.cpp.
size_t g_ratio_num_hash_entry_to_num_tuple_switch_to_baseline |
Definition at line 111 of file Execute.cpp.