telepath / com.github.giedomak.telepath.physicaloperators / PhysicalOperator

PhysicalOperator

interface PhysicalOperator (source)

Interface for physical operators.

Properties

cardinality

open val cardinality: Long

Delegate cardinality to the physical plan.

firstChild

open val firstChild: PhysicalOperator

The first set of data to operate on.

lastChild

open val lastChild: PhysicalOperator

The last set of data to operate on.

physicalPlan

abstract val physicalPlan: PhysicalPlan

The physical plan holds information regarding the sets on which to operate on.

Functions

cost

abstract fun cost(): Long

Calculates the cost of the physical operation.

evaluate

abstract fun evaluate(): PathStream

Evaluates the physical operator and produces a PathStream.

Companion Object Properties

HASH_JOIN

const val HASH_JOIN: Int

INDEX_LOOKUP

const val INDEX_LOOKUP: Int

JOIN_OPERATORS

val JOIN_OPERATORS: List<Int>

LEAF

const val LEAF: Int

NESTED_LOOP_JOIN

const val NESTED_LOOP_JOIN: Int

SORT_MERGE_JOIN

const val SORT_MERGE_JOIN: Int

UNION

const val UNION: Int

Companion Object Functions

getPhysicalOperator

fun getPhysicalOperator(physicalPlan: PhysicalPlan): PhysicalOperator?

Convert the operators constants to an actual PhysicalOperator instance.

Inheritors

HashJoin

class HashJoin : PhysicalOperator

Hash-join physical operator.

IndexLookup

class IndexLookup : PhysicalOperator

Physical operator to lookup paths in the kPathIndex.

NestedLoopJoin

class NestedLoopJoin : PhysicalOperator

Nested-loop-join.

SortMergeJoin

class SortMergeJoin : PhysicalOperator

Sort-merge-join.

Union

class Union : PhysicalOperator

Union physical operator.