Skip to content
# Class: TableSourceCollector

Defined in: packages/core/src/transformers/TableSourceCollector.ts:37

A visitor that collects all table source names from a SQL query structure.

When selectableOnly is true (default behavior):

  • Includes only table sources from FROM and JOIN clauses
  • Excludes inline queries, subqueries, and CTEs

When selectableOnly is false:

  • Scans all parts of the query including WITH clauses, subqueries, etc.
  • Collects all table sources from the entire query
  • Excludes tables that are managed by CTEs

When dedupe is true (default behavior), repeated table sources are collapsed by their qualified name; pass dedupe=false to retain duplicates.

For UNION-like queries, it scans both the left and right parts.

Implements ​

Constructors ​

Constructor ​

new TableSourceCollector(selectableOnly, dedupe): TableSourceCollector

Defined in: packages/core/src/transformers/TableSourceCollector.ts:47

Parameters ​

selectableOnly ​

boolean = true

dedupe ​

boolean = true

Returns ​

TableSourceCollector

Methods ​

getTableSources() ​

getTableSources(): TableSource[]

Defined in: packages/core/src/transformers/TableSourceCollector.ts:118

Gets all collected table sources

Returns ​

TableSource[]


collect() ​

collect(query): TableSource[]

Defined in: packages/core/src/transformers/TableSourceCollector.ts:144

Parameters ​

query ​

SqlComponent

Returns ​

TableSource[]


visit() ​

visit(arg): void

Defined in: packages/core/src/transformers/TableSourceCollector.ts:154

Main entry point for the visitor pattern. Implements the shallow visit pattern to distinguish between root and recursive visits.

Parameters ​

arg ​

SqlComponent

Returns ​

void

Implementation of ​

SqlComponentVisitor.visit

Released under the MIT License.