[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: VSCHEDULE - Table for queries or not?
> Date: Mon, 19 Jul 1999 18:45:00 -0700
> From: sman@netscape.com (Steve Mansour)
> X-Accept-Language: en
> To: CalSched working group <ietf-calendar@imc.org>
> Subject: VSCHEDULE - Table for queries or not?
> List-Archive: <http://www.imc.org/ietf-calendar/mail-archive/>
> List-Unsubscribe: <mailto:ietf-calendar-request@imc.org?body=unsubscribe>
>
> In Oslo, we discussed a VSCHEDULE table. It is described in the CAP
> draft. Conceptually, it can be thought of as the place where
> "scheduling" messages are kept until they handled or booked.
>
> One issue that came up is whether or not VSCHEDULE should be used as a
> table in a query. That is, to query for components that have been
> scheduled (not booked) there are a couple of approaches. One way would
> look something like this:
>
> BEGIN:VQUERY
> QUERY:SELECT (*);
> FROM (*);
> WHERE (METHOD = REQUEST OR METHOD = PUBLSH OR
> METHOD = ADD OR METHOD = CANCEL OR METHOD = REFRESH OR
> METHOD = COUNTER OR METHOD = DECLINECOUNTER);
> END:VQUERY
Or more simply:
BEGIN:VQUERY
QUERY:SELECT (*);
FROM (*);
WHERE (METHOD != CREATE);
END:VQUERY
> A couple of issues with with this query are:
>
> 1. where are things like REFRESH messages kept? They aren't VEVENTs or
> VTODOs or VJOURNALs.
Why not in the same table?
> 2. it is verbose (not a big deal, but keeping things concise is a good
> goal)
The only "booked" appointment was "CREATE" (I think).
> Another way to do this might be:
>
> BEGIN:VQUERY
> QUERY:SELECT (*);
> FROM (VSCHEDULE_TABLE);
> END:VQUERY
>
> If we go this route, it means that VSCHEDULE gets a more formal role in
> our schema. It addresses the issue of where scheduling messages go until
> they are handled. But it was not clear that people wanted this.
It also means that the number of tables double. Don't forget that
a VEVENT is not just one table, its a collection of property and
x-component tables.
> Are there other issues with these approaches? Which approach do you
> prefer? Is there yet another way?
One set of tables. Use METHOD != CREATE or METHOD == CREATE.
> -Steve