intersectall

package
v1.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 2, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Build = iota
	Probe
	End
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Argument

type Argument struct {

	// index in buckets
	IBucket uint64
	// buckets count
	NBucket uint64
	// contains filtered or unexported fields
}

func (*Argument) AppendChild added in v1.1.0

func (arg *Argument) AppendChild(child vm.Operator)

func (*Argument) Call added in v1.1.0

func (arg *Argument) Call(proc *process.Process) (vm.CallResult, error)

Call is the execute method of `intersect all` operator it built a hash table for right relation first. and use an array to record how many times each key appears in right relation. use values from left relation to probe and update the array. throw away values that do not exist in the hash table. preserve values that exist in the hash table (the minimum of the number of times that exist in either).

func (*Argument) Free

func (arg *Argument) Free(proc *process.Process, pipelineFailed bool, err error)

func (*Argument) Prepare added in v1.1.0

func (arg *Argument) Prepare(proc *process.Process) error

func (*Argument) SetInfo added in v1.1.0

func (arg *Argument) SetInfo(info *vm.OperatorInfo)

func (*Argument) String added in v1.1.0

func (arg *Argument) String(buf *bytes.Buffer)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL