JoinTables

JoinTables

Handle the various JOIN table types.

Constructor

new JoinTables()

Source:

Members

bindVariables

Source:
Properties:
Type Description
BindData

derivedTable

Source:
Properties:
Type Description
DerivedTable

result table after tables are joined

joinTableIDs

Source:
Properties:
Type Description
JoinTablesRecordIds

tableFields

Source:
Properties:
Type Description
TableFields

tableInfo

Source:
Properties:
Type Description
Map.<String, Table>

Methods

getJoinedTableInfo() → {Table}

Description:
  • Get derived table after tables are joined.

Source:
Returns:
Type
Table

isDerivedTable() → {Boolean}

Description:
  • Does this object contain a derived (joined) table.

Source:
Returns:
Type
Boolean

joinCondition(conditions, leftTableName) → {MatchingJoinRecordIDs}

Description:
  • Find the record ID's from table that match specified conditions.

Source:
Parameters:
Name Type Description
conditions Object
leftTableName String
Returns:
Type
MatchingJoinRecordIDs

joinNextTable(astJoin, leftTableName)

Description:
  • Updates derived table with join to new table.

Source:
Parameters:
Name Type Description
astJoin Object
leftTableName String

load(ast)

Description:
  • Join the tables and create a derived table with the combined data from all.

Source:
Parameters:
Name Type Description
ast Object

AST list of tables to join.

resolveCondition(logic, astConditions, joinType, rightTableName, leftTableName) → {MatchingJoinRecordIDs}

Description:
  • Apply logic and conditions between the two tables to find the record ID's from LEFT and RIGHT tables.

Source:
Parameters:
Name Type Description
logic String

AND, OR

astConditions Object
joinType String

inner, full, left, right

rightTableName String

right join table.

leftTableName String

left join table name

Returns:
Type
MatchingJoinRecordIDs

setBindVariables(bindVariables) → {JoinTables}

Description:
  • Add data set on command line to be used when evaulating SELECT WHERE

Source:
Parameters:
Name Type Description
bindVariables BindData

Bind variable data.

Returns:
Type
JoinTables

setPrimaryTableInfo(primaryTableInfo) → {JoinTables}

Description:
  • The "FROM" table.

Source:
Parameters:
Name Type Description
primaryTableInfo Table
Returns:
Type
JoinTables

setTableFields(tableFields) → {JoinTables}

Description:
  • Add info about all known tables and their fields.

Source:
Parameters:
Name Type Description
tableFields TableFields
Returns:
Type
JoinTables

setTableInfo(tableInfo) → {JoinTables}

Description:
  • Info for all tables referenced in join.

Source:
Parameters:
Name Type Description
tableInfo Map.<String, Table>

Map of table info.

Returns:
Type
JoinTables

(static) andJoinIds(recIds) → {Array}

Description:
  • AND logic applied to the record ID's

Source:
Parameters:
Name Type Description
recIds Array
Returns:
Type
Array

(static) joinTables(leftRightFieldInfo, joinTable, recIds) → {DerivedTable}

Description:
  • Join two tables and create a derived table that contains all data from both tables.

Source:
Parameters:
Name Type Description
leftRightFieldInfo LeftRightJoinFields

left table field of join

joinTable Object

AST that contains join type.

recIds MatchingJoinRecordIDs
Returns:
  • new derived table after join of left and right tables.
Type
DerivedTable

(static) orJoinIds(recIds) → {Array}

Description:
  • OR logic applied to the record ID's

Source:
Parameters:
Name Type Description
recIds Array
Returns:
Type
Array