Old CalendarDatabaseSchema
Calendar Database Schema informations
This page contains all informations about the internal structure of appointments and related object and some other useful informations about the content of the tables use by the calendar module.
Table prg_dates
The main table of appointments a detailed description which information are stored in this table is described in the table prg_dates structure.
Field | Type | Description |
---|---|---|
created_from | Text | UID of the user who created this appointment (e.g. 'sally') |
creating_date | Timestamp with time zone | The date when this appointment was created |
changed_from | Text | UID of user who modified this appointment last (e.g. 'peter') |
changing_date | Timestamp with time zone | The date when this appointment was modified last |
user_right | Text | Owner of the of the appointment. Is normally the same like the UID in created_from except in a private shared folder when the appointment was created by another user that is not the owner of the shared folder. |
group_right | Text | Possible values are "s" for appointment with one use and "g" for group appointment |
sid | Text | Unused |
tid | Text | The folder id where the appointment was saved (i.e. the ID of the calendar-folder) |
fid | Number | The folder id where the appointment was saved. If the appointment was stored in a private folder the folder id is always "-1". If the appointment was stored in a public folder the folder id is the id of the public folder and therefore equals with tid |
order_crit | Text | Unused |
timestampfield01 | Timestamp with time zone | The starting time of the appointment.
If field05 doesn't contain the value 'gtz' the normal starting time is saved. e.g. Start date is "10.08.2007 10:00:00+02" the value is saved in this way in the database "2007-08-10 10:00:00+02". Otherwiese if field05 contains the value 'gtz' is only the date without time but with server offset saved. e.g. Start date is "10.08.2007" the value is saved in this way in the database "2007-08-10 00:00:00+02". If the server timezone is "Europe/Berlin" |
timestampfield02 | Timestamp with time zone | The ending time of the appointment. If non recurring appointments are stored this field stores the values of the end time like the start time see information for timestampfield01. The only exception is if a recurring appointment is saved. In this case if the value of timestampfield02 the until date of the recurrence appointment plus the appointment end time. This means in the case we have a start date = 10.08.2007 10:00, an end date = 10.08.2007 11:00 and an until = 16.08.2007 the stored value in the database is "2007-08-16 11:00:00+02". |
intfield01 | Integer | The unique id of the appointment |
intfield02 | Integer | Only used if the appointment was a recurrence or an exception of an recurrence appointment. There are three diffenrent cases: Case one is that is it a normal appointment. In this case is the value of intfield02 NULL. |
intfield03 | Integer | Color label |
intfield04 | Integer | The duration of the appointment in days. Is used if the appointment is a recurrence because in this case the field timestampfield02 stores end date of recurrence |
intfield05 | Integer | The recurrence position of an exception from a recurrence appointment. Must be > 1 or NULL if it is a normal appointment. |
intfield06 | Integer | Not used anymore |
intfield07 | Integer | Unused |
field01 | Text | The subject of the appointment. This field must not be null. |
field02 | Text | Location |
field03 | Text | 'Display As'-Type holds possible values are:
date1 = Reserved |
field04 | Text | Comment/Note |
field05 | Text | Possible values are 'gtz' if the appointment is stored as a full time appointment or NULL if it is a normal appointment. |
field06 | Text | Holds a string representation of the recurrence information. All attributes in this string are seperated with a "|". A detailed description of the attributes is descriped in Recurrence field attributes. This field must not be NULL. |
field07 | Text | Comma-separated list of sequence numbers. Every number is the position of a deleted appointment of the recurrence appointment. |
field08 | Text | Comma-separated list of a id's.
Every id is a reference of a modified exception of the recurrence appointment. |
field09 | Text | Unused |
field10 | Text | Completely unused |
field11 | Text | Completely unused |
field12 | Text | Completely unused |
field13 | Text | Completely unused |
field14 | Text | Completely unused |
field15 | Text | Completely unused |
confidential | Text | The private flag of the appointment. Possible values are yes or no |
confirmnotification | Text | Enables the confirm notification for the user. Possible values are yes or no |
Attribute | Type | Description |
---|---|---|
ds | Text | Possible values no, daily, weekly, monthly, monthly2, yearly or yearly2 |
ds_ends | Long | Milliseconds from 01.01.1970 in UTC. The long descripes the end date of the recurrence appointment. The end date must be a date without times. |
ds_start | Long | Milliseconds from 01.01.1970 in UTC. The long descripes the start date of the recurrence appointment. The start date must be a date without times. |
daily_value | Integer | The recurrence interval for daily appointments |
weekly_value | Integer | The recurrence interval for weekly appointments |
weekly_day_1 | Integer | Can only be the value "1". If this attributes exists the sunday if enabled for the weekly recurrence. |
weekly_day_2 | Integer | Can only be the value "2". If this attributes exists the monday if enabled for the weekly recurrence. |
weekly_day_3 | Integer | Can only be the value "3". If this attributes exists the tuesday if enabled for the weekly recurrence. |
weekly_day_4 | Integer | Can only be the value "4". If this attributes exists the wednesday if enabled for the weekly recurrence. |
weekly_day_5 | Integer | Can only be the value "5". If this attributes exists the thursday if enabled for the weekly recurrence. |
weekly_day_6 | Integer | Can only be the value "6". If this attributes exists the friday if enabled for the weekly recurrence. |
weekly_day_7 | Integer | Can only be the value "7". If this attributes exists the saturday if enabled for the weekly recurrence. |
monthly_value_month | Integer | The recurrence interval for monthly appointments.
Is used in comination with "monthly_value_day" |
monthly_value_day | Integer | Day in month when the appointment is shown |
monthly2_value_month | Integer | The recurrence interval for monthly appointments. Is used in comination with "monthly2_day" and "monthly_recurrency" |
monthly2_day | Integer | Possible values are:
1 = Sunday |
monthly2_reccurency | Integer | Possible values are:
1 = First occurrence |
yearly_value_day | Integer | Day in month when the appointment is shown. Only in combination with ds=yearly and yearly_month |
yearly_month | Integer | The month when the appointment is shown. Possible values are:
0 = January |
yearly2_reccurency | Integer | Possible values are:
1 = First occurrence |
yearly2_day | Integer | Possible values are:
1 = Sunday |
yearly2_month | Integer | Possible values are:
0 = January |
Table: prg_dates_members
This table contains all user participant of the appointment with the attributes displayname, confirm, confirm reason and the personal folder id. Detailed informations about all fields are described in the table below prg_dates_member structure.
Field | Type | Description |
---|---|---|
object_id | Integer | A reference to the appointment id (prg_dates.intfield01) |
member_uid | Text | The UID of user participant or an email address if the participant is an external participant. |
member_name | Text | The display name of the user participant or NULL if the participant is an external participant. |
confirm | Text | Possible values are:
n = no confirmation t = accepted f = declined |
reason | Text | The confirm reason if the user has accepted or declined |
pfid | Integer | The personal folder of the user or a -99 if the participant is an external participant. |
Table: prg_dates_resources
This table contains all resource or resource group participants of an appointment. Detailed informations about all fields in the table prg_dates_resources are described in the table below prg_dates_resources structure.
Field | Type | Description |
---|---|---|
object_id | Integer | A reference to the appointment id (prg_dates.intfield01) |
group_right | Text | The resource group id. If this value is set the field user_right must be null. |
user_right | Text | The resource id. If this value is set the field group_right must be null. |
Table: prg_date_rights
This table contains the user and group participant of an appointment without resolving the members of the group. Detailed informations about all fields in the table prg_date_rights are described in the table below prg_date_rights structure.
Field | Type | Description |
---|---|---|
object_id | Integer | A reference to the appointment id (prg_dates.intfield01) |
group_right | Text | The group id. If this value is set the field user_right must be null. |
user_right | Text | The user id (UID). If this value is set the field group_right must be null. |
Table: prg_date_notification
This table contains the alarm for all user participants of the appointment. Detailed informations about all fields in the table prg_date_notification are described in the table below prg_date_notification structure.
Field | Type | Description |
---|---|---|
object_id | Integer | A reference to the appointment id (prg_dates.intfield01) |
member_uid | Text | The user id (UID). |
notification | Text | The alarm in minutes before the start of the appointment. |
Table: prg_dates_times
This table is not used anymore