Documentation Source Text

Check-in [fd152b335d]
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 | branch-3.26
Files: files | file ages | folders
SHA3-256:fd152b335d2af68862c50a837bceadfff301d308d5ce59a8e7b2fdc838cd117d
User & Date: drh 2019-01-09 19:56:52
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-26
12:00
Fix typo on the security.html webpage. check-in: 2ffc105f81 user: drh tags: branch-3.26
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