Documentation Source Text

Check-in [9e6750c1fc]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Clarification of text in the new optoverview.html section on the LEFT JOIN Optimization.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 9e6750c1fc9dc1a8c44ebaf375b6f7f5ca8e9b640d1a03cda513563f13fd37db
User & Date: drh 2018-03-23 14:53:01.716
Context
2018-03-23
17:42
Updates to the whyc.html and assert.html documentation pages. (check-in: e7ab215c5b user: drh tags: trunk)
14:53
Clarification of text in the new optoverview.html section on the LEFT JOIN Optimization. (check-in: 9e6750c1fc user: drh tags: trunk)
14:46
Update syntax diagrams and expression text to cover the new TRUE and FALSE literals and the IS TRUE and IS FALSE operators. (check-in: dfdf980e6c user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to pages/optoverview.in.
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
  changing the result.  This can happen if all of the following are
  true:

<p>
  <ol>
  <li> The query is not an aggregate
  <li> Either the query is DISTINCT or else the ON or USING clause
       on the LEFT JOIN must constrains the join such that it matches
       only a single row
  <li> The right-hand table of the LEFT JOIN must not be used anywhere
       in the query outside of its own USING or ON clause.
  </ol>

<p>
  LEFT JOIN elimination often comes up when LEFT JOINs are used
  inside of views, and then the view is used in such as way that
  none of the columns of the right-hand table of the LEFT JOIN are







|

|







1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
  changing the result.  This can happen if all of the following are
  true:

<p>
  <ol>
  <li> The query is not an aggregate
  <li> Either the query is DISTINCT or else the ON or USING clause
       on the LEFT JOIN constrains the join such that it matches
       only a single row
  <li> The right-hand table of the LEFT JOIN is not be used anywhere
       in the query outside of its own USING or ON clause.
  </ol>

<p>
  LEFT JOIN elimination often comes up when LEFT JOINs are used
  inside of views, and then the view is used in such as way that
  none of the columns of the right-hand table of the LEFT JOIN are