Skip to main content

Class: SqlJoin

Extends

Constructors

new SqlJoin()

new SqlJoin(joinType: SqlJoinType, target: SqlNode, on: SqlNode): SqlJoin

Parameters

ParameterType
joinTypeSqlJoinType
targetSqlNode
onSqlNode

Returns

SqlJoin

Overrides

SqlNode.constructor

Defined in

packages/verse-core/src/db/sql.ts:1065

Properties

joinType

readonly joinType: SqlJoinType

Defined in

packages/verse-core/src/db/sql.ts:1066


on

readonly on: SqlNode

Defined in

packages/verse-core/src/db/sql.ts:1068


target

readonly target: SqlNode

Defined in

packages/verse-core/src/db/sql.ts:1067

Accessors

binding

get binding(): undefined | SqlBinding

Returns

undefined | SqlBinding

Inherited from

SqlNode.binding

Defined in

packages/verse-core/src/db/sql.ts:102


identifier

get identifier(): SqlIdentifier

Returns

SqlIdentifier

Inherited from

SqlNode.identifier

Defined in

packages/verse-core/src/db/sql.ts:127


nullable

get nullable(): undefined | boolean

Returns

undefined | boolean

Inherited from

SqlNode.nullable

Defined in

packages/verse-core/src/db/sql.ts:110


readable

get readable(): boolean

Returns

boolean

Inherited from

SqlNode.readable

Defined in

packages/verse-core/src/db/sql.ts:114


size

get size(): number

Returns

number

Inherited from

SqlNode.size

Defined in

packages/verse-core/src/db/sql.ts:155


type

get type(): undefined | SqlType

Returns

undefined | SqlType

Inherited from

SqlNode.type

Defined in

packages/verse-core/src/db/sql.ts:106

Methods

accept()

accept<T, S>(visitor: SqlVisitor<T, unknown>, state?: S): T

Type Parameters

Type ParameterDefault type
T-
Sunknown

Parameters

ParameterType
visitorSqlVisitor<T, unknown>
state?S

Returns

T

Overrides

SqlNode.accept

Defined in

packages/verse-core/src/db/sql.ts:1081


apply()

apply(ctor: Newable<SqlNode>): SqlNode

Parameters

ParameterType
ctorNewable<SqlNode>

Returns

SqlNode

Inherited from

SqlNode.apply

Defined in

packages/verse-core/src/db/sql.ts:147


bind()

bind(binding: SqlBinding): SqlNode

Parameters

ParameterType
bindingSqlBinding

Returns

SqlNode

Inherited from

SqlNode.bind

Defined in

packages/verse-core/src/db/sql.ts:119


compare()

compare(op: SqlBinaryOperator, other: SqlNode): SqlBinary

Parameters

ParameterType
opSqlBinaryOperator
otherSqlNode

Returns

SqlBinary

Inherited from

SqlNode.compare

Defined in

packages/verse-core/src/db/sql.ts:151


equals()

equals(other: unknown): boolean

True if this and the other Collection have value equality, as defined by Immutable.is().

Note: This is equivalent to Immutable.is(this, other), but provided to allow for chained expressions.

Parameters

ParameterType
otherunknown

Returns

boolean

Overrides

SqlNode.equals

Defined in

packages/verse-core/src/db/sql.ts:1096


hashCode()

hashCode(): number

Computes and returns the hashed identity for this Collection.

The hashCode of a Collection is used to determine potential equality, and is used when adding this to a Set or as a key in a Map, enabling lookup via a different instance.

const { List, Set } = require('immutable');
const a = List([ 1, 2, 3 ]);
const b = List([ 1, 2, 3 ]);
assert.notStrictEqual(a, b); // different instances
const set = Set([ a ]);
assert.equal(set.has(b), true);

Note: hashCode() MUST return a Uint32 number. The easiest way to guarantee this is to return myHash | 0 from a custom implementation.

If two values have the same hashCode, they are not guaranteed to be equal. If two values have different hashCodes, they must not be equal.

Note: hashCode() is not guaranteed to always be called before equals(). Most but not all Immutable.js collections use hash codes to organize their internal data structures, while all Immutable.js collections use equality during lookups.

Returns

number

Overrides

SqlNode.hashCode

Defined in

packages/verse-core/src/db/sql.ts:1106


identify()

identify(_: (n: SqlNode) => SqlNode): SqlNode

Parameters

ParameterType
_(n: SqlNode) => SqlNode

Returns

SqlNode

Inherited from

SqlNode.identify

Defined in

packages/verse-core/src/db/sql.ts:131


isAggregate()

isAggregate(): boolean

Returns

boolean

Inherited from

SqlNode.isAggregate

Defined in

packages/verse-core/src/db/sql.ts:159


map()

map(mapper: (node: SqlNode) => SqlNode): SqlNode

Parameters

ParameterType
mapper(node: SqlNode) => SqlNode

Returns

SqlNode

Inherited from

SqlNode.map

Defined in

packages/verse-core/src/db/sql.ts:143


reduce()

reduce(): List<SqlNode>

Returns

List<SqlNode>

Inherited from

SqlNode.reduce

Defined in

packages/verse-core/src/db/sql.ts:139


rewrite()

rewrite(rewriter: SqlRewriter): SqlNode

Parameters

ParameterType
rewriterSqlRewriter

Returns

SqlNode

Overrides

SqlNode.rewrite

Defined in

packages/verse-core/src/db/sql.ts:1085


scope()

scope(_: SqlIdentifier): SqlNode

Parameters

ParameterType
_SqlIdentifier

Returns

SqlNode

Inherited from

SqlNode.scope

Defined in

packages/verse-core/src/db/sql.ts:123


uniquify()

uniquify(_: Set<string>, __: (node: SqlNode) => SqlAlias): SqlNode

Parameters

ParameterType
_Set<string>
__(node: SqlNode) => SqlAlias

Returns

SqlNode

Inherited from

SqlNode.uniquify

Defined in

packages/verse-core/src/db/sql.ts:135


withTarget()

withTarget(target: SqlNode): SqlJoin

Parameters

ParameterType
targetSqlNode

Returns

SqlJoin

Defined in

packages/verse-core/src/db/sql.ts:1073