Calendar database

m (CalendarId)
Line 3: Line 3:
If you want to help editing this article and writing useful informations on fields or new scripts, feel free to copy your own database on your computer and analyze it with some tools like "SQLite Database Browser" (Linux/Debian).
If you want to help editing this article and writing useful informations on fields or new scripts, feel free to copy your own database on your computer and analyze it with some tools like "SQLite Database Browser" (Linux/Debian).
-
== Scripts ==
+
== [[#toc|Scripts]] ==
-
== Structure ==
+
== [[#toc|Structure]] ==
-
=== Tables & fields ===
+
=== [[#toc|Tables & fields]] ===
----
----
-
==== ALARM ====
+
==== [[#toc|ALARM]] ====
----
----
===== Id =====
===== Id =====
Line 20: Line 20:
----
----
-
==== Birthdays ====
+
==== [[#toc|Birthdays]] ====
----
----
===== Id =====
===== Id =====
Line 27: Line 27:
----
----
-
==== Calendars ====
+
==== [[#toc|Calendars]] ====
----
----
===== CalendarId =====
===== CalendarId =====
Line 101: Line 101:
----
----
-
==== ComponentDetails ====
+
==== [[#toc|ComponentDetails]] ====
----
----
===== Id =====
===== Id =====
Line 123: Line 123:
----
----
-
==== Components ====
+
==== [[#toc|Components]] ====
----
----
===== Id =====
===== Id =====
Line 256: Line 256:
----
----
-
==== IDMAP ====
+
==== [[#toc|IDMAP]] ====
----
----
===== LocalId =====
===== LocalId =====
Line 262: Line 262:
----
----
-
==== Instances ====
+
==== [[#toc|Instances]] ====
----
----
===== Id =====
===== Id =====
Line 269: Line 269:
----
----
-
==== Parameters ====
+
==== [[#toc|Parameters]] ====
----
----
===== ComponentId =====
===== ComponentId =====
Line 278: Line 278:
----
----
-
==== RECURSIVE ====
+
==== [[#toc|RECURSIVE]] ====
----
----
===== Id =====
===== Id =====
Line 289: Line 289:
----
----
-
==== TIMEZONE ====
+
==== [[#toc|TIMEZONE]] ====
----
----
===== Location =====
===== Location =====
Line 303: Line 303:
----
----
-
==== Trash ====
+
==== [[#toc|Trash]] ====
----
----
===== ComponentId =====
===== ComponentId =====
Line 312: Line 312:
----
----
-
==== XProperties ====
+
==== [[#toc|XProperties]] ====
----
----
===== ComponentId =====
===== ComponentId =====
Line 319: Line 319:
----
----
-
==== sqlite_sequence ====
+
==== [[#toc|sqlite_sequence]] ====
----
----
===== name =====
===== name =====
Line 325: Line 325:
-
=== Indices ===
+
=== [[#toc|Indices]] ===
==== IDX_ALARM ====
==== IDX_ALARM ====
==== IDX_BIRTHDAYS_DATE ====
==== IDX_BIRTHDAYS_DATE ====

Revision as of 22:28, 21 September 2010

The Maemo 5 calendar database can be found in /home/user/.calendar/calendardb. The goal of this article is to provide enough information on the calendar database in order to implement mass modifying/adding/deleting events verifying some criterias (string match in title, locations, comments for example). It could be easy then to write a small shell script using zenity and sqlite3 to perform this tasks.

If you want to help editing this article and writing useful informations on fields or new scripts, feel free to copy your own database on your computer and analyze it with some tools like "SQLite Database Browser" (Linux/Debian).

Contents

Scripts

Structure

Tables & fields


ALARM


Id
Trigger
Repeat
Duration
Action
CookieId
Attach

Birthdays


Id
DayMonth
Year

Calendars


CalendarId
Name
Colour
0 dark blue
1 green
2 dark pink
3 orange
4 purple
5 yellow
6 white
7 light blue
8 light pink
9 yellow-green
IsVisible
0 not visible
1 visible
IsReadonly
0 writeable
1 not writeable
CalendarType
0 local
1 intelligent
2
3 private
4 synchronized
CalendarTune
<txt> path to the calendar alarm sound
/usr/share/sounds/ui-calendar_alarm_default.aac default alarm
CalendarVersion
CalendarProfile

ComponentDetails


Id
ComponentType
Class
Geo
Priority
DateStamp
Sequence
Transparency
Uid
Url
Attach
Category
Comment
Contact
Related
Resources
Percent
Completed

Components


Id
<int> primary key
CalendarId
<int> calendar identifier associated to the component
ComponentType
1 event
2 task
3 note
4 birthday
Flags
DateStart
<int> UTC start date in Unix Time Format (number of seconds since 01/01/1970)
DateEnd
-1 undefined
<int> UTC end date in Unix Time Format (number of seconds since 01/01/1970)
Summary
<txt> title [event, task, note, birthday]
Location
<txt> location [event]
Description
<txt> comments [event, task, note]
Status
-1 undefined [event, note]
0 uncomplete [task]
1 complete [task]
<yyyy> year [birthday]
Uid
Until
-1 none [event, task, note]
<int> end date of a recurrence [event, birthday]
2145913199 end of calendar / limit of the Unix Time Format
AllDay
0 in limited time [event, task, note]
1 all day [event, birthday]
CreatedTime
<int> date of creation
ModifiedTime
<int> last date of modification
Tzid
<txt> time zone identifier
 :Europe/Paris France time zone
TzOffset
<txt> time zone offset in seconds compared to UTC
7200 France time zone offset (2 hours)

IDMAP


LocalId
ExternalId

Instances


Id
DateStart
DateEnd

Parameters


ComponentId
PropertyType
PropertyValue
ParamName
ParamValue

RECURSIVE


Id
Rrule
Rdates
Exdates
Exrule
RecurrenceId
Rtype

TIMEZONE


Location
Tzid
DtStartStd
DtStartDst
TzOffsetStd
TzOffsetDst
RRuleStd
RRuleDst
TzName
DSTFlag

Trash


ComponentId
CalendarId
ComponentType
DeletedTime
CreatedTime

XProperties


ComponentId
XPropertyName
XPropertyValue

sqlite_sequence


name
seq

Indices

IDX_ALARM

IDX_BIRTHDAYS_DATE

IDX_BIRTHDAYS_IDS

IDX_CALENDAR

IDX_COMPONENT

IDX_DETAILS

IDX_INST

IDX_RECURSIVE

IDX_TIMEZONE

IDX_TRASH