OmniSciDB
0264ff685a
|
#include <llvm/IR/Value.h>
#include <cstdint>
#include <set>
#include <string>
#include "Analyzer/Analyzer.h"
#include "DataMgr/Allocators/ThrustAllocator.h"
#include "QueryEngine/ColumnarResults.h"
#include "QueryEngine/CompilationOptions.h"
#include "QueryEngine/Descriptors/RowSetMemoryOwner.h"
#include "QueryEngine/JoinHashTable/HashTable.h"
#include "QueryEngine/JoinHashTable/Runtime/HashJoinRuntime.h"
Go to the source code of this file.
Classes | |
class | TooManyHashEntries |
class | TableMustBeReplicated |
class | HashJoinFail |
class | NeedsOneToManyHash |
class | FailedToFetchColumn |
class | FailedToJoinOnVirtualColumn |
struct | ColumnsForDevice |
struct | HashJoinMatchingSet |
struct | CompositeKeyInfo |
class | HashJoin |
Typedefs | |
using | InnerOuter = std::pair< const Analyzer::ColumnVar *, const Analyzer::Expr * > |
Functions | |
std::ostream & | operator<< (std::ostream &os, const DecodedJoinHashBufferEntry &e) |
std::ostream & | operator<< (std::ostream &os, const DecodedJoinHashBufferSet &s) |
std::shared_ptr< Analyzer::ColumnVar > | getSyntheticColumnVar (std::string_view table, std::string_view column, int rte_idx, Executor *executor) |
size_t | get_shard_count (const Analyzer::BinOper *join_condition, const Executor *executor) |
size_t | get_shard_count (std::pair< const Analyzer::ColumnVar *, const Analyzer::Expr *> equi_pair, const Executor *executor) |
InnerOuter | normalize_column_pair (const Analyzer::Expr *lhs, const Analyzer::Expr *rhs, const Catalog_Namespace::Catalog &cat, const TemporaryTables *temporary_tables, const bool is_overlaps_join=false) |
std::vector< InnerOuter > | normalize_column_pairs (const Analyzer::BinOper *condition, const Catalog_Namespace::Catalog &cat, const TemporaryTables *temporary_tables) |
using InnerOuter = std::pair<const Analyzer::ColumnVar*, const Analyzer::Expr*> |
Definition at line 82 of file HashJoin.h.
size_t get_shard_count | ( | const Analyzer::BinOper * | join_condition, |
const Executor * | executor | ||
) |
Definition at line 533 of file HashJoin.cpp.
References anonymous_namespace{HashJoin.cpp}::get_cols(), and get_shard_count().
Referenced by get_shard_count(), BaselineJoinHashTable::getShardCountForCondition(), and Executor::skipFragmentPair().
size_t get_shard_count | ( | std::pair< const Analyzer::ColumnVar *, const Analyzer::Expr *> | equi_pair, |
const Executor * | executor | ||
) |
Definition at line 110 of file PerfectJoinHashTable.cpp.
References CHECK, and anonymous_namespace{PerfectJoinHashTable.cpp}::shard_count_less_or_equal_device_count().
Referenced by PerfectJoinHashTable::reify(), and PerfectJoinHashTable::shardCount().
std::shared_ptr<Analyzer::ColumnVar> getSyntheticColumnVar | ( | std::string_view | table, |
std::string_view | column, | ||
int | rte_idx, | ||
Executor * | executor | ||
) |
Definition at line 336 of file HashJoin.cpp.
References CHECK, kLINESTRING, kMULTIPOLYGON, kPOINT, and kPOLYGON.
Referenced by HashJoin::getSyntheticInstance().
InnerOuter normalize_column_pair | ( | const Analyzer::Expr * | lhs, |
const Analyzer::Expr * | rhs, | ||
const Catalog_Namespace::Catalog & | cat, | ||
const TemporaryTables * | temporary_tables, | ||
const bool | is_overlaps_join = false |
||
) |
Definition at line 550 of file HashJoin.cpp.
References cat(), get_column_descriptor_maybe(), get_column_type(), Analyzer::Expr::get_type_info(), kCAST, kENCODING_DICT, kPOINT, gpu_enabled::swap(), and ScalarExprVisitor< T >::visit().
Referenced by anonymous_namespace{PerfectJoinHashTable.cpp}::get_cols(), anonymous_namespace{HashJoin.cpp}::get_cols(), and normalize_column_pairs().
std::vector<InnerOuter> normalize_column_pairs | ( | const Analyzer::BinOper * | condition, |
const Catalog_Namespace::Catalog & | cat, | ||
const TemporaryTables * | temporary_tables | ||
) |
Definition at line 684 of file HashJoin.cpp.
References cat(), CHECK, CHECK_EQ, Analyzer::BinOper::get_left_operand(), Analyzer::BinOper::get_right_operand(), Analyzer::BinOper::is_overlaps_oper(), normalize_column_pair(), and run_benchmark_import::result.
Referenced by anonymous_namespace{FromTableReordering.cpp}::get_join_qual_cost(), OverlapsJoinHashTable::getInstance(), BaselineJoinHashTable::getInstance(), and Executor::skipFragmentPair().
std::ostream& operator<< | ( | std::ostream & | os, |
const DecodedJoinHashBufferEntry & | e | ||
) |
Definition at line 102 of file HashJoin.cpp.
References DecodedJoinHashBufferEntry::key, and DecodedJoinHashBufferEntry::payload.
std::ostream& operator<< | ( | std::ostream & | os, |
const DecodedJoinHashBufferSet & | s | ||
) |
Definition at line 128 of file HashJoin.cpp.