[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
CAL-QUERY definition
Hi,
Section 6.1.1 of cap draft 08
The formal definition has a number of things that are not used in it:
cauprops
capcprops
uprop-list
cprop-list
There is not a cap-using, so cap-local cannot be defined so should be
removed?
The querycomp and queries seem to be defining a VQUERY which is done in 8.6
and should also be removed.
If I am correct, it should look more like this:
Formal Definition: The value type is defined by the following
notation:
cal-query = "SELECT" SP cap-cols SP
"FROM" SP comp-name SP
"WHERE" SP cap-expr
/ "SELECT" SP cap-cols SP
"FROM" SP comp-name
cap-cols = cap-col / ( cap-cols "," cap-col)
/ "*"
cap-col = ; Any property name found in the component
; named in the comp-name used in the FROM clause.
;
; SELECT ORGANIZER FROM VEVENT ...
;
; OR
;
; A component name of an existing component contained
; inside of the comp-name used in the FROM clause.
;
; SELECT VALARM FROM VEVENT ...
; NOTE: there is NO space around the "," on
; the next line
comp-name = "VEVENT" / "VTODO" / "VJOURNAL"
/ "VTIMEZONE" / "VALARM" / "VFREEBUSY"
/ "VAGENDA" / "VCAR" / "VCALSTORE"
/ "VQUERY" / iana-name / x-comp
cap-expr = "(" cap-expr ")"
/ cap-term
cap-term = cap-expr SP cap-logical SP cap-expr
/ cap-factor
cap-logical = "AND" / "OR"
cap-factor = cap-colval SP cap-oper SP col-value
/ cap-colval SP "NOT LIKE" SP col-value
/ cap-colval SP "LIKE" SP col-value
/ cap-colval SP "IS NULL"
/ cap-colval SP "IS NOT NULL"
/ col-value SP "NOT IN" cap-colval"
/ col-value SP "IN" cap-colval"
cap-colval = cap-col
/ "PARAM(" cap-col "," cap-param ")"
cap-param = ; Any parameter that may be contained in the cap-col
; in the supplied PARAM() function
col-value = col-literal
/ "STATE()"
/ "SELF()"
/ "CAL-OWNERS()"
/ "CAL-OWNERS(" cal-address ")"
/ "CURRENT-TARGET()"
cal-address = ; A CALID as define by CAP
col-literal = "'" literal-data "'"
literal-data = ; Any data that matches the value type of the
; column that is being compared. That is you can
; not compare PRIORITY to "some string" because
; PRIORITY has a value type of integer. If it is
; not preceded by the LIKE element, any '%' and '_'
; characters in the literal data are not treated as
; wildcard characters and do not have to be backslash
; escaped.
;
; OR
;
; If the literal-data is preceded by the LIKE
; element it may also contain the '%' and '_'
; wildcard characters. And if the literal data
; that is comparing contains any '%' or '_'
; characters, they MUST BE backslash escaped as
; described in the notes below in order for them not
; to be treated as wildcard characters.
cap-oper = "="
/ "!="
/ "<"
/ ">"
/ "<="
/ ">="
SP = ; A single white space ascii character
; (value in HEX %x20).
x-comp = ; As defined in RFC 2445.
iana-name = ; As defined in RFC 2445.
Mark Davidson