MCPcopy Index your code
hub / github.com/TanStack/db / applyRecursiveOptimization

Function applyRecursiveOptimization

packages/db/src/query/optimizer.ts:357–376  ·  view source on GitHub ↗

* Applies recursive predicate pushdown optimization. * * @param query - The QueryIR to optimize * @returns A new QueryIR with optimizations applied

(query: QueryIR)

Source from the content-addressed store, hash-verified

355 * @returns A new QueryIR with optimizations applied
356 */
357function applyRecursiveOptimization(query: QueryIR): QueryIR {
358 // First, recursively optimize any existing subqueries
359 const subqueriesOptimized = {
360 ...query,
361 from: optimizeNestedFrom(query.from),
362 join: query.join?.map((joinClause) => ({
363 ...joinClause,
364 from:
365 joinClause.from.type === `queryRef`
366 ? new QueryRefClass(
367 applyRecursiveOptimization(joinClause.from.query),
368 joinClause.from.alias,
369 )
370 : joinClause.from,
371 })),
372 }
373
374 // Then apply single-level optimization to this query
375 return applySingleLevelOptimization(subqueriesOptimized)
376}
377
378/**
379 * Applies single-level predicate pushdown optimization (existing logic)

Callers 2

optimizeQueryFunction · 0.85
optimizeNestedFromFunction · 0.85

Calls 3

optimizeNestedFromFunction · 0.85
mapMethod · 0.45

Tested by

no test coverage detected