[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CAP-13: Another CAL-QUERY / VAGENDA question




Doug responeded on 06/04/2004 12:05:36 PM:
> > Can anyone point me to the parts I missing that describe "*.*"?  I
> > also question the need/use of "*.*" for VAGENDA and VCALSCALE.  Why
> > aren't the same rules from Section 6.1.1 sufficient for VAGENDA and
> > VCALSCALE but they are sufficient for all other components that have
> > the same nesting structure?
[Snip, snip]

> We need a way to get top level properties and not contained components.
> And we need to way to get everything. '*' vs '*.*' just strings as far
> as I am concerned.

Ahh, now I see.  You dont need it for _retrieving_ top level properties, you want it for top level property _discovery_ w/o having to download the other subcomponents.  

Thats all fine I think but there is _no_ text in CAP that actually _defines_ this explicitly.  There are 2 uses of the phrase "the special '*.*' value" but there is no actual CAP text that describes this special value or its meaning (and how its different from "*").  Thats my point here.

Actually, I think there has been some misunderstanding about "*.*" as well.  In CAP-13 I read:

   To fetch all of the properties from the targeted VAGENDA and all of
   the contained components, use the special '*.*' value:

   SELECT *.* FROM VAGENDA

but how is this NOT equivalent to how "*" is used in Section 6.1.1?  That is:

   SELECT * FROM VAGENDA

should be the same equivalent as "(d) SELECT * FROM VEVENT" which is interpreted as:

       (d) Selects every property and every component
           that is in any "VEVENT" component...

They sure sound the same to me.  Yet I think Doug is saying that the "*" case for VAGENDAs and VCALSTOREs is not the same; that "*.*" is the proper equivalent.

There is also nothing in Section 6.1.1 that exempts VCALSTOREs and VAGENDAs from bullet item 7 that describes the use of "."  nor is there any text at all in CAP actually defining what the meaning of "*" is in CAP-QL (see other thread).

I can find no text in CAP-13 that says that "*" for VAGENDAs and VCALSTOREs is just properties and no subcontainers.  If this had been part of the changes we made over time, it got lost from CAP and needs to be put back (or in).  In addition, there needs

It is also worth noting that the "*.*" is NOT necessary for property retrieval, merely for discovery.  However its not _strinctly_ necessary since discovery can be done by using "*", you just have the added mush to wade thru.

So, to summarize if I can:

1: There is no text in CAP-13 that actually defines "*."* for VCALSTORE and VAGENDA.  There are 2 references to it but no actual defintion of it.
2: The addition of "*.*" for VCALSTORE and VAGENDA are strictly for top level property discovery.  It is not necessary for actual top level property retrieval.
3: There is text in CAP-13 that makes "*.*" for VAGENDAs / VCALSTOREs equivalent to using "*" on all other components (including VAGENDAs / VCALSTOREs).  
4: There was intent in the past to redefine "*" for VAGENDA / VCALSTORE to mean "no subcontainers, properties only" but we have no actual text to this effect.

As previous WG flare ups have shown, we should not leave this kind of intent unwritten in the draft for future readers to intuit.   I think we need to fill in some of the gaps with actual text expressly codifying our intentions.  Anyone averse to clearing this up?

Bruce
===========================================================================
Bruce Kahn                                INet: Bruce_Kahn@xxxxxxxxxxxxxxxx
Messaging & Collaboration                 Phone: 978.399.6496
IBM Software Group                         FAX: and nothing but the FAX...
Standard disclaimers apply, even where prohibited by law...