Before you will be able to use Tigase Message Archiving Component and store messages in particular database you need to initialize this database. We provide few schemas for this component for MySQL, PostgreSQL, SQLServer and DerbyDB.
They are placed in database/
directory of installation package and named in dbtype-message-archiving-version.sql
, where dbname
in name of database type which this schema supports and version
is version of a Message Archiving Component for which this schema is designed.
You need to manually select schema for correct database and component and load this schema to database. For more information about loading database schema look into the section called “Database Preparation” section of ???
Database schema for our components may change between versions and if so it needs to be updated before new version may be started. To upgrade schema please follow instructions from the section called “Preparation of database” section.
If you use SNAPSHOT builds then schema may change for same version as this are versions we are still working on.
Tigase Message Archiving component uses few tables and stored procedures. To make it easier to find them on database level they are prefixed with tig_ma_
.
This table stores all jids related to stored messages, ie. from to
and from
attributes of archived stanzas.
Field | Description | Comments |
---|---|---|
jid_id | Database ID of a JID | |
jid | Value of a bare JID | |
jid_sha1 | SHA1 value of lowercased bare JID | Used for proper bare JID comparison during lookup. (N/A to PostgreSQL schema) |
domain | Domain part of a bare JID | Stored for easier lookup of messages owned by users of a particular domain |
Table stores archived messages.
Field | Description | Comments |
---|---|---|
msg_id | Database ID of a message | |
owner_id | ID of a bare JID of a message owner | References |
buddy_id | ID of a bare JID of a message recipient/sender (different than owner) | References |
buddy_res | Resource part of a message recipient/sender JID | |
ts | Timestamp of a message | Timestamp of archivization or delayed delivery |
direction | Direction of message | 0 - sent by owner 1 - received by owner |
type | Message type | Value of message |
body | Body of a message | |
msg | Serialized message | |
stanza_hash | Hash of message parts | It is used to make sure that message is stored only once |
Table stores tags of archived messages. It stores one tag for many messages using tig_ma_msgs_tags
to store relation between tag and a message.
Field | Description | Comments |
---|---|---|
tag_id | Database ID of a tag | |
owner_id | ID of a bare JID of a tag owner | ID of bare JID of owner for which messages with this tag were archived |
tag | Actual tag value |