Module

x/pg_mem/transforms/join.ts>JoinSelection

An in memory postgres DB instance for your unit tests
Latest
class JoinSelection
import { JoinSelection } from "https://dotland.deno.dev/x/pg_mem@3.0.2/transforms/join.ts";

Constructors

new
JoinSelection(
restrictive: _ISelection,
joined: _ISelection,
innerJoin: boolean,
)

Properties

private
_columns: IValue[]
private
building: boolean
private
columnsMappingParentToThis: Map<IValue, IValue>
private
optional
ignoreDupes: Set<IValue>
private
indexCache: Map<IValue, _IIndex>
private
indexOnRestrictingTableByValue: Map<IValue, _IIndex>
private
joinId: number
private
optional
mergeSelect: Selection
private
seqScanExpression: IValue
readonly
columns: IValue[]
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)
buildItem(l: Row, r: Row)
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): _IIndex | nil
hasItem(value: JoinRaw): boolean
isOriginOf(a: IValue): boolean
iterateCatastrophicItem(
item: any,
others: any[],
side: "joined" | "restrictive",
)
iterateStrategyItem(
item: any,
strategy: JoinStrategy,
)
selectAlias(alias: string): _IAlias | nil