CCL Clauses Syntax Summary

Summerizes the CCL Clauses Syntax.

Cache

CACHE { { CLEAR [ALL] ON source } | { MAXIMUM AGE age} | { MAXIMUM { MEMORY USAGE | SIZE } limit } } [, ...]

Execute Remote Procedure

EXECUTE REMOTE PROCEDURE "service"

Execute Statement Database

EXECUTE STATEMENT DATABASE "service" [[ statements ]]

From: Comma-Separated Syntax

FROM { stream [ [AS] alias] | stream [ [AS] alias] keep_clause [keep_clause] | window_name [ [AS] alias] | ( nested_join [on_clause] ) | xmltable_exp | subquery } [, ...]

xmltable_exp

{ name [AS] alias } | { stream [AS] alias keep_clause [keep_clause] } xmltable_func

xmltable_func

XMLTABLE ( column ROWS xpath COLUMNS { expression AS out_column } [, ...] )

From: Database and Remote Subquery Syntax

FROM { { db_sub | rem_sub} { , | [LEFT OUTER] JOIN } stream [[AS] alias ] } | { stream [[AS] alias ] { , | [RIGHT OUTER] JOIN} { db_sub | rem_sub} }

db_sub

( DATABASE "service" schema_clause [[ statements ]] [cache_clause] ) [AS] alias

rem_sub

( REMOTE QUERY "service" schema_clause ( [ {value [AS] param} [, ...] ] ) [cache_clause] ) [AS] alias

From: Join Syntax

FROM { stream [ [AS] alias] | stream [ [AS] alias] keep_clause [keep_clause] | window_name [ [AS] alias] |nested_join |xmltable_exp | subquery } [ RIGHT | LEFT | FULL ] [OUTER] JOIN { stream [ [AS] alias] | stream [ [AS] alias] keep_clause [keep_clause] | window_name [ [AS] alias] |nested_join |xmltable_exp |subquery }

nested_join

FROM { stream [ [AS] alias] | stream [ [AS] alias] keep_clause [keep_clause] | window_name [ [AS] alias] |nested_join |xmltable_exp | subquery } [ RIGHT | LEFT | FULL ] [OUTER] JOIN { stream [ [AS] alias] | stream [ [AS] alias] keep_clause [keep_clause] | window_name [ [AS] alias] |nested_join |xmltable_exp |subquery } [on_clause]

subquery

( select_clause from_clause [matching_clause] [on_clause] [where_clause] [group_by_clause] [having_clause] [order_by_clause] [output_clause] ) [AS] alias [keep_clause] [keep_clause]

Group By

GROUP BY { column | gettimestamp } [, ...]

Having

HAVING boolean

Insert Into

INSERT INTO name [ (column [, ...]) ]

Insert When

INSERT { WHEN condition THEN name [ (column [, ...]) ] } [, ...] [ ELSE name [ (column [, ...]) ] ]

Keep

time_policy | count_policy

time_policy

KEEP { { [EVERY] interval [OFFSET times_list BY interval] } | FOR interval_col | UNTIL times_list } [ PER column [, ...] | UNGROUPED ]

times_list

time_spec | (time_spec [, ...])

time_spec

' [ SUN | MON | TUE | WED | THU | FRI | SAT ] hour : minute [ : second [. fraction ]] [timezone]'

count_policy

KEEP { [EVERY] count BUCKETS { BY column } [...] } | { { [EVERY] count ROW[S] } | { LAST [ROW] } | { count { LARGEST | SMALLEST } [DISTINCT] ROW[S] { BY column } [...] } | { ALL [ROW[S]] } [ { PER column } [...] | UNGROUPED ] }

Limit

LIMIT count [ROW[S]] [ OFFSET skip [ROW[S]] ] [ PER column [ ... ] ]

Matching

MATCHING [ ONCE [ ( event [, ...] ) ] [ interval : pattern ] [ on_clause ]

pattern

[!] { event | ( pattern ) | [ interval : pattern ] } [ {&& | || | ,} [!] { event | ( pattern ) | [ interval : pattern ] } ] [...]

On: Trigger Syntax

ON name [ [AS] alias ]

On: Join Syntax

ON inner_condition | source.column = source.column [AND ...]

On: Pattern Matching Syntax

ON {source.column = source.column [= ...] } [AND ...]

Order By

ORDER BY column [ ASC[ENDING] | DESC[ENDING] ] [, ...]

Otherwise Insert

OTHERWISE INSERT value [AS column] [, ...]

Output

OUTPUT { [ALL] EVERY { count ROW[S] | interval [OFFSET BY interval] } } | { {AFTER | FIRST WITHIN} {count ROW[S] | interval} } | { [ALL] AT times_list } [ UNGROUPED | PER column [...] ]

Schema

SCHEMA name | 'file' | ( column type [, ...] )

Select

SELECT { expression [AS column | alias | parameter ] } [, ...]

Set: Set Variable Statement Syntax

SET name = value [, ...]

Set: Window Syntax

SET { value AS column [, ...] } | { column = value [, ...] }

Update

UPDATE window[ [AS] alias ]

Values

VALUES ( column_expression [, ...] ) [, ...]

When

WHEN trigger

Where

WHERE condition