Subject: Re: CAP ABNF: queryc is only used in 1 command?

From: [email-masked]
Date: Thu, 12 Jun 2003 14:25:51 -0400

I wrote on 05/29/2003 05:52:12 PM:
> Unless I am mistaken I can only find 1 CAP command that uses the 
> CAP-QL in the ABNF.  That is the CREATE command. 
[Snip, snip]
> So this makes me think that ALL OTHER CAP commands are unable to use
> VQUERYs.  Clearly this is wrong but perhaps Im just not reading the 
> ABNF properly.  Anyone else see this? 

Hmm, no responses either way. 

Can anyone else either confirm this suspicion or show me where I missed it 
in the ABNF?  Anyone??  (Out of ~300+ folkson the list there has to be 
someone who can chip in...)

Bruce
===========================================================================
Bruce Kahn                                INet: 
[email-masked]
Messaging & Collaboration                 Phone: 978.399.6496
IBM Software Group                         FAX: and nothing but the FAX...
Standard disclaimers apply, even where prohibited by law...
Warning: Dates in Calendar are closer than they appear.

---

From: Doug Royer <[email-masked]>
Date: Thu, 12 Jun 2003 14:07:28 -0600

The string 'CAP-QL' is not in CAP.

[email-masked] wrote:
> Can anyone else either confirm this suspicion or show me where I missed 
> it in the ABNF?  Anyone??  (Out of ~300+ folkson the list there has to 
> be someone who can chip in...)

-- 

  Doug Royer                     |   http://INET-Consulting.com
  -------------------------------|-----------------------------
  [email-masked]                 | Office: (208)612-INET
  http://Royer.com/People/Doug   |    Fax: (866)594-8574
                                 |   Cell: (208)520-4044

                 We Do Standards - You Need Standards

---

From: [email-masked]
Date: Thu, 19 Jun 2003 16:39:09 -0400

> The string 'CAP-QL' is not in CAP.

I did say CAP-QL but that was NOT the cited ABNF.  Here the relevant 
snippet in case you cant find it:

Unless I am mistaken I can only find 1 CAP command that uses the CAP-QL in 
the ABNF.  That is the CREATE command. 

The way I got to this conclusion is by following the ABNF.  I started with 
6.1.1. CAL-QUERY Value Type: 

  cal-query  = "SELECT"   SP   cap-val  SP

Bruce

---

From: [email-masked]
Date: Thu, 19 Jun 2003 16:37:04 -0400

> The string 'CAP-QL' is not in CAP.

Finally I agree w/Doug on something...  I dont know where I got CAP-QL 
from, probably reading an earlier draft (the original query lingua Frank & 
Doug proposed was CAP-QL because it wasnt, and still isnt, SQL).

My original posting was about cal-query and that most definitely IS in the 
draft.  Go reread my original posting and perhaps you can reply to it...

Bruce

---

From: Doug Royer <[email-masked]>
Date: Thu, 19 Jun 2003 15:07:06 -0600

'cal-query' is used in  properties (QUERY , RESTRICTION, SCOPE) , not sure
what you mean by only in one command.

[email-masked] wrote:
> Unless I am mistaken I can only find 1 CAP command that uses the CAP-QL 
> in the ABNF.  That is the CREATE command.
> 
> The way I got to this conclusion is by following the ABNF.  I started 
> with 6.1.1. CAL-QUERY Value Type:
> 
> Bruce Kahn                                INet: [email-masked]

--

---

From: [email-masked]
Date: Fri, 20 Jun 2003 18:28:39 -0400

> what you mean by only in one command.

How many 'commands' (under Section 10.x) use cal-query in them?  That is, 
what commands can use QUERY in them? 

Just 1: CREATE (by create-object containing create-comp wich contains 
queryc which containes queryprop which is the only ABNF to contain query 
in it; the ABNF query that is).  That means NO OTHER COMMAND can use a 
BEGIN:VQUERY...END:VQUERY in it!  Of course that assumes you can find 
where create-object is used ANYWHERE in the draft other than where its 
defined:

ABNF for a "CREATE" object is: 

create-object = "BEGIN" ":" "VCALENDAR" CRLF
              ; If 'calprops' contain the "METHOD" property
... 

DELETE does not have the ability to have a cal-query in it.  Neither does 
MOVE.  Neither does any other command where you may expect to be able to 
search for any particular entry or set of entires. 

That means you have no way in the current ABNF to DELETE the VEVENT with 
UID:[email-masked].  It also means the example under the DELETE command 
is wrong:

Example to delete a "VEVENT" component with "UID" value of 'abcd12345' 
from the calendar "relcald-22" from the current CS: 

C: Content-Type: text/calendar
C:
C: BEGIN:VCALENDAR
C: TARGET:relcalid-22
C: CMD;ID:"random but unique per CUA":DELETE
C: BEGIN:VQUERY
C: QUERY:SELECT VEVENT FROM VAGENDA WHERE UID = 'abcd12345'
C: END:VQUERY
C: END:VCALENDAR

The same goes for the example under MODIFY:

  Example:

  C: Content-Type: text/calendar
  C:
  C: BEGIN:VCALENDAR
  C: VERSION:2.0
  C: PRODID:-//someone's prodid
  C: TARGET:my-cal
  C: CMD:ID=unique-mod:MODIFY
  C: BEGIN:VQUERY                   <- Query to select data set.
  C: QUERY:SELECT * FROM VEVENT WHERE UID = 'unique-58'
  C: END:VQUERY
  C: BEGIN:VEVENT                   <- Start of old data.
 
and the list goes on.

Commands that cannot select any data sets to act on are really useful. I 
was hoping it was just me not seeing it in the ABNF but I doubt that 
now...  This is not the first time Ive asked yet it seems that noone else 
has attempted to confirm that all the ABNF nodes are used in all the right 
places still.

Bruce