OmniSciDB
a5dc49c757
|
#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/ExpressionRange.h"
#include "QueryEngine/InputMetadata.h"
#include "QueryEngine/JoinHashTable/HashTable.h"
#include "QueryEngine/JoinHashTable/Runtime/HashJoinRuntime.h"
#include "Shared/DbObjectKeys.h"
#include "StringOps/StringOpInfo.h"
Go to the source code of this file.
Classes | |
class | JoinHashTableTooBig |
class | TooManyHashEntries |
class | TableMustBeReplicated |
class | HashJoinFail |
class | NeedsOneToManyHash |
class | FailedToFetchColumn |
class | FailedToJoinOnVirtualColumn |
class | TooBigHashTableForBoundingBoxIntersect |
struct | ColumnsForDevice |
struct | HashJoinMatchingSet |
struct | CompositeKeyInfo |
class | HashJoin |
Typedefs | |
using | InnerOuter = std::pair< const Analyzer::ColumnVar *, const Analyzer::Expr * > |
using | InnerOuterStringOpInfos = std::pair< std::vector< StringOps_Namespace::StringOpInfo >, std::vector< StringOps_Namespace::StringOpInfo >> |
Enumerations | |
enum | InnerQualDecision { InnerQualDecision::IGNORE = 0, InnerQualDecision::UNKNOWN, InnerQualDecision::LHS, InnerQualDecision::RHS } |
Functions | |
std::ostream & | operator<< (std::ostream &os, InnerQualDecision const decision) |
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::ostream & | operator<< (std::ostream &os, const std::vector< InnerOuterStringOpInfos > &inner_outer_string_op_infos_pairs) |
std::string | toString (const InnerOuterStringOpInfos &inner_outer_string_op_infos) |
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) |
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) |
using InnerOuter = std::pair<const Analyzer::ColumnVar*, const Analyzer::Expr*> |
Definition at line 105 of file HashJoin.h.
using InnerOuterStringOpInfos = std::pair<std::vector<StringOps_Namespace::StringOpInfo>, std::vector<StringOps_Namespace::StringOpInfo>> |
Definition at line 107 of file HashJoin.h.
|
strong |
Enumerator | |
---|---|
IGNORE | |
UNKNOWN | |
LHS | |
RHS |
Definition at line 61 of file HashJoin.h.
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().
size_t get_shard_count | ( | std::pair< const Analyzer::ColumnVar *, const Analyzer::Expr * > | equi_pair, |
const Executor * | executor | ||
) |
Definition at line 115 of file PerfectJoinHashTable.cpp.
References CHECK, Catalog_Namespace::get_metadata_for_table(), and anonymous_namespace{PerfectJoinHashTable.cpp}::shard_count_less_or_equal_device_count().
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().
|
inline |
Definition at line 64 of file HashJoin.h.
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.
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.