Skip to content
# Class: TableSourceCollector

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

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:46

Parameters

selectableOnly

boolean = true

dedupe

boolean = true

Returns

TableSourceCollector

Methods

getTableSources()

getTableSources(): TableSource[]

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

Gets all collected table sources

Returns

TableSource[]


collect()

collect(query): TableSource[]

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

Parameters

query

SqlComponent

Returns

TableSource[]


visit()

visit(arg): void

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

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.