Module

x/pg_mem/transforms/join.ts>JoinSelection

An in memory postgres DB instance for your unit tests
Go to Latest
class JoinSelection
extends DataSourceBase<JoinRaw<TLeft, TRight>>
import { JoinSelection } from "https://dotland.deno.dev/x/pg_mem@2.6.3/transforms/join.ts";

Constructors

new
JoinSelection(
restrictive: _ISelection<TLeft>,
innerJoin: boolean,
)

Type Parameters

optional
TLeft = any
optional
TRight = any

Properties

private
_columns: IValue<any>[]
private
building: boolean
private
columnsMappingParentToThis: Map<IValue, IValue>
private
columnsMappingThisToParent: Map<IValue, { side: "joined" | "restrictive"; col: IValue; }>
private
optional
ignoreDupes: Set<IValue>
private
indexCache: Map<IValue, _IIndex>
private
joinId: number
private
optional
mergeSelect: Selection
private
seqScanExpression: IValue<any>
readonly
columns: IValue<any>[]
readonly
isExecutionWithNoResult: boolean
strategies: JoinStrategy[]

Methods

private
builder(item: any, side: "joined" | "restrictive")
private
fetchAndStrategies(ands: Equality[], otherPredicates: IValue[])
private
fetchEqStrategyOn(a: IValue, b: IValue): Iterable<JoinStrategy>
private
fetchOnStrategies(_on: Expr)
private
fetchUsingStrategies(_using: Name[])
private
merge(item: any)
private
wrap(v: IValue)
entropy(t: _Transaction): number
enumerate(t: _Transaction): Iterable<any>
getColumn(column: string | ExprRef): IValue
getColumn(column: string | ExprRef, nullIfNotFound?: boolean): IValue | nil
getIndex(forValue: IValue<any>): _IIndex<any> | nil
hasItem(value: JoinRaw<TLeft, TRight>): boolean
isOriginOf(a: IValue<any>): boolean
iterateCatastrophicItem(
item: any,
others: any[],
side: "joined" | "restrictive",
)
iterateStrategyItem(
item: any,
strategy: JoinStrategy,
)
selectAlias(alias: string): _IAlias | nil