MCPcopy Create free account
hub / github.com/TanStack/db / collectDirectCollectionAliases

Function collectDirectCollectionAliases

packages/db/src/query/compiler/index.ts:961–981  ·  view source on GitHub ↗

* Collects aliases used for DIRECT collection references (not subqueries). * Used to validate that subqueries don't reuse parent query collection aliases. * Only direct CollectionRef aliases matter - QueryRef aliases don't cause conflicts.

(query: QueryIR)

Source from the content-addressed store, hash-verified

959 * Only direct CollectionRef aliases matter - QueryRef aliases don't cause conflicts.
960 */
961function collectDirectCollectionAliases(query: QueryIR): Set<string> {
962 const aliases = new Set<string>()
963
964 // Collect FROM alias only if it's a direct collection reference
965 for (const source of getFromSources(query.from)) {
966 if (source.type === `collectionRef`) {
967 aliases.add(source.alias)
968 }
969 }
970
971 // Collect JOIN aliases only for direct collection references
972 if (query.join) {
973 for (const joinClause of query.join) {
974 if (joinClause.from.type === `collectionRef`) {
975 aliases.add(joinClause.from.alias)
976 }
977 }
978 }
979
980 return aliases
981}
982
983/**
984 * Validates the structure of a query and its subqueries.

Callers 1

validateQueryStructureFunction · 0.85

Calls 2

getFromSourcesFunction · 0.70
addMethod · 0.45

Tested by

no test coverage detected