package
9.0.0-alpha+incompatible
Repository: https://github.com/pingcap/tidb.git
Documentation: pkg.go.dev
# Functions
IsHashJoinV2Supported return true if hash join v2 is supported in current env.
JoinerType returns the join type of a Joiner.
NewConcurrentMapHashTable creates a concurrentMapHashTable.
NewJoinBuildWorkerV2 create a BuildWorkerV2.
NewJoiner create a joiner.
NewJoinProbe create a join probe used for hash join v2.
NewJoinRuntimeStats returns a new joinRuntimeStats.
# Constants
FixedSerializedKey mean the key has fixed length.
LeftHasNullRightHasNull means lhs is a null key, and rhs is a null key.
LeftHasNullRightNotNull means lhs is a null key, and rhs is not a null key.
LeftNotNullRightHasNull means lhs is in not a null key, and rhs is a null key.
LeftNotNullRightNotNull means lhs is in not a null key, and rhs is not a null key.
OneInt64 mean the key contains only one Int64.
Unknown for those default value.
VariableSerializedKey mean the key has variable length.
# Variables
DisableHashJoinV2 disable hash join v2, used for test.
EnableHashJoinV2 enable hash join v2, used for test.
HashJoinV2Strings is used for test.
ShardCount controls the shard maps within the concurrent map.
# Structs
BuildWorkerV1 is the build side worker in hash join.
BuildWorkerV2 is the build worker used in hash join v2.
HashContext keeps the needed hash context of a db table in hash join.
HashJoinCtxV1 is the context used in hash join.
HashJoinCtxV2 is the hash join ctx used in hash join v2.
HashJoinV1Exec implements the hash join algorithm.
HashJoinV2Exec implements the hash join algorithm.
IndexJoinLookUpContent is the content used in index lookup join.
IndexLookUpJoin employs one outer worker and N innerWorkers to execute concurrently.
IndexLookUpMergeJoin realizes IndexLookUpJoin by merge join It preserves the order of the outer table and support batch lookup.
IndexNestedLoopHashJoin employs one outer worker and N inner workers to execute concurrently.
InnerCtx is the inner side ctx used in index lookup join.
InnerMergeCtx is the inner side ctx of merge join.
MergeJoinExec implements the merge join algorithm.
MergeJoinTable is used for merge join.
NestedLoopApplyExec is the executor for apply.
OuterCtx is the outer ctx used in index lookup join.
OuterMergeCtx is the outer side ctx of merge join.
ProbeSideTupleFetcherV1 reads tuples from ProbeSideExec and send them to ProbeWorkers.
ProbeSideTupleFetcherV2 reads tuples from ProbeSideExec and send them to ProbeWorkers.
ProbeWorkerV1 is the probe side worker in hash join.
ProbeWorkerV2 is the probe worker used in hash join v2.
# Interfaces
BaseHashTable is the interface of the hash table used in hash join.
IndexJoinExecutorBuilder is the interface used by index lookup join to build the executor, this interface is added to avoid cycle import.
Joiner is used to generate join results according to the join type.
ProbeV2 is the interface used to do probe in hash join v2.
# Type aliases
IterCb :Iterator callback,called for every key,value found in maps.
NAAJType is join detail type only used by null-aware AntiLeftOuterSemiJoin.
UpsertCb : Callback to return new element to be inserted into the map It is called while lock is held, therefore it MUST NOT try to access other keys in same map, as it can lead to deadlock since Go sync.RWLock is not reentrant.