Lines Matching full:outer
9338 #define JT_LEFT 0x0008 /* Left outer join */
9339 #define JT_RIGHT 0x0010 /* Right outer join */
9340 #define JT_OUTER 0x0020 /* The "OUTER" keyword is present */
9383 int iLeftJoin; /* Memory cell used to implement LEFT OUTER JOIN */
9437 u8 untestedTerms; /* Not all WHERE terms resolved by outer loop */
9457 ** context is searched first. If no match is found, the next outer
9465 ** NameContext list corresponds to searching through successively outer
9479 NameContext *pNext; /* Next outer name context. NULL for outermost */
14182 ** The outer layer memory allocator prevents this routine from
14195 ** The outer layer memory allocator prevents this routine from
50852 ** outer sqlite3_step() wrapper procedure.
59647 ** Because no reference was made to outer contexts, the pNC->nRef
60348 ** outer queries
79358 ** A full outer join is the combination of JT_LEFT and JT_RIGHT.
79376 /* outer */ { 10, 5, JT_OUTER },
79414 "RIGHT and FULL OUTER JOINs are not currently supported");
79483 int isOuterJoin, /* True if this is an OUTER join */
79515 ** the LEFT OUTER JOIN processing logic that this term is part of the
81717 ** run the outer query on that temporary table. This requires two
81719 ** has no indices, the WHERE clause on the outer query cannot be
81734 ** (1) The subquery and the outer query do not both use aggregates.
81736 ** (2) The subquery is not an aggregate or the outer query is not a join.
81738 ** (3) The subquery is not the right operand of a left outer join
81741 ** (4) The subquery is not DISTINCT or the outer query is not a join.
81743 ** (5) The subquery is not DISTINCT or the outer query does not use
81746 ** (6) The subquery does not use aggregates or the outer query is not
81751 ** (8) The subquery does not use LIMIT or the outer query is not a join.
81753 ** (9) The subquery does not use LIMIT or the outer query does not use
81756 ** (10) The subquery does not use aggregates or the outer query does not
81759 ** (11) The subquery and the outer query do not both have ORDER BY clauses.
81764 ** (13) The subquery and outer query do not both use LIMIT
81768 ** (15) The outer query is not part of a compound select or the
81772 ** (16) The outer query is not an aggregate or the subquery does
81792 ** (19) The subquery does not use LIMIT or the outer query does not
81798 ** appear as unmodified result columns in the outer query. But
81801 ** In this routine, the "p" parameter is a pointer to the outer query.
81802 ** The subquery is p->pSrc->a[iFrom]. isAgg is true if the outer query
81808 ** All of the expression analysis must occur on both the outer query and
81813 Select *p, /* The parent or outer SELECT statement */
81815 int isAgg, /* True if outer SELECT uses aggregate functions */
81822 SrcList *pSrc; /* The FROM clause of the outer query */
81824 ExprList *pList; /* The result set of the outer query */
81872 ** not used as the right operand of an outer join. Examples of why this
81875 ** t1 LEFT OUTER JOIN (t2 JOIN t3)
81879 ** (t1 LEFT OUTER JOIN t2) JOIN t3
81884 ** Restriction 12: If the subquery is the right operand of a left outer
81888 ** t1 LEFT OUTER JOIN (SELECT * FROM t2 WHERE t2.x>0)
81892 ** (t1 LEFT OUTER JOIN t2) WHERE t2.x>0
81895 ** effectively converts the OUTER JOIN into an INNER JOIN.
82004 ** in the outer query.
82044 ** the FROM clause of the outer query. Before doing this, remember
82045 ** the cursor number for the original outer query FROM element in
82056 pSrc = pParent->pSrc; /* FROM clause of the outer query */
82070 /* The subquery uses a single slot of the FROM clause of the outer
82072 ** then expand the outer query to make space for it to hold all elements
82079 ** The outer query has 3 slots in its FROM clause. One slot of the
82080 ** outer query (the middle slot) is used by the subquery. The next
82093 ** outer query.
82103 ** references to the iParent in the outer query.
82109 ** \_____________________ outer query ______________________________/
82111 ** We look at every expression in the outer query and every place we see
82155 ** outer query is distinct.
89309 ** if it controls a LEFT OUTER JOIN and it did not originate in the ON
89320 ** of a LEFT OUTER JOIN. In (1), the term is not disabled.
89608 /* If this is the right table of a LEFT OUTER JOIN, allocate and
90159 /* For a LEFT OUTER JOIN, generate code that will record the fact that
90271 ** terms of the WHERE clause that use only terms in that loop and outer
90276 ** OUTER JOINS
90278 ** An outer join of tables t1 and t2 is conceptally coded as follows:
90496 ** algorithm may choose to use t2 for the outer loop, which is a much
90797 /* The "break" point is here, just past the end of the outer loop.
94596 testcase( i==111 ); /* OUTER */
95540 ** * Calls to this routine from Y must block until the outer-most