Documentation Source Text

Check-in [83da33aabc]
Login

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

Overview
Comment:Fixes to the syntax diagrams for window functions: The parentheses were missing around the window-defn for the WINDOW clause.
Timelines: family | ancestors | trunk
Files: files | file ages | folders
SHA3-256:83da33aabcfadc5e94578d53be63ac9e96b4dbb6630800002f8327a258b8a1cc
User & Date: drh 2019-01-09 19:54:23
Context
2019-01-09
19:56
Fixes to the syntax diagrams for window functions: The parentheses were missing around the window-defn for the WINDOW clause. Leaf check-in: fd152b335d user: drh tags: branch-3.26
19:54
Fixes to the syntax diagrams for window functions: The parentheses were missing around the window-defn for the WINDOW clause. Leaf check-in: 83da33aabc user: drh tags: trunk
2018-12-14
19:01
Fix typos in the defense-against-dark-arts document. check-in: 94ad3e51e7 user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to art/syntax/bubble-generator-data.tcl.

276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
...
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
...
550
551
552
553
554
555
556
557
558
559
            }
     }
     {line {optx {optx NOT} EXISTS} ( select-stmt )}
     {line CASE {optx expr} {loop {line WHEN expr THEN expr} {}}
           {optx ELSE expr} END}
     {line raise-function}
     {line /window-func ( {or {line {toploop expr ,}} {} *} ) 
           {opt filter} OVER {or {line ( window-defn )} /window-name}}
  }
  raise-function {
     line RAISE ( 
           {or IGNORE
               {line {or ROLLBACK ABORT FAIL} , /error-message }
           } )
  }
................................................................................
      {line /* {loop nil /anything-except-*/}
           {or */ /end-of-input}}
  }
  filter {
    line FILTER ( WHERE expr )
  }
  window-defn {
    line {opt PARTITION BY {loop expr ,}}
         {opt ORDER BY {loop ordering-term ,}}
         {opt frame-spec}
  }
  frame-spec {
    line {or RANGE ROWS} {or
       {line BETWEEN {or {line UNBOUNDED PRECEDING}
                         {line expr PRECEDING}
                         {line CURRENT ROW}
                         {line expr FOLLOWING}
................................................................................
    }
  }
  function-invocation {
     line /function-name ( {or {line {optx DISTINCT} {toploop expr ,}} {} *} )
  }
  window-function-invocation {
    line /window-func ( {or {line {toploop expr ,}} {} *} ) 
         {opt filter} OVER {or {line ( window-defn )} /window-name}
  }
}







|







 







|
|
|







 







|


276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
...
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
...
550
551
552
553
554
555
556
557
558
559
            }
     }
     {line {optx {optx NOT} EXISTS} ( select-stmt )}
     {line CASE {optx expr} {loop {line WHEN expr THEN expr} {}}
           {optx ELSE expr} END}
     {line raise-function}
     {line /window-func ( {or {line {toploop expr ,}} {} *} ) 
           {opt filter} OVER {or window-defn /window-name}}
  }
  raise-function {
     line RAISE ( 
           {or IGNORE
               {line {or ROLLBACK ABORT FAIL} , /error-message }
           } )
  }
................................................................................
      {line /* {loop nil /anything-except-*/}
           {or */ /end-of-input}}
  }
  filter {
    line FILTER ( WHERE expr )
  }
  window-defn {
    stack {line ( {opt PARTITION BY {loop expr ,}}}
          {opt ORDER BY {loop ordering-term ,}}
          {line {optx frame-spec} )}
  }
  frame-spec {
    line {or RANGE ROWS} {or
       {line BETWEEN {or {line UNBOUNDED PRECEDING}
                         {line expr PRECEDING}
                         {line CURRENT ROW}
                         {line expr FOLLOWING}
................................................................................
    }
  }
  function-invocation {
     line /function-name ( {or {line {optx DISTINCT} {toploop expr ,}} {} *} )
  }
  window-function-invocation {
    line /window-func ( {or {line {toploop expr ,}} {} *} ) 
         {opt filter} OVER {or window-defn /window-name}
  }
}

Changes to art/syntax/expr.gif.

cannot compute difference between binary files

Changes to art/syntax/frame-spec.gif.

cannot compute difference between binary files

Changes to art/syntax/select-core.gif.

cannot compute difference between binary files

Changes to art/syntax/select-stmt.gif.

cannot compute difference between binary files

Changes to art/syntax/window-defn.gif.

cannot compute difference between binary files

Changes to art/syntax/window-function-invocation.gif.

cannot compute difference between binary files