I've been dissecting Skype database main.db for a couple of days, and this is something which I haven't yet figured out. Naturally, this question will be very specifically for Skype main.db structure.(disclaimer)
It seems that all the necessary information that I need are in tables Conversations
, Messages
, Participants
.
Message
table contains actual log that has been said, the recipient(s), timestamp, and the convo_id
foreign key(although not enforced) to connect to a Conversation
which the message belongs to.
Conversation
exists to hold the aggregates of Message
and the Contacts that participate in.
Participants
table works to a many-to-many connector table between the Conversations
table and Contacts
table.
What gets me are Chats
and Chatmembers
table. Chatmembers
works to Chats
what Participants
table works to Conversations
table; connecting Contacts and the conversations-or 'chats'.
What's in Chats
is similar to Conversations
except that it does not have any aggregate to Message
table. It is impossible to map from Messages
table to Chats
table to which the message log(row of Messages
table) belongs.
Chats
and Conversations
share a foreign key, Conversations
table has a column named chat_dbid
which joins to the Chats
table. But there are rows in Conversations
table which have a null chat_dbid
field, and not all rows in Chats
have id
field which corresponds to chat_dbid
field in Chats
table.
The Chats
table is still being updated and I recognize some of the chats-or conversations- I've had recently based on the timestamp and the members in it.
Does anyone know exactly what Chats
table does? Or rather, what's the difference and justification for Chats
table and Conversations
table?
When I looked frantically for this I could find only one like that talked about main.db structure, and it wasn't very helpful.
According to the link Chats
Provides the chats in which the user participated.
and Conversations
Provides a list of the conversations in which the user participated.
What's their terminology about Chats and Conversations? How are they different?
It's been driving me crazy.